cgrep: Công cụ tìm kiếm ý định mã cục bộ cho các tác nhân lập trình AI
(github.com/meghendra6)Xin chào. Tôi đã tạo ra một công cụ tìm kiếm mã ưu tiên cục bộ (code-local) tên là cgrep.
Mục tiêu cốt lõi là giảm lãng phí token và các lần tìm kiếm lặp lại phát sinh khi các tác nhân lập trình AI khám phá codebase.
cgrep kết hợp tìm kiếm BM25 (Tantivy) + phân tích symbol AST (tree-sitter), được thiết kế để hỗ trợ khám phá phù hợp với ý định mã hơn so với tìm kiếm chuỗi đơn thuần.
Các tính năng chính:
- Khám phá mã: definition / references / callers / dependents
- Khám phá ngữ cảnh: read / map
- Luồng 2 giai đoạn cho tác nhân:
agent locate -> agent expand(tìm ứng viên với payload nhỏ rồi chỉ mở rộng những gì cần thiết) - Hỗ trợ MCP:
cgrep mcp serve+ hỗ trợ cài đặt host - Hỗ trợ cài đặt tác nhân: claude-code, codex, copilot, cursor, opencode
Benchmark dựa trên PyTorch (6 kịch bản theo dõi triển khai):
- tokens-to-complete theo chuẩn grep: 127,665
- tokens-to-complete của cgrep (agent locate/expand): 6,153
- Giảm 95.2% token (thu gọn 20.75x)
- Độ trễ tìm kiếm trung bình đến khi hoàn tất: 1321.3ms -> 22.7ms (khoảng 58.2x)
Mọi xử lý đều chạy cục bộ (không phụ thuộc vào cloud index).
Rất mong nhận được phản hồi:
- Những điểm còn thiếu trong các codebase lớn thực tế
- Các điểm cần cải thiện trong tích hợp MCP/tác nhân
- Ý tưởng bổ sung cho các kịch bản benchmark
Repo: https://github.com/meghendra6/cgrep
Docs: https://meghendra6.github.io/cgrep/
Benchmark: https://meghendra6.github.io/cgrep/benchmarks/…
4 bình luận
Có vẻ có cùng mục đích với mgrep hoặc công cụ ck.
Trên macOS, khi thử chạy binary phát hành theo tiêu chuẩn v1.4.1 thì hiện cảnh báo và không chạy được.
Tôi đã nghĩ sẽ rất hay nếu cũng có các skills hoặc instruction để agent có thể tham khảo, giống như ví dụ agent-browser.
Tôi đã khắc phục sự cố với chữ ký nhị phân.
Cảm ơn bạn đã kiểm tra và đánh giá!
Hiệu quả giảm token đúng là rất tốt. Nếu trong README có kèm cả kết quả benchmark liên quan đến coding thì có lẽ độ tin cậy sẽ còn cao hơn, ngay cả khi hiệu năng benchmark chỉ được duy trì ở mức tương tự.
Theo góp ý của mọi người, tôi cũng đã bổ sung thêm kết quả benchmark cho kịch bản real coding agent.
Cảm ơn vì những phản hồi!