Graph engineering: từ vòng lặp đến đồ thị tri thức
Ngày 18 tháng 7 năm 2026, Peter Steinberger đăng lên X một câu hỏi nửa đùa về chuyện chuyển từ vòng lặp sang đồ thị. Hamel Husain bắt lấy và xuất bản bài viết tựa đề Loop Engineering Is Dead. Enter Graph Engineering. Trong một tuần, thuật ngữ này ở khắp nơi.
Phần lớn đó là câu đùa về tốc độ mà lĩnh vực này đúc ra các bộ môn mới — chúng ta đi từ prompt engineering sang context engineering, rồi harness engineering, loop engineering và graph engineering trong khoảng mười tám tháng, với các định nghĩa chồng lấn nặng nề.
Nhưng câu đùa trúng đích vì nó chỉ vào một điều có thật. Đây là phần đáng giữ lại.
Ba thứ người ta gọi là «graph engineering»
Thuật ngữ này đến cùng ít nhất ba ý tưởng khác nhau. Phần lớn sự lộn xộn trên mạng là người ta tranh cãi mà nhảy qua nhảy lại giữa chúng.
1. Đồ thị điều phối. Thiết kế hệ đa agent như một đồ thị tường minh thay vì vòng lặp while: nút có kiểu, chuyển tiếp có kiểu, điểm kiểm tra để chạy tiếp. Đây là lãnh địa của LangGraph và Temporal. Đó là kỹ thuật thật, và chủ yếu quan trọng nếu bạn xây hạ tầng cho agent.
2. Đồ thị của các vòng lặp. Mạng lưới các chu trình tự cải thiện quan sát lẫn nhau. Thú vị về mặt khái niệm và, theo đánh giá chung, ít khả thi nhất hiện nay.
3. Tri thức và trí nhớ có cấu trúc đồ thị. Kiến thức của agent lưu dưới dạng nút và cạnh có kiểu mà nó thực sự đi qua được, thay vì một đống tài liệu nó phải đọc lại và đoán lại.
Nếu bạn không xây hạ tầng điều phối — và phần lớn chúng ta không, kể cả những người đang nhìn agent tiến vào không gian làm việc — nghĩa số 3 mới là thứ thay đổi ngày làm việc của bạn. Nó cũng là nghĩa lâu đời nhất và có nền tảng vững nhất: đồ thị tri thức có trước thuật ngữ này hàng chục năm.
Vì sao cạnh thắng tìm kiếm
Đây là ví dụ khiến mọi thứ sáng ra.
Hỏi một agent: «Vì sao chúng ta bỏ Redis cho hàng đợi job?»
Tìm kiếm toàn văn trả về mọi tài liệu chứa chữ «Redis» — sau một thời gian làm việc thì đó là hàng chục tệp, và không tệp nào là câu trả lời. Tìm kiếm vector trả về những tài liệu nghe giống câu hỏi, thường còn tệ hơn: gần về ngữ nghĩa, lạc về nhân quả.
Một đồ thị trả lời trong ba bước nhảy:
hàng đợi job --decided_by--> ADR-007 (hàng đợi Postgres)
ADR-007 --supersedes--> ADR-003 (hàng đợi Redis)
ADR-003 --caused------> Sự cố 2026-03-11
Câu trả lời không nằm trong bất kỳ tài liệu đơn lẻ nào. Nó nằm trên đường đi giữa chúng. Tìm kiếm không lấy được đường đi: nó lấy các nút rồi hy vọng bạn tự nối.
Và để ý chi tiết quyết định: các cạnh đều được đặt tên. supersedes không phải caused, cũng không phải decided_by. Bỏ nhãn đi là bạn quay lại «mấy tệp này liên quan nhau kiểu gì đó», nghĩa là agent phải mở hết ra và suy luận lại quan hệ — đúng phần việc bạn muốn tránh.
Cạnh có kiểu chính là toàn bộ mẹo. Phần còn lại chỉ là đường ống.
Vault Markdown của bạn đã là 80 % rồi
Đây là quan sát bị đánh giá thấp của cả cuộc thảo luận: một vault Markdown được chăm sóc tử tế đã là phần lớn một chỉ mục GraphRAG.
Nghĩ xem một kho ghi chú có wikilink cho bạn miễn phí những gì:
- Nút — một tệp cho mỗi ý tưởng, nguồn hoặc quyết định
- Cạnh — mỗi
[[wikilink]]là một liên kết ai đó cố ý tạo ra - Phân giải thực thể được giải quyết ngay từ thiết kế —
[[ADR-007]]là cùng một nút ở mọi nơi nó xuất hiện. Không khớp mờ, không va chạm embedding, không cần hỏi «hai lần nhắc này có phải cùng một thứ không?»
Điểm cuối không hề nhỏ. Phân giải thực thể chính là chỗ đa số pipeline dựng đồ thị tri thức tự động sụp đổ trong im lặng. Một vault né được vì con người đã đặt tên thực thể một lần, và liên kết chính là danh tính.
Thứ một vault thuần thiếu là nhãn. [[ADR-007]] cho bạn biết hai ghi chú có liên kết. Nó không nói liên kết kiểu gì. Đó là 20 % còn lại.
Trong thực tế trông ra sao
Đây chính là phần mà Minibase Vault được xây quanh, nên hãy nói cụ thể về cách nó chạy thay vì trừu tượng về những gì nó có thể làm.
Nút đến từ việc đọc. Bạn bấm tiện ích Minibase trên bất cứ thứ gì đáng giữ — trang tài liệu, một RFC, một thread trên X, một buổi nói chuyện — và nó đáp xuống dưới dạng Markdown sạch trong một cơ sở tri thức cục bộ. Không sao chép dán, không bước xuất, không có cái tab «để lát đọc» chết theo lần treo trình duyệt kế tiếp.
Cạnh được ghi lại, kèm lý do. Vault giữ một _graph.json ở thư mục gốc:
{
"edges": [
{
"from": "AI Research/attention-paper-20260405-1200.md",
"to": "AI Research/transformer-tutorial-20260408-0900.md",
"reason": "Both explain the attention mechanism in transformers"
}
]
}
Claude tự viết những cạnh đó, qua máy chủ MCP của vault, khi nó đọc xuyên ngang các ghi chú của bạn và nhận ra một liên hệ. Chúng sau đó nổi lên thành dòng Related: trong _index.md của từng cơ sở, để mạng lưới ấy cũng hiện ra với bạn, không chỉ với mô hình.
Đường đi cô đọng thành trang. Khi một cụm ghi chú liên quan đủ dày, Claude có thể tổng hợp chúng thành trang _topic-*.md có trích dẫn nguồn. Lần sau bạn lưu thứ gì thuộc cụm đó, trang tổng hợp đã sẵn ở đó chờ cập nhật. Đó là bước tích luỹ: vault trở nên thông minh hơn, chứ không chỉ to hơn.
Ghi chú mồ côi bị đánh dấu. Một lượt lint báo cáo trùng lặp, ghi chú mồ côi, nội dung cũ và các cụm đã chín để tổng hợp. Đồ thị sẽ mục đi; phải có thứ gì đó nhận ra điều ấy.
Tất cả chạy cục bộ. Chỉ mục tìm kiếm là SQLite FTS5 với xếp hạng BM25, đồ thị là một tệp JSON, và không có gì trong ghi chú của bạn rời khỏi máy.
Chỗ tôi sẽ hạ nhiệt
Hai điểm dè dặt thành thật, vì đây là thuật ngữ nổi tiếng chỉ trong một tuần, mà độ nổi tiếng luôn chạy nhanh hơn nội dung.
Cạnh của Minibase mang một lý do, không phải một kiểu hình thức. "reason": "Both explain the attention mechanism" là một câu, không phải supersedes. Nó tốt hơn hẳn một wikilink không nhãn và kém xa một ontology. Nếu bạn cần quan hệ có kiểu chặt chẽ cho suy luận nhiều bước ở quy mô lớn, bạn cần một cơ sở dữ liệu đồ thị thật — và nên thành thật với chính mình về công sức bảo trì đi kèm.
Phần lớn mọi người không cần thứ nào trong số này. Nếu tri thức của bạn là năm mươi ghi chú, tìm kiếm là đủ. Đồ thị bắt đầu đáng công khi bạn có đủ tư liệu để bắt đầu quên mình đang có gì — và khi câu hỏi của bạn mang tính nhân quả («vì sao chúng ta») thay vì từ vựng («tôi đọc ở đâu»).
Thuật ngữ «graph engineering» có lẽ không sống hết năm. Ý tưởng bên dưới nó — rằng cấu trúc giữa các ghi chú đáng giá hơn số lượng ghi chú — đã đúng từ rất lâu trước khi có tên, và sẽ còn đúng sau đó.
Bắt đầu bằng phiên bản nhàm chán
- Lưu thứ bạn đọc dưới dạng Markdown thay vì đánh dấu trang. Bookmark là con trỏ tới thứ sẽ mục đi; tệp là thứ bạn đang có.
- Giữ cục bộ, trong một thư mục duy nhất, mỗi nguồn một tệp.
- Để AI của bạn đọc cả thư mục — qua MCP, không phải sao chép dán — và hỏi những câu cần hai tài liệu mới trả lời được.
- Ghi lại các liên hệ nó tìm ra. Rồi hỏi lại vào tháng sau.
Đó là graph engineering cho những người không phát hành framework điều phối. Nó là context engineering với các liên hệ được viết ra.
Minibase biến bất kỳ trang web nào thành Markdown sạch chỉ với một cú nhấp, thẳng vào một vault cục bộ mà AI của bạn có thể tìm kiếm và kết nối. Tiện ích mở rộng miễn phí với số lần lưu không giới hạn; Minibase Plus (5,99 $/tháng hoặc 34,99 $/năm) bổ sung mẫu AI, lịch sử và phiên âm video. minibase.md.
Continue reading
Buzz của Jack Dorsey: agent, Git và Markdown
Buzz của Block đưa agent AI vào kênh nhóm với danh tính đã ký và Git tích hợp. Điều nó làm đúng và vì sao Markdown mới giữ được trí nhớ.
Tại Sao Markdown Là Định Dạng Tốt Nhất Cho LLM và AI Agent
Markdown giảm lượng token lên đến 10 lần so với HTML. Tìm hiểu tại sao AI agent và LLM ưa thích Markdown cho context và cách tối ưu quy trình AI của bạn.
x402: cách AI trả tiền cho API mà không cần tài khoản
x402 biến mã HTTP 402 thành phương thức thanh toán thật: một agent không tài khoản trả 0,01 $ bằng USDC và nhận kết quả ngay trong cùng lượt gọi.
Open Knowledge Format: Chuẩn Markdown Của Google Cho Agent
Open Knowledge Format của Google Cloud biến thư mục file Markdown thành ngữ cảnh cho AI agent. Đây là những gì spec v0.1 thực sự yêu cầu.