36 điểm bởi GN⁺ 2026-03-09 | 1 bình luận | Chia sẻ qua WhatsApp
  • Gần đây, trong hệ sinh thái AI agent, hệ thống tệp lại được chú ý khi nổi lên như một phương tiện quản lý ngữ cảnh bền vững khác với cơ sở dữ liệu
  • Context window của LLM gần giống một bảng trắng liên tục bị xóa hơn là bộ nhớ bền vững, và hệ thống tệp là phương tiện lưu trữ lâu dài đơn giản nhất để giải quyết điều này
  • Claude Code, Cursor và các công cụ tương tự hiện thực hóa trí nhớ dài hạn thông qua lưu trữ ngữ cảnh dựa trên tệp, với các tệp như CLAUDE.md, aboutme.md đóng vai trò chứa danh tính của agent và thông tin môi trường
  • Quản lý ngữ cảnh dựa trên hệ thống tệp đang nổi lên như chủ đề trọng tâm, khi các công ty lớn như LlamaIndex, LangChain, Oracle, Archil lần lượt công bố bài viết và sản phẩm liên quan
  • Trong bối cảnh các tệp ngữ cảnh cho agent như CLAUDE.md, AGENTS.md, .cursorrules mọc lên ngày càng nhiều, định dạng Agent Skills (SKILL.md) của Anthropic đã được Microsoft, OpenAI, GitHub, Cursor... chấp nhận, qua đó đạt được tính tương tác
  • Theo nghiên cứu của ETH Zürich, các tệp ngữ cảnh có thể lại làm giảm tỷ lệ thành công của tác vụ và tăng chi phí suy luận hơn 20%, nên chỉ nên mô tả những yêu cầu tối thiểu cần thiết
  • Tệp không bị ràng buộc vào một ứng dụng cụ thể, và trong thời đại AI agent, chúng đang trở thành giao diện mở cho phép chuyển đổi giữa các công cụ, kết hợp workflow và duy trì tính liên tục

Everyone is talking about files : Mọi nơi đều đang nói về tệp

Context window không phải là ký ức

  • Ký ức của con người bao gồm lưu trữ dài hạn, hồi tưởng có chọn lọc và quên đi thông tin không cần thiết, nhưng context window của LLM gần giống một bảng trắng liên tục bị xóa
  • Khi dùng Claude Code, lúc thông báo "context left until auto-compact" tiến gần, ngữ cảnh mà agent đã tích lũy như codebase, sở thích hay các quyết định sẽ bị nén lại hoặc mất đi
  • Hệ thống tệp giải quyết điều này theo cách đơn giản nhất: ghi lại vào tệp và đọc lại khi cần
    • CLAUDE.md cung cấp ngữ cảnh bền vững cho dự án
    • Cursor lưu lịch sử chat cũ thành các tệp có thể tìm kiếm
    • Tệp aboutme.md đóng vai trò như một mô tả danh tính có thể di chuyển, chứa sở thích, kỹ năng và phong cách làm việc, có thể đi qua giữa các ứng dụng mà không cần điều phối API

Nghiên cứu của ETH Zürich: nghịch lý của tệp ngữ cảnh

  • Một bài báo gần đây của ETH Zürich đánh giá liệu các tệp ngữ cảnh ở cấp độ repository có thực sự giúp coding agent hoàn thành tác vụ hay không
  • Kết quả trái trực giác: trên nhiều agent và mô hình, các tệp ngữ cảnh lại làm giảm tỷ lệ thành công của tác vụ, trong khi chi phí suy luận tăng hơn 20%
    • Các agent nhận được tệp ngữ cảnh tìm kiếm rộng hơn, chạy nhiều bài test hơn và đi qua nhiều tệp hơn, nhưng lại chậm tiếp cận đoạn mã thực sự cần sửa
    • Tệp hoạt động như một checklist mà agent bám theo quá mức nghiêm túc
  • Kết luận của bài báo không phải là "đừng dùng tệp ngữ cảnh", mà là những yêu cầu không cần thiết sẽ khiến tác vụ khó hơn, và tệp ngữ cảnh chỉ nên mô tả các yêu cầu tối thiểu
  • Vấn đề không nằm ở lớp bền vững của hệ thống tệp, mà ở thói quen viết CLAUDE.md như một tài liệu onboarding dài 2.000 từ

