- Lớp wiki dành cho agent AI dựa trên Markdown & Git
- Một lớp nền tảng tri thức native cho LLM được thiết kế để các agent AI có thể tích lũy ngữ cảnh xuyên suốt nhiều phiên làm việc, được lưu cục bộ tại
~/.wuphf/wiki/ và có thể mang đi toàn bộ bằng git clone
- Thay vì hạ tầng nặng như Postgres, pgvector, Neo4j, Kafka, hệ thống được xây dựng chỉ với markdown + git và quản lý tri thức bằng BM25 + SQLite mà không cần vector DB
- Lưu bằng markdown, dùng bleve để tìm kiếm BM25, và dùng SQLite để quản lý metadata có cấu trúc (facts, entities, edges, redirects, supersedes)
- Trong benchmark với 500 artifact và 50 truy vấn khi không dùng vector DB, đạt recall@20 85%
- Dự kiến sẽ dùng sqlite-vec để phòng trường hợp một số lớp truy vấn cụ thể tụt xuống dưới mức này
- Mỗi agent có notebook cá nhân tại đường dẫn
agents/{slug}/notebook/*.md, đồng thời truy cập wiki dùng chung trong đường dẫn team/
- Có luồng thăng cấp (promotion) các mục từ notebook lên wiki sau khi được agent hoặc con người review, và backlink được tạo tự động
- Một state machine nhỏ quản lý việc hết hạn (expiry) và tự động lưu trữ
- Per-entity fact log: được ghi dưới dạng JSONL chỉ-append trong
team/entities/{kind}-{slug}.facts.jsonl
- Worker tổng hợp sẽ tái dựng entity brief sau mỗi N fact, và commit được ghi bằng một git identity riêng là "Pam the Archivist", nên có thể kiểm tra nguồn gốc ngay trong
git log
- Fact ID là ID tất định bao gồm cả offset câu; canonical slug sau khi được gán một lần sẽ được hợp nhất bằng redirect stub và tuyệt đối không được thay đổi
- Rebuild tương đương về mặt logic nhưng không đảm bảo giống hệt ở cấp độ byte
- Hỗ trợ [[Wikilinks]], các liên kết hỏng sẽ được render màu đỏ, và lint cron hằng ngày sẽ phát hiện mâu thuẫn, mục cũ, và wikilink bị hỏng
- Cung cấp tìm kiếm dựa trên trích dẫn qua slash command
/lookup và công cụ MCP
- Bộ phân loại heuristic sẽ định tuyến truy vấn ngắn sang BM25, còn truy vấn dạng mô tả sẽ đi vào vòng cited-answer
- Các giới hạn đã biết
- Việc tinh chỉnh recall vẫn đang diễn ra và 85% không phải là mức đảm bảo chung
- Chất lượng tổng hợp phụ thuộc vào chất lượng fact do agent ghi lại (garbage in, garbage out); lint có hỗ trợ nhưng không phải engine phán đoán
- Hiện chỉ trong phạm vi một office, chưa hỗ trợ federation liên office
- Được cung cấp như một phần của WUPHF (office agent AI mã nguồn mở hỗ trợ Claude Code, Codex, OpenClaw, và local LLM), nhưng có thể dùng riêng chỉ lớp wiki — nếu kết nối WUPHF vào thiết lập agent hiện có thì wiki sẽ được gắn vào tự động
- Giấy phép MIT
1 bình luận
Ý kiến trên Hacker News
Tôi không thật sự hiểu điểm cốt lõi của việc tự động hóa ghi chú. Trước đây, kiểu sao chép rồi dán văn bản vào ghi chú vốn đã chẳng giúp ích gì, nên tôi không nghĩ tăng nó lên gấp 100 lần thì sẽ khác đi
Với tôi, cốt lõi của ghi chú là đọc nguồn một cách phản biện, tiêu hóa nó theo mô hình tinh thần của mình rồi ghi lại
Chi tiết thì sau này có thể tra lại, rốt cuộc điều quan trọng là quá trình mài giũa mô hình đó
Nếu vậy thì mục tiêu có thể là giao phần đó cho một LLM brain dùng chung, thay vì tự mình xây dựng mô hình tinh thần ấy
Tuy nhiên tôi khá hoài nghi việc cách tiếp cận này có thể tạo ra thứ gì thực sự có giá trị cho chủ sở hữu sản phẩm hay không. Nếu chỉ với prompt và agent harness là đã có thể tạo ra sản phẩm giá trị, thì ai cũng có thể làm lại sản phẩm đó, việc phát triển sản phẩm sẽ trở thành commodity và cuối cùng thứ còn giá trị có lẽ chỉ là token
Giả thuyết của tôi là do things that don’t scale của Paul Graham vẫn sẽ tiếp tục đúng, chỉ là nội dung của những việc không thể mở rộng ấy có thể sẽ thay đổi
Dù vậy, gần đây tôi cũng mới bắt đầu dùng Obsidian một cách bài bản. Tôi thiết lập các kỹ năng để ghi chú, nghiên cứu, liên kết, chia tách và tái cấu trúc cơ sở tri thức, nên có cảm giác như mình có một trợ lý số giúp sắp xếp mọi thứ
Giờ thì tôi chỉ cần ghi lại những ý nghĩ vụn vặt là agent sẽ tự dựng cấu trúc, đặt câu hỏi tiếp theo và nối nó với các công việc khác. Việc đọc nguồn và xây dựng mô hình tinh thần vẫn là do tôi làm, nhưng các ghi chú chất lượng cao thì gần như có được miễn phí
Thật sự rất lãng phí
Phần lớn mọi thứ vốn dĩ không cần phải vào ghi chú ngay từ đầu, còn LLM thì lại làm nhiễu tăng quá mức mà chẳng kiểm chứng hay lọc gì cho ra hồn
Có một video nói khá hay về chủ đề này từ bài luận của JA Westenberg
https://youtube.com/watch?v=3E00ZNdFbEk
Khá thú vị
Theo tôi, điểm tối ưu là con người tuyển chọn, và nếu không chủ động quản lý debt hay drift thì vận hành không giám sát không phải là câu trả lời
Nhất là cái tên lại trùng với sản phẩm vô dụng và thừa thãi Wuphf.com trong The Office
Có cảm giác chỉ cần gắn AI vào tên sản phẩm là hàng chục tỷ đô sẽ kéo đến, còn chỉ cần nhét Karpathy vào bài blog là có thể được tuyển làm kỹ sư cấp cao ở Anthropic
Trông như chỉ là những nỗ lực vắt tiền khi cơn sốt còn kéo dài, chứ không mấy quan tâm khách hàng thực sự cần gì
Ai cũng đang lao vào kiểu tranh thủ rửa tay khi còn có sóng
Dù vậy, hồi đó người ta vẫn thật sự xây được thứ gì đó, và môi trường gọi vốn chặt chẽ hơn khi ấy cũng phần nào kìm bớt sự quá nhiệt
Ít nhất thì cơn bùng nổ LLM lần này cũng có một mức độ khả thi và giá trị thực tế nào đó, đồng thời đây là công nghệ khá thú vị để học và vọc
Từ lâu tôi đã chấp nhận rằng khi tiền đổ vào một nơi như vậy, miễn không phi đạo đức, thì nên nắm lấy cơ hội ở đó. Khi dòng vốn VC/PE còn dồi dào, ta vẫn có thể tạo ra những thứ giá trị và hay ho
Tôi vẫn đang chờ một harness CLI đẳng cấp thế giới có thể thay thế Claude Code. Tôi cần thứ gì đó giải quyết được vấn đề bộ nhớ và vấn đề thiết kế
Thiết kế web thì với LLM hiện vẫn gần như ác mộng
Tôi cũng đã làm PoC cho doanh nghiệp, và tất cả những thứ đó cuối cùng cô đọng lại thành dự án này được xây cạnh bên để hỗ trợ chính công việc cá nhân của tôi. Kết quả là đây chính là giao diện thực sự dễ dùng cho context infra
Tôi không quan tâm đến vị trí kỹ sư cấp cao ở Anthropic. Trước đây tôi là Product Manager ở HubSpot và thu nhập tốt hơn bây giờ rất nhiều, và có lẽ trong vài năm tới tôi cũng chưa thể quay lại mức đó
Tôi đã đặt cược nhiều lần và liên tục chỉnh hướng vì sản phẩm tiến hóa qua việc nói chuyện trực tiếp với khách hàng. Trong khi đó, các đối thủ cũ vẫn còn đang stealth xây AI CRM
Với người ở lâu trong ngành như tôi, con sóng tự thân nó không quá quan trọng, nhưng tôi tin chắc là vẫn có giá trị thực chất để vớt lên từ dưới con sóng đó
Tôi đã xem bài review này: https://zby.github.io/commonplace/agent-memory-systems/reviews/wuphf/
Đây đã là wiki LLM thứ ba lên trang nhất trong vòng 24 giờ, nên rõ ràng là chủ đề đang rất nóng
Tôi cũng có lợi ích liên quan trong lĩnh vực này nên không hoàn toàn khách quan, nhưng tôi có ghi lại riêng những điều mình mong đợi ở các hệ thống kiểu này
https://zby.github.io/commonplace/notes/designing-agent-memory-systems/
Việc ai cũng tự xây lại hệ thống của riêng mình trông như một sự đầu tư trùng lặp quá lớn, nên tôi hy vọng sẽ có cách để hợp tác
Nhưng nhìn văn phong thì rõ ràng có vẻ là LLM viết, nên tôi tò mò không biết với những ghi chú thiết kế kiểu này bạn có thường viết lại sau đó bằng lời của chính mình để xác nhận rằng nó thật sự chứa suy nghĩ của bạn không
Chúng tôi khởi đầu là một công ty context infra tên là nex.ai từ rất lâu trước khi Karpathy nêu ra ý tưởng LLM wiki, và dù các khả năng đó vẫn chưa lộ ra nhiều trong WUPHF thì giờ chúng tôi đang dần công khai hơn
Khá nhiều lo ngại được viết trong bài so sánh là những thứ chúng tôi đã xử lý trong context infra mà mình xây từ trước, nên tôi rất vui khi thấy chúng được nêu ra
Dù vậy, việc hợp tác để giảm trùng lặp và chia sẻ những gì học được thì chúng tôi luôn sẵn sàng chào đón
Bạn nói là hy vọng có cơ hội hợp tác, nên nghe như thể hiện giờ không có cơ hội đó vậy, điều này khiến tôi thấy lạ
Chỉ cần chồng QMD lên một Obsidian vault là đã đạt cỡ 80%, mà chắc còn chưa tới 2 tiếng
Để có thêm ngữ cảnh thì đây là link bài gốc của Karpathy
https://x.com/karpathy/status/2039805659525644595
https://xcancel.com/karpathy/status/2039805659525644595
Tôi tò mò không biết AI Notes sẽ tạo ra giá trị hay chỉ thêm nhiễu
Dù vậy, tôi khá thích phong cách ASCII của website
Tôi muốn ai đó làm một thứ như sự hồi sinh của StackOverflow để giải quyết vấn đề này
Con người sẽ tuyển chọn, còn một tập thể các LLM sẽ giải bài toán và khi bị kẹt thì đăng câu hỏi theo kiểu cũ thành một đồ thị tri thức phân tán
Nếu agent của tôi nói kiểu “tôi bị kẹt ở đây, đã đăng câu hỏi lên SO rồi, khi nào có câu trả lời thì quay lại sau” thì như vậy cũng hoàn toàn ổn
Tôi tự hỏi phải làm sao để ngăn LLM viết quá nhiều
Tôi đã thử làm vài công cụ và hệ thống tương tự, và cái nào cũng để LLM liên tục phình tài liệu ra, cuối cùng khiến cả hệ thống thành một mớ hỗn độn và càng lớn thì càng kém hữu ích
Một thí nghiệm tôi từng làm trước đây là chỉ đưa vài liên kết để LLM tự nghiên cứu các chủ đề liên quan, tự tạo knowledge wiki của nó rồi sắp xếp tóm tắt, liên kết chéo và nguồn trên từng trang
Bề ngoài trông khá ổn, nhưng khi thật sự đọc dữ liệu thì không ổn lắm
Đó là thí nghiệm từ vài năm trước, nên có lẽ giờ thử lại với thứ như opus 4.7 cũng đáng
Để gợi thêm một hướng suy nghĩ thì cộng đồng TiddlyWiki đương nhiên cũng đã khám phá các công cụ AI
TiddlyWiki là một wiki dựa trên một tệp HTML duy nhất có thể tự sửa đổi, và đã tồn tại hơn 20 năm
Nó chưa hẳn đã tiến hóa theo hướng agentic, nhưng có plugin markdown, cũng có công cụ để làm cho tệp có thể thực thi hoặc biến nó thành webapp tự phục vụ. Git thì hơi khó chịu
Vì thế về mặt lý thuyết, một wiki agentic chỉ gồm một tệp có thể đi khắp nơi và tự chỉnh sửa chính nó là điều khả thi
https://tiddlywiki.com/
Cấu hình single-file mà bạn nói đến đã có vài connector LLM rồi. Ví dụ như https://github.com/rimir-cc/tw-llm-connect
Sức hút của nó đúng là nằm ở chỗ đó. Không phụ thuộc gì, không cần cài đặt, cực dễ lưu trữ, nên một wiki agentic một tệp tự chỉnh sửa chính nó hoàn toàn có thể làm được ngay hôm nay
Một thứ gần hơn với mẫu LLM Wiki của Karpathy là twillm mà tôi đang làm
https://github.com/Jermolene/twillm
Nó dùng cấu hình Node.js của TiddlyWiki, lưu tiddler dưới dạng từng tệp riêng lẻ để có thể trỏ thẳng vào một Markdown vault hiện có và dùng cùng các công cụ như Claude Code
Ưu điểm của TiddlyWiki cũng khá rõ ràng. Nó là mã nguồn mở nên có thể tiếp tục dùng lâu dài, và là nền web nên có thể truy cập từ bất cứ đâu
Ngoài ra, các khung nhìn được tính toán thay thế cho các tệp chỉ mục materialized. Cách của Karpathy yêu cầu LLM phải liên tục đồng bộ index.md mỗi khi thêm ghi chú, mà những thứ như vậy rất dễ bị stale khi đổi phiên, và đây lại đúng là kiểu việc LLM làm rất kém
Trong khi đó, các khung nhìn của TiddlyWiki là biểu thức lọc thời gian thực, nên ví dụ như “sắp xếp các tiddler có tag concept theo rating” sẽ được tính ngay tại thời điểm render
Frontmatter cũng trở thành một cấu trúc có thể truy vấn được. Obsidian hiển thị YAML frontmatter như một khối metadata ở đầu ghi chú, còn TiddlyWiki thì nâng các trường đó lên thành các trường tiddler hạng nhất để có thể dùng ngay cho lọc, sắp xếp và tổng hợp
Và LLM không chỉ có thể viết nội dung mà còn có thể viết cả những applet nhỏ. Ngoài ghi chú Markdown, nó còn có thể thêm các tiddler wikitext (.tid) để tạo ra các khung nhìn trực tiếp có tính tương tác như dashboard, công cụ duyệt tag, chỉ mục nhật ký hay bảng thuật ngữ
Lĩnh vực self building artefacts này rất thú vị, và gần đây đang bùng lên mạnh khi các LLM, đặc biệt là các model chuyên code, tiến bộ rất nhanh theo hướng này
Gần đây tôi cũng thử nghiệm một dự án tập trung vào việc giảm tối đa phụ thuộc và kiểm soát agent cục bộ
https://github.com/GistNoesis/Shoggoth.db/
Nó tự tạo và sắp xếp một cơ sở dữ liệu sqlite để thực hiện các tác vụ dài hạn được giao qua prompt, và dùng một bản Wikipedia cục bộ làm dữ liệu nguồn
Tôi cũng chỉ thêm vào mức tối thiểu các công cụ và harness để thử nghiệm agent drift
Việc gắn công cụ xử lý ảnh vào cũng khá dễ. Chỉ cần mã hóa ảnh sang base64 rồi đưa vào llama.cpp, còn phần hiện thực chi tiết thì có thể vibecoding tạm bằng LLM cục bộ
Tôi nghĩ đây là một công cụ khá hữu ích theo nghĩa tổng quát
Ví dụ, trước đây tôi có một script dùng Amazon Textract để trích số tiền, ngày tháng và nơi bán từ hóa đơn và biên lai trong thư mục, rồi sau đó con người kiểm lại các con số để tạo CSV đưa cho kế toán
Giờ thì có thể thay lệnh gọi Amazon Textract đó bằng một lệnh gọi model llama.cpp với prompt phù hợp, vẫn giữ nguyên công cụ hóa đơn cũ mà còn xử lý kế toán sáng tạo hơn nhiều
Tôi cũng đã thử một biến thể dùng chuỗi ảnh từ camera để điều khiển robot vật lý, và với các trường hợp đơn giản thì nó thật sự đã di chuyển và đến được mục tiêu
Tuy vậy, LLM tôi dùng vốn không hề được huấn luyện để lái robot, và lại mất tới 10 giây để chọn hành động tiếp theo nên không thực tế. Bộ điều khiển truyền thống hiện tại không dùng deep learning vẫn chạy vòng lặp thị giác ở 20Hz
Model LLM và các agent xây trên nó không mang tính quyết định mà mang tính xác suất
Chúng làm được việc với một tỷ lệ nhất định, nhưng không phải lúc nào cũng thành công
Vì vậy, agent càng kéo dài một công việc lâu thì xác suất thất bại cũng càng tăng. Những agent chạy dài kiểu này cuối cùng sẽ thất bại, và trong quá trình đó còn đốt một lượng token khổng lồ
Một trong những việc mà agent LLM làm tốt là tự viết lại chỉ thị của chính nó
Mẹo là giới hạn thời gian và số bước suy nghĩ của thinking model, rồi đánh giá, cập nhật và chạy lại
Nói ví von thì cứ xem agent như một kẻ hay vấp ngã. Đừng bắt nó chạy quá lâu để rồi ngã, 2 lần 5 phút còn hơn 1 lần 10 phút
Chỉ vài tuần nữa thôi, kiểu agent tự tham chiếu như vậy có lẽ sẽ chiếm đầy phần đầu feed Twitter
Vì thế những wiki kiểu này có nhiều khả năng sẽ đạt đến một trạng thái nào đó rồi dừng hẳn ở đó