Knowledge graph cho codebase với Understand Anything

ByNgọc Trai MKT03/09/2026in GitHub Tools 0
understand-anything

Understand Anything là repository mã nguồn mở giúp bạn tạo knowledge graph cho codebase, biến mã nguồn hàng trăm nghìn dòng thành bản đồ tương tác để tìm kiếm, đặt câu hỏi và học kiến trúc. Công cụ này dành cho lập trình viên mới vào dự án, kỹ sư bảo trì hệ thống cũ và cả người quản lý muốn nắm nhanh hiện trạng phần mềm mà không cần đọc code từng dòng.

Thank you for reading this post, don't forget to subscribe!

Những điểm chính

  • Understand Anything là plugin mã nguồn mở theo giấy phép MIT, hoạt động với Claude Code, Cursor, Codex, Gemini CLI, VS Code Copilot và hơn 10 nền tảng AI coding khác.
  • Nó dùng pipeline nhiều tác tử kết hợp Tree-sitter và LLM để xuất knowledge graph ra tệp JSON, kèm dashboard tương tác có tìm kiếm mờ, semantic search và guided tour.
  • Không chỉ phân tích code: lệnh /understand-domain đọc business logic, /understand-knowledge quét wiki và tài liệu dạng Karpathy LLM.
  • Graph có thể commit lên git; đồng đội xem lại bằng Node.js mà không cần API key hay tài khoản Claude Code.

Thông số nhanh của Understand Anything

Thông số nhanh của Understand Anything
Thông số nhanh của Understand Anything
Hạng mục Chi tiết
Ngôn ngữ / công nghệ chính Hệ sinh thái Node.js (>=18), pnpm, Vite và Tree-sitter; README không xác nhận stack chính thức.
Giấy phép MIT License.
Loại công cụ Plugin AI coding tạo knowledge graph cho codebase, tài liệu và wiki.
Cách cài đặt Plugin marketplace trên Claude Code, script install.sh / install.ps1, auto-discovery trên Cursor và VS Code Copilot.
Yêu cầu hệ thống Viewer cần Node.js >=18; installer hỗ trợ macOS/Linux và Windows PowerShell. README không nêu RAM hoặc GPU tối thiểu.
Chạy tại chỗ hay cần cloud Phân tích dùng LLM của nền tảng AI, có thể trỏ local model như Ollama; dashboard viewer chạy local, không gọi LLM khi xem graph đã tạo.
Miễn phí hay trả phí Mã nguồn miễn phí. Lần chạy /understand đầu tiên trên project lớn có thể tiêu tốn token đáng kể.
Trạng thái dự án README không nêu số phiên bản mới nhất; dự án có mục Star History và hướng dẫn đóng góp.

Understand Anything là gì và vì sao cần knowledge graph cho codebase?

Understand Anything là gì và vì sao cần knowledge graph cho codebase?
Understand Anything là gì và vì sao cần knowledge graph cho codebase?

Đây là plugin mã nguồn mở thuộc tổ chức Egonex-AI, ban đầu do Lum1104 tạo ra. Thay vì mở lần lượt từng file, nó quét toàn bộ dự án rồi xây graph nơi mọi file, hàm, class và dependency là một node. Mục tiêu của graph không phải để khoe độ phức tạp mà để dạy bạn cách các mảnh ghép nối với nhau.

Dashboard mở ra ngay sau lần phân tích đầu. Mỗi node có bản tóm tắt, danh sách quan hệ và guided tour theo thứ tự phụ thuộc. Nếu dự án của bạn có logic nghiệp vụ, chuyển sang domain view để xem flow và bước xử lý. Nếu có bộ wiki theo pattern Karpathy, lệnh /understand-knowledge sẽ dựng đồ thị tri thức có phân cụm cộng đồng.

Tính năng nổi bật nào của Understand Anything đáng dùng nhất?

Tính năng nổi bật nào của Understand Anything đáng dùng nhất?
Tính năng nổi bật nào của Understand Anything đáng dùng nhất?

Nhóm tính năng đáng chú ý nhất của repo là biến phân tích code thành trải nghiệm có hướng dẫn thay vì chỉ phát hành một đống file JSON. Bạn học kiến trúc theo đúng thứ tự dependency, tìm kiếm bằng ngữ nghĩa và kiểm tra phạm vi ảnh hưởng trước khi commit.

  • Guided Tours: tự sinh lộ trình tham quan kiến trúc theo dependency, giúp người mới đọc đúng thứ tự.
  • Fuzzy và semantic search: tìm được cả tên file lẫn câu hỏi kiểu which parts handle auth?
  • Diff Impact Analysis: chỉ ra phần hệ thống bị ảnh hưởng khi bạn thay đổi code, rất hữu ích trước khi commit.
  • Layer Visualization: gom file theo API, Service, Data, UI, Utility và dùng màu phân biệt.
  • Persona-Adaptive UI: mức độ chi tiết tự thay đổi theo người xem: junior dev, PM hay power user.
  • Language Concepts: giải thích 12 pattern lập trình ngay trong ngữ cảnh file đang xem.
  • Domain view: chuyển từ cấu trúc kỹ thuật sang quy trình nghiệp vụ gồm domains, flows và steps.
  • Knowledge base mode: phân tích wiki, trích wikilinks, category, quan hệ ẩn, entity và claims.