Định dạng tệp chính là API — nhưng là tệp nào?

  • Hiện tại CLAUDE.md, AGENTS.md, copilot-instructions.md, .cursorrules cùng tồn tại; mọi người đã đồng thuận rằng agent cần ngữ cảnh bền vững dựa trên hệ thống tệp, nhưng tên tệp và định dạng nội dung vẫn chưa thống nhất
  • Trong bài viết về social filesystem của Dan Abramov, thiết kế cốt lõi là: AT Protocol coi dữ liệu người dùng như các tệp trong repository cá nhân, còn các ứng dụng không cần phải thống nhất "bài post" là gì vì có thể tránh xung đột bằng namespace dựa trên tên miền
    • Cơ sở dữ liệu của mọi ứng dụng trở thành dữ liệu phát sinh, tức các materialized view được cache từ toàn bộ thư mục của người dùng
  • Anthropic công bố Agent Skills như một tiêu chuẩn mở: định dạng SKILL.md đã được Microsoft, OpenAI, Atlassian, GitHub, Cursor chấp nhận
    • Kỹ năng viết cho Claude Code cũng chạy được trên Codex và Copilot — định dạng tệp chính là API
  • NanoClaw là framework AI assistant cá nhân gọn nhẹ, áp dụng mô hình "skill thay vì function"
    • Nếu cần hỗ trợ Telegram, sẽ không phải là một module Telegram mà là skill /add-telegram (một tệp Markdown) dạy Claude Code cách tích hợp
    • Vì skill là tệp nên chúng có thể di chuyển, kiểm toán và kết hợp được — không cần MCP server hay chợ plugin
  • Đây chính là khả năng tương tác không cần điều phối: nếu hai ứng dụng đều đọc được Markdown thì có thể chia sẻ ngữ cảnh; nếu hiểu định dạng SKILL.md thì có thể chia sẻ tính năng; không cần hợp đồng đối tác hay cuộc họp của tổ chức tiêu chuẩn hóa, vì chính định dạng tệp đảm nhiệm vai trò điều phối

Sự dịch chuyển của nút thắt cổ chai

  • Kiến trúc dữ liệu truyền thống được thiết kế dựa trên giả định lưu trữ là nút thắt cổ chai, nhưng khi năng lực xử lý vượt I/O lưu trữ, mô hình đã chuyển sang tách biệt storage và compute (S3 + cụm compute tạm thời)
  • Hiện tượng tương tự cũng xảy ra với AI agent: nút thắt cổ chai không còn là hiệu năng mô hình hay compute mà là ngữ cảnh
    • Mô hình đã đủ thông minh nhưng lại mau quên
    • Hệ thống tệp là cách hiệu quả nhất để quản lý ngữ cảnh bền vững ngay tại nơi agent đang chạy (máy của lập trình viên, nơi môi trường và dữ liệu đã sẵn có)

Hệ thống tệp vốn đã là đồ thị

  • Có ý kiến trên Twitter rằng những người nói "dùng hệ thống tệp nên agent không cần đồ thị" thực ra đang phủ nhận việc mình đang dùng đồ thị
    • Hệ thống tệp là một cấu trúc cây gồm thư mục, thư mục con và tệp, tức một directed acyclic graph (DAG)
    • Khi agent dùng ls, grep, đọc tệp và lần theo tham chiếu, thực chất nó đang duyệt đồ thị
  • Richmond trong bài viết của Oracle đưa ra sự phân biệt sắc nét nhất: hệ thống tệp thắng ở vai trò giao diện, còn cơ sở dữ liệu thắng ở vai trò lớp nền
    • Khi cần truy cập đồng thời, semantic search ở quy mô lớn, khử trùng lặp, trọng số độ mới..., cuối cùng bạn sẽ tự xây index, và đó thực chất là cơ sở dữ liệu
  • Giao diện tệp mạnh vì nó phổ quát và LLM đã hiểu sẵn; lớp nền dựa trên cơ sở dữ liệu mạnh vì nó cung cấp các bảo đảm cần thiết cho vận hành thực tế
  • Tương lai không phải là tệp hay cơ sở dữ liệu, mà là tệp là giao diện để con người và agent tương tác, còn bên dưới là lớp nền phù hợp với từng use case

