Code-Graph-RAG biến một codebase đa ngôn ngữ thành một đồ thị tri thức để bạn có thể tìm kiếm, hiểu, truy vấn và chỉnh sửa mã bằng ngôn ngữ tự nhiên.
Code-Graph-RAG là một công cụ viết bằng Python để lập chỉ mục monorepo và các kho mã pha trộn nhiều ngôn ngữ vào một cơ sở dữ liệu đồ thị. Công cụ này đọc mã nguồn, trích xuất các thành phần cấu trúc như hàm, lớp, phương thức và module, rồi cho phép truy vấn, chỉnh sửa, tối ưu hóa và lấy lại mã nguồn thông qua một giao diện điều khiển bằng AI.
Công cụ này giải quyết khó khăn khi phải hiểu và làm việc với các codebase lớn, đa ngôn ngữ, đặc biệt là monorepo nơi các mối quan hệ giữa file và ký hiệu rất khó theo dõi. Thay vì chỉ dựa vào tìm kiếm văn bản, nó hướng tới việc cho phép nhà phát triển đặt câu hỏi, tìm mã theo ý định, truy vết phụ thuộc và phát hiện dead code theo cách có cấu trúc hơn.
Về mặt khái niệm, hệ thống có hai phần. Thứ nhất, một bộ phân tích dựa trên Tree-sitter quét repository và lưu cấu trúc cùng các mối quan hệ của mã vào Memgraph theo một schema dùng chung; thứ hai, một lớp RAG tương tác chuyển yêu cầu ngôn ngữ tự nhiên thành truy vấn Cypher, lấy kết quả liên quan từ đồ thị và hỗ trợ chỉnh sửa cũng như tối ưu hóa có trợ giúp bởi AI. README cũng cho biết quy trình này có thể được cung cấp qua MCP server và hỗ trợ tìm kiếm/thay thế có cấu trúc bằng AST pattern.
Dự án đang được chú ý vì kết hợp nhiều xu hướng nổi bật trong lĩnh vực công cụ cho lập trình viên: hiểu mã bằng AI, đồ thị tri thức, tìm kiếm ngữ nghĩa, tích hợp MCP và công cụ cho repository đa ngôn ngữ. README nhấn mạnh các bổ sung gần đây như hỗ trợ Ruby qua một lớp ast-grep có thể cắm thêm, tìm kiếm và thay thế theo cấu trúc, và mở rộng truy vết luồng dữ liệu sang nhiều ngôn ngữ hơn, cho thấy dự án đang phát triển tích cực và mở rộng phạm vi sử dụng.
README không nêu đối thủ trực tiếp, nhưng các lựa chọn gần nhất có thể là công cụ tìm kiếm mã tổng quát, công cụ refactor dựa trên AST, và các hệ thống RAG khác dành cho codebase. Trên thực tế, dự án này nằm ở giao điểm giữa tìm kiếm mã theo ngữ nghĩa, cơ sở dữ liệu đồ thị và tác nhân AI hỗ trợ lập trình, thay vì thay thế một công cụ truyền thống đơn lẻ nào đó.
Do AI giải thích · dựa trên README của từng kho