Cài đặt Understand Anything như thế nào?

Cài đặt Understand Anything như thế nào?
Cài đặt Understand Anything như thế nào?

Không có một lệnh cài duy nhất vì repo hỗ trợ rất nhiều nền tảng. README hướng dẫn cài native trên Claude Code bằng plugin marketplace, dùng script cho các CLI khác, hoặc để Cursor và VS Code Copilot tự nhận plugin khi clone repository về.

Cài trên Claude Code

  1. /plugin marketplace add Egonex-AI/Understand-Anything
  2. /plugin install understand-anything
  3. Chạy lệnh phân tích: /understand

Cài bằng script cho các nền tảng AI CLI

  1. macOS/Linux dùng lệnh mặc định: curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash
  2. Muốn chọn platform, thêm tham số, ví dụ Codex: curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash -s codex
  3. Windows PowerShell dùng: iwr -useb https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.ps1 | iex
  4. Khởi động lại CLI hoặc IDE sau khi cài.

Lưu ý: hầu hết nền tảng dùng dấu gạch chéo /understand, riêng Codex gõ $understand. Nếu cả hai không được nhận, hãy hỏi bằng câu tiếng Anh đơn giản: use the understand skill to analyze this project.

Kiến trúc đa tác tử của Understand Anything hoạt động thế nào?

Kiến trúc đa tác tử của Understand Anything hoạt động thế nào?
Kiến trúc đa tác tử của Understand Anything hoạt động thế nào?

Điểm mạnh kỹ thuật là mô hình hybrid Tree-sitter và LLM. Tree-sitter phân tích cú pháp xác định để lấy import, export, hàm, class, lời gọi và kế thừa; LLM đọc kết quả cùng mã nguồn để viết tóm tắt, gán architectural layer, map business logic và tạo guided tour.

  • project-scanner: dò file, ngôn ngữ, framework.
  • file-analyzer: trích xuất hàm, class, import và tạo node, edge cho graph.
  • architecture-analyzer: nhận diện tầng kiến trúc.
  • tour-builder: tạo tour học dự án theo dependency.
  • graph-reviewer: kiểm tra độ đầy đủ và toàn vẹn tham chiếu của graph.
  • domain-analyzer: thêm vào khi chạy /understand-domain.
  • article-analyzer: thêm vào khi chạy /understand-knowledge.

Các file analyzer chạy song song tối đa 5 worker, mỗi batch 20-30 file. Bản /understand mặc định chạy incremental, chỉ phân tích file thay đổi sau lần đầu.

Có thể chạy Understand Anything với model cục bộ không?

Có thể chạy Understand Anything với model cục bộ không?
Có thể chạy Understand Anything với model cục bộ không?

Có thể. README dành riêng một đoạn cho local model: nếu cần quyền riêng tư hoặc môi trường enterprise, bạn trỏ nền tảng AI tới local provider như Ollama. Sau đó pipeline phân tích có thể dùng model cục bộ, giảm phụ thuộc API đám mây.

Với cách này, chi phí token của lần /understand đầu tiên không còn là rào cản lớn. Tuy nhiên README không so sánh chất lượng hay tốc độ giữa model local và model đám mây, nên bạn vẫn phải thử nghiệm trên chính codebase của mình.

Ai nên dùng và ai không nên dùng Understand Anything?

Ai nên dùng và ai không nên dùng Understand Anything?
Ai nên dùng và ai không nên dùng Understand Anything?

Nếu bạn vừa vào team với codebase 200.000 dòng, đang bảo trì dự án legacy hoặc cần bàn giao kiến trúc nhanh, công cụ này rất đáng thử. Ngược lại, nếu dự án chỉ vài nghìn dòng và bạn đã quen từng file, chi phí thiết lập ban đầu có thể không đáng.

Nên dùng:

  • Lập trình viên mới cần onboarding nhanh.
  • Kỹ sư nhận bảo trì codebase cũ, tài liệu nghèo nàn.
  • Tech lead, PM muốn đối chiếu code với business process.
  • Nhóm làm wiki, tài liệu học tập muốn dựng knowledge graph.

Không nên dùng:

  • Dự án quá nhỏ, chỉ cần IDE tìm kiếm là đủ.
  • Môi trường cấm gửi mã nguồn lên LLM đám mây mà chưa setup local model.
  • Ngân sách token eo hẹp và không muốn chờ lần phân tích đầu.

Làm sao chia sẻ knowledge graph cho team không cần chạy LLM?