Đây là sự tái định nghĩa của điện toán cá nhân

  • Hệ thống tệp có thể tái định nghĩa ý nghĩa của điện toán cá nhân trong thời đại AI
    • Dữ liệu, ngữ cảnh, sở thích, skill và ký ức tồn tại dưới định dạng do người dùng sở hữu, mọi agent đều có thể đọc và không bị khóa vào một ứng dụng cụ thể
    • aboutme.md hoạt động được cả với OpenClaw/NanoClaw hôm nay lẫn công cụ mới của ngày mai
    • Các tệp skill có thể mang đi nơi khác, còn ngữ cảnh dự án vẫn được duy trì xuyên suốt giữa các công cụ
  • Đây là hình ảnh mà điện toán cá nhân từng hướng tới trước khi mọi thứ chuyển sang các ứng dụng SaaS đóng và cơ sở dữ liệu độc quyền
    • Tệp là giao thức mở nguyên bản, và khi AI agent trở thành giao diện chính của điện toán, chúng trở thành lớp tương tác cho phép chuyển công cụ, kết hợp workflow và duy trì tính liên tục giữa các ứng dụng mà không cần xin phép ai
  • Tuy vậy vẫn có khía cạnh lý tưởng hóa: lịch sử của các định dạng mở có rất nhiều tiêu chuẩn thắng trên giấy tờ nhưng thất bại trong thực tế
    • Các công ty có động cơ tạo ra tệp ngữ cảnh của riêng mình với khác biệt tinh vi để duy trì chi phí chuyển đổi
    • Việc CLAUDE.md, AGENTS.md.cursorrules đang cùng tồn tại thay vì hội tụ về một định dạng phổ quát cho thấy mặc định là phân mảnh
    • Bài báo của ETH Zürich cũng nhắc rằng ngay cả khi có định dạng, việc viết tệp ngữ cảnh tốt vẫn khó, và tệp ngữ cảnh tệ còn tệ hơn cả không có
  • Thông điệp cốt lõi của Dan Abramov:

    Ký ức, suy nghĩ và thiết kế của chúng ta phải sống lâu hơn phần mềm đã tạo ra chúng

    • Đây không phải là một lập luận kỹ thuật mà là vấn đề giá trị; hệ thống tệp phù hợp với vai trò này không phải vì nó là công nghệ tốt nhất, mà vì nó đã là công nghệ duy nhất thuộc về người dùng

1 bình luận

 
GN⁺ 2026-03-09
Ý kiến trên Hacker News
  • Tệp là một dạng tự do căn bản cho phép người dùng trực tiếp sở hữu dữ liệu của mình
    Điều này cho phép chủ quyền về tính bảo mật, tính toàn vẹn và tính sẵn sàng
    Với vai trò là một trục cốt lõi của tự do số, nó nên được nhìn nhận ngang hàng với giấy phép FOSS

    • Nhờ khả năng suy luận của LLM, giờ đây không còn phải quá lo về cấu trúc tệp
      Chính ngôn ngữ tự nhiên tồn tại bên trong tệp, và tính dễ đọc trở thành đặc tả
      Bất kỳ ai đọc hiểu tốt đều có thể ghi vào tệp và thực thi ngay như REPL
    • Vì vậy tôi thấy khó chịu khi các tập đoàn công nghệ lớn như Apple cố gắng xóa bỏ khái niệm tệp
      Họ khiến dữ liệu bị trói vào ứng dụng và không thể tồn tại độc lập, đồng thời cũng làm việc nhập/xuất trở nên khó khăn
      Để giải quyết vấn đề này, tôi đang làm một công cụ trích xuất dữ liệu từ bản sao lưu thành các tệp ở mức chi tiết rồi chuyển chúng sang thư viện số cá nhân
      Dữ liệu bất biến thì chỉ cần lưu trữ là đủ, nhưng thách thức lớn nhất là làm sao để dữ liệu có thể chỉnh sửa lại trở thành dạng “sống”, có thể được ứng dụng chỉnh sửa
    • Tôi nghĩ các tệp cấu hình tốt hơn nhiều so với kho lưu trữ tập trung như Windows Registry
      Việc thay đổi tạm thời và chia sẻ đều dễ hơn, đồng thời ý nghĩa của cấu hình cũng được định nghĩa rõ ràng
      Tôi không thích việc Windows đối xử với tệp như công dân hạng ba
  • Tôi cũng nghĩ như vậy từ góc nhìn SaaS
    Càng nhiều mã là thứ tạm thời và đặc thù miền, thì dữ liệu (tệp) càng phải chuẩn hóa và ổn định đến mức nhàm chán
    Định dạng chỉ một ứng dụng cụ thể đọc được là nợ kỹ thuật, và cuối cùng sẽ phá hỏng dự án
    Lý do một tệp JPEG từ năm 1995 vẫn mở được đến nay là vì nó không phụ thuộc vào phần mềm

    • Hệ thống quản lý ảnh hơn 10 năm tuổi của tôi lấy hệ thống tệp và EXIF làm nguồn sự thật
      Đây là cách tiếp cận đúng đắn đã được kiểm chứng nhiều lần
      Các lớp trừu tượng như Google Photos hay Immich chỉ để tiện dụng, cốt lõi vẫn là tệp
      Trong công việc, tôi cũng quản lý nghiên cứu và tài liệu bằng các tệp markdown và csv
      liên kết dự án elodie
    • Vấn đề của việc quản lý ảnh hiện nay là mọi thông tin chỉnh sửa, gắn thẻ và album đều được lưu dưới dạng metadata bên ngoài
      Khi chuyển nền tảng, toàn bộ lịch sử chỉnh sửa sẽ biến mất
      Tính năng hoàn tác thì tiện, nhưng tôi mong những thay đổi như vậy sẽ được tiêu chuẩn hóa để có thể di chuyển
  • Tôi muốn nhắc đến Plan 9 của Bell Labs
    Plan 9 from Bell Labs

    • Tôi đang tạo một bộ điều phối agent tên là agenc
      Khi hỏi Claude về nghiên cứu tiền nhiệm, nó đã đưa ra Plan 9, và đó chính là khái niệm chúng ta đang cần lúc này
      Triết lý tối thiểu hóa quyền hạn của agent cũng giống hệt mô hình bảo mật doanh nghiệp
      Chỉ là Plan 9 xuất hiện quá sớm mà thôi
    • Nếu nói đến hệ thống tệp mới, GeFS là thứ đáng để xem
  • Điều này lại khiến tôi nhận ra Plan 9 và UNIX đã đúng
    Giao diện mạnh nhất là tệp văn bản trên hệ thống tệp
    Giờ là lúc phải làm lại 9p2026
    Tuy vậy, một vài khái niệm cơ bản trong bài là sai — hệ thống tệp không phải cây mà là đồ thị có thể có chu trình

    • Tôi tò mò những tính năng cốt lõi của Plan 9 là gì, có thể gắn bằng FUSE hay không, hay cần thứ ma thuật sâu hơn
  • Đây cũng là điều tôi đồng cảm sâu sắc
    Trong một năm qua, tôi đã chuyển dữ liệu cá nhân từ hơn 10 dịch vụ SaaS vào một cấu trúc thư mục duy nhất
    Hệ thống tệp được tổ chức tốt là đủ cho một người dùng đơn lẻ và loại bỏ sự phân mảnh dữ liệu
    Về sau, có lẽ sẽ xuất hiện những cơ sở dữ liệu mới hỗ trợ ghi an toàn cho nhiều người dùng mà không làm hệ thống tệp trở nên mờ đục
    Cảm giác khá giống vai trò mà QMD đảm nhiệm cho tìm kiếm

  • Hiện giờ việc ứng dụng AI vẫn đang ở giai đoạn chưa trưởng thành
    Các hệ thống production sẽ chạy trên những cấu trúc dữ liệu nhất quán và có khả năng mở rộng, nhưng các agent xây dựng ra chúng sẽ dùng công nghệ dựa trên hệ thống tệp
    UI có lẽ sẽ vượt ra khỏi desktop và tiến hóa thành giao diện giọng nói và thị giác
    Ví dụ như trong cuộc gọi video, hệ thống có thể đọc biểu cảm và ngữ điệu để lấy thêm ngữ cảnh

    • Trong video demo AI tôi xem gần đây, hệ thống trích xuất ngữ cảnh từ giọng nói và cử chỉ, chuyển thành văn bản rồi đưa vào LLM
      Dù chưa phải multimodal hoàn chỉnh, nó vẫn rất thú vị
    • Dù vậy, nhập liệu bằng văn bản có lẽ sẽ không biến mất
      Viết giúp con người sắp xếp suy nghĩ và không mang tính bộc phát như lời nói
      Dù nhận dạng giọng nói (STT) có tốt đến đâu, trí tuệ con người vẫn vận hành xoay quanh việc viết
  • Tệp chỉ hữu ích khi có thể tìm thấy chúng
    Nói cách khác, tìm kiếm và lập chỉ mục là bắt buộc, nhưng khi quy mô tăng lên thì chúng bắt đầu vỡ ra
    Vì thế, câu hỏi cốt lõi là “kích thước của knowledge base mà agent có thể xử lý là bao nhiêu”
    Tôi đã phân tích chủ đề này từ các nguyên lý đầu tiên trong bài viết “a good agentic KB”

  • Trong nhiều tệp được tổ chức tốt như codebase, agent lập trình tìm thông tin rất tốt
    Nhưng với dữ liệu lộn xộn, việc cấu trúc bằng hệ thống tệp khó hơn nhiều
    Nó còn phức tạp hơn cả tìm kiếm ngữ nghĩa trong vector DB
    Codebase tự nhiên duy trì cấu trúc đồ thị nhờ nguyên tắc DRY, còn dữ liệu phi mã thì không như vậy
    Vì thế tôi đồng ý rằng về lâu dài hệ thống tệp là một cấu trúc ngữ cảnh tốt, nhưng hiện tại nó vẫn chưa thể thay thế hoàn toàn tìm kiếm

  • Tôi nghĩ hệ thống tệp là một lớp trừu tượng tệ
    Việc phải treo tệp lên một cấu trúc có chủ ý là cây thư mục là kém hiệu quả
    Tôi cho rằng mô hình quan hệ hoặc cấu trúc dựa trên định danh duy nhất sẽ tốt hơn

    • Ưu điểm của hệ thống tệp là giữ được tính cục bộ của thay đổi
      Thay đổi ở một nhánh không ảnh hưởng đến nhánh khác
      Ngược lại, cơ sở dữ liệu có thể khiến UPDATE hay DELETE tác động đến toàn bộ hệ thống, nên khá nguy hiểm
      Vì vậy, một kiểu dung hòa là cấu trúc cây với chỉ mục DB phủ lên trên, như trong các OS hiện đại, sẽ là lý tưởng
    • NTFS bên trong sử dụng cơ sở dữ liệu MFT
      Nó lập chỉ mục tên tệp bằng b+tree, và cả dữ liệu tệp cũng được lưu trong MFT
      Thư mục thực chất chỉ là một hàng có thuộc tính directory=true
      Cách tiếp cận quan hệ hoàn toàn như WinFS đã thất bại vì vấn đề hiệu năng, và Skydrive đã thế chỗ nó
    • Trong hầu hết hệ thống tệp, tệp được định danh duy nhất bằng inode và có thể được tham chiếu qua nhiều liên kết
      Có vẻ nhiều người thường quên điểm này
    • UUID thì khó hiểu với con người, nhưng với agent lại là định danh được phân biệt hoàn hảo
      Cuối cùng, có lẽ chúng ta sẽ đi theo hướng đặt một chỉ mục tốt lên trên kho blob kiểu S3, còn thư mục thì được tạo theo yêu cầu như tag
      Chỉ còn lại chức năng nhóm kiểu như “tài liệu liên quan đến Q3 nằm trong thư mục này”