Tools

Graphify: biến codebase thành knowledge graph để Claude khỏi đọc lại từng file

Tóm tắt

Graphify dựng một knowledge graph từ thư mục code, tài liệu, paper và hình ảnh. Thay vì đọc lại file thô mỗi lần hỏi, Claude Code truy vấn đồ thị đã lưu. Mức tiết kiệm tăng theo kích thước dự án — với repo nhỏ lợi ích chủ yếu là nhìn rõ cấu trúc.

Mỗi khi hỏi “hàm này được gọi ở đâu?” hoặc “module thanh toán phụ thuộc vào gì?”, Claude Code thường phải mở nhiều file để tìm câu trả lời — tốn thời gian và token, và lặp lại ở mỗi phiên mới. Graphify tiếp cận khác: dựng một knowledge graph từ thư mục code, tài liệu, paper và hình ảnh, rồi để Claude truy vấn đồ thị đã lưu thay vì đọc lại file thô.

Ý tưởng cốt lõi

Quan hệ giữa các phần của codebase (ai gọi ai, ai import ai, khái niệm nào nối với khái niệm nào) vốn là dữ liệu có cấu trúc. Lưu nó thành đồ thị một lần rồi truy vấn nhiều lần rẻ hơn nhiều so với đọc lại hàng chục file mỗi lần hỏi. Lợi ích tăng theo kích thước dự án; với repo chỉ vài file, giá trị chính là nhìn thấy cấu trúc.

Cách hoạt động

BướcChi tiết
Phân tích codetree-sitter (AST) + call graph, chạy local, không cần LLM
Phân tích tài liệuDoc, PDF, ảnh sơ đồ được gửi qua Claude để rút khái niệm
Gắn nhãn quan hệEXTRACTED / INFERRED / AMBIGUOUS — biết cái nào chắc chắn, cái nào là suy luận
Kết quảThư mục graphify-out/: graph.html, graph.json, GRAPH_REPORT.md, vault Obsidian

Việc gắn nhãn mức chắc chắn rất đáng giá: nó cho bạn biết khi nào có thể tin kết quả và khi nào cần tự kiểm tra bằng cách đọc code.

Cài và dùng

pip install graphifyy && graphify install
# trong Claude Code:
/graphify .

Khi nào đáng dùng?

  • Onboarding codebase lạ: mở graph.html để thấy module trung tâm và các cụm liên quan trước khi đọc code.
  • Repo lớn, nhiều câu hỏi: đây là nơi tiết kiệm token rõ nhất.
  • Có nhiều tài liệu đi kèm: thiết kế, paper, sơ đồ được nối vào cùng một đồ thị với code.

Lưu ý và rủi ro

  • Con số tiết kiệm (khoảng 70 lần) đến từ benchmark của chính dự án; hãy tự đo trên repo của bạn.
  • Dữ liệu đi đâu: phần phân tích code chạy local, nhưng tài liệu và ảnh được gửi qua Claude khi dựng graph. Với tài liệu nhạy cảm, kiểm tra chính sách của công ty.
  • Đồ thị cũ: sau nhiều commit, graph lỗi thời sẽ cho câu trả lời sai. Dùng hook sau commit để dựng lại.
  • Cạnh INFERRED: coi là gợi ý, không phải sự thật.

Quy trình thử nghiệm đề xuất

  1. Chọn repo trung bình–lớn bạn đang làm.
  2. Dựng graph, đọc GRAPH_REPORT.md để kiểm tra có khớp hiểu biết của bạn không.
  3. Hỏi 5 câu hỏi cấu trúc thật; so sánh số token và độ đúng với cách thường làm.
  4. Nếu hiệu quả, thêm hook cập nhật graph vào quy trình.

Áp dụng thế nào?

  • Dev: dùng graph.html để lập bản đồ trước khi sửa một module lạ.
  • Tech Lead: đưa GRAPH_REPORT.md vào tài liệu onboarding — nó cho người mới bức tranh tổng thể trong vài phút.
  • PM: đồ thị giúp trả lời nhanh câu hỏi tác động (“sửa phần này ảnh hưởng gì?”) khi lập kế hoạch.

Nguồn & tham khảo

  1. Graphify trên ClaudeLog