Làm sao chia sẻ knowledge graph cho team không cần chạy LLM?
Làm sao chia sẻ knowledge graph cho team không cần chạy LLM?

Đây là điểm khác biệt lớn: graph chỉ là JSON trong thư mục .ua. Bạn commit file đó lên git, đồng đội dùng Node.js mở viewer trực tiếp mà không cần Claude Code, LLM hay API key.

  1. Commit toàn bộ .ua, ngoại trừ .ua/intermediate và .ua/diff-overlay.json vì chúng chỉ là dữ liệu tạm.
  2. Muốn graph tự cập nhật theo commit, bật /understand --auto-update để cài post-commit hook.
  3. Nếu graph lớn hơn 10 MB, dùng git-lfs theo lệnh: git lfs track '.ua/*.json' rồi git add .gitattributes .ua/.
  4. Đồng đội mở dashboard bằng một dòng: npx https://github.com/Egonex-AI/Understand-Anything/releases/latest/download/understand-anything-viewer.tgz /path/to/analyzed/project.

Lệnh cuối tự mở giao diện ở localhost, phục vụ read-only từ ổ cứng nên dữ liệu không rời máy.

Dùng Understand Anything ở Việt Nam cần cân nhắc gì?

Dùng Understand Anything ở Việt Nam cần cân nhắc gì?
Dùng Understand Anything ở Việt Nam cần cân nhắc gì?

Về lý thuyết công cụ rất mạnh, nhưng khi dùng tại Việt Nam có ba nhóm rào cản thực tế: hạ tầng mạng tới GitHub và model provider, chi phí token quy đổi, và ngôn ngữ giao diện chưa có tiếng Việt.

Hạ tầng mạng và thanh toán quốc tế

Nếu chọn model đám mây của Claude Code, Codex hay Gemini CLI, bạn bắt buộc có kết nối mạng quốc tế ổn định và phương thức thanh toán quốc tế cho gói subscription hoặc API. Phần này README không đề cập vì nó phụ thuộc nhà cung cấp hạ tầng.

Chi phí token khi phân tích lần đầu

README cảnh báo lệnh /understand đầu tiên trên project lớn có thể tiêu tốn token đáng kể. Các lần sau chỉ phân tích file thay đổi nên rẻ hơn. Nếu ngân sách hẹp, hãy chạy local model hoặc giới hạn phạm vi bằng cú pháp /understand tên_thư_mục.

Chưa có giao diện tiếng Việt

Lệnh –language chỉ nhận en, zh, zh-TW, ja, ko, ru. Dashboard, summary node và guided tour không được liệt kê tiếng Việt trong README. Bạn vẫn có thể đặt câu hỏi tiếng Việt trong chat, nhưng kết quả hiển thị mặc định là tiếng Anh.

Câu hỏi thường gặp

Understand Anything có miễn phí không?

Repository được cấp giấy phép MIT và viewer mở graph không gọi LLM nên không tốn API key. Tuy nhiên lần phân tích /understand đầu tiên dùng model nền tảng AI, README khuyên chạy trên gói token hoặc chuyển qua local model để tránh chi phí cao.

Có thể dùng Understand Anything mà không gửi mã nguồn lên cloud không?

Được nếu bạn cấu hình local model provider kiểu Ollama cho nền tảng AI. Còn khi dùng Claude Code, Codex hoặc Gemini CLI mặc định, dữ liệu vẫn đi qua API model đám mây. Bản viewer local chỉ hiển thị graph đã tạo, không gửi gì ra ngoài.

Understand Anything có hỗ trợ tiếng Việt không?

README chưa liệt kê tiếng Việt trong danh sách ngôn ngữ. Cờ –language hỗ trợ en, zh, zh-TW, ja, ko, ru; dashboard, node summary và guided tour sinh theo ngôn ngữ đó. Bạn có thể chat bằng tiếng Việt nhưng giao diện chưa được bản địa hóa.

Team không có Claude Code có xem được graph không?

Được. Chỉ cần graph đã được commit vào repo và người xem cài Node.js phiên bản >=18, sau đó chạy lệnh npx dẫn tới file viewer trong release. Không cần tài khoản Claude Code, không cần LLM và không cần API key.

Kết luận

Understand Anything không phải viên đạn bạc: nó tốn token, cần cân nhắc quyền riêng tư và chưa có giao diện tiếng Việt. Nhưng với đội ngũ đang vật lộn với codebase kế thừa hoặc phải onboarding nhiều người, đây là một repo GitHub đáng thử vì nó đúng tinh thần AI giúp con người hiểu vấn đề, không phải thay thế con người.

Bắt đầu bằng một repo cá nhân nhỏ, chạy /understand một lần, xem graph và tự đánh giá xem công cụ có giúp bạn đọc code nhanh hơn không. Dữ liệu source đầy đủ nằm ở mục nguồn tham khảo bên dưới.

Nguồn tham khảo

Nguồn tham khảo
Nguồn tham khảo

Related Posts