GraphRelay

GraphRelay là công cụ graph-aware code search giúp coding agents hiểu nhanh các codebase lớn và phức tạp. Bằng cách kết hợp code search với việc phân tích mối quan hệ giữa các functions và dependencies, GraphRelay giúp tìm kiếm implementations, hiểu cách các thành phần tương tác với nhau và đánh giá impact của những thay đổi trong source code — tất cả thông qua một công cụ chạy local.

Xem giải pháp hoạt động thực tế.

Vấn đề chúng tôi giải quyết

Khi codebase ngày càng lớn, việc tìm kiếm đoạn code phù hợp trở nên tốn nhiều thời gian hơn. Coding assistant gặp khó khăn trong việc hiểu cách các component khác nhau liên kết với nhau, khiến quá trình khám phá code trở nên phức tạp hơn, đồng thời làm tăng nguy cơ bỏ sót dependency và các bug ngoài dự kiến.

From problem to possibility

GraphRelay - một cách thông minh hơn để điều hướng các codebase phức tạp. Nó giúp các coding assistant tìm kiếm mã liên quan và khám phá các kết nối ẩn, giảm thiểu việc tìm kiếm thủ công và cho phép thực hiện các thay đổi mã nhanh hơn, tự tin hơn.

Tập trung vào những điều quan trọng

Tính năng & Mô-đun chính

Tìm kiếm code theo ý định

Tìm kiếm code theo ý định

Search code cho phép tìm code thông qua mô tả bằng ngôn ngữ tự nhiên hoặc tìm implementation của một interface cụ thể. Kết hợp lexical BM25 và graph expansion giúp tìm ra các caller và callee liên quan, từ đó giảm số lần agent cần tìm kiếm để khám phá code.

Xem chi tiết mọi Symbol và File

Xem chi tiết mọi Symbol và File

Inspect cho phép xem definition, callers và callees của một symbol, hoặc nội dung và phần tóm tắt của một file hay module. Công cụ có thể trả về toàn bộ source code mà không cần thực hiện thêm thao tác đọc file riêng biệt.

Theo dõi tác động trước khi thay đổi

Theo dõi tác động trước khi thay đổi

Trace impact giúp xác định những thành phần đang phụ thuộc vào một symbol trước khi thay đổi, giảm nguy cơ làm hỏng các caller nằm trong những file khác.

Cập nhật index liên tục và theo dõi trạng thái

Cập nhật index liên tục và theo dõi trạng thái

File watcher tự động cập nhật index khi các file thay đổi. Watch status giúp theo dõi tiến độ và tình trạng hoạt động của quá trình indexing, đảm bảo kết quả tìm kiếm luôn đáng tin cậy trong suốt quá trình chỉnh sửa code.


Xem cách code liên kết với nhau cùng Graph Relay

Giới thiệu

Kết quả

Hiệu suất đạt được

Hiệu suất xử lý

Hiệu suất xử lý

Query → Tìm kiếm từ khóa bằng FTS5 BM25 → Mở rộng đồ thị 1 bước → Xếp hạng theo thuật toán PageRank có cá nhân hóa → Bổ sung thông tin → Sắp xếp lại kết quả dựa trên mối liên hệ trong đồ thị và từ khóa → Trả về kết quả theo thứ tự phù hợp nhất.

Thời gian xử lý

Thời gian xử lý

Độ trễ khi truy vấn trên Keycloak (bộ dữ liệu kiểm thử cũ, ngày 29/09/2026) - P50: 189 ms — 50% truy vấn hoàn thành trong vòng 189 ms - P95: 281 ms — 95% truy vấn hoàn thành trong vòng 281 ms - P95 dưới 100 ms. Hiện tại, hệ thống chưa đạt mục tiêu này.

Khả năng xử lý

Khả năng xử lý

Việc phân tích toàn bộ index song song nhanh hơn khoảng 6,1 lần so với xử lý tuần tự trên một bộ dữ liệu mô phỏng. Tuy nhiên, việc kiểm thử tốc độ indexing trên một repository lớn trong thực tế vẫn chưa được thực hiện.

Chất lượng độ chính xác

Chất lượng độ chính xác

Benchmark với AI agent gồm 30 câu hỏi về ERPNext, mỗi câu được chạy một lần, so sánh tỷ lệ câu trả lời có thông tin phù hợp với phiên bản không sử dụng công cụ: — GLM 5.3 Flash 80.2% vs 77.6% (+2.6); Sonnet 5.5 70.6% vs 67.2% (+3.4). Kết luận: Cả hai model đều có tỷ lệ bao phủ câu trả lời cao hơn khi sử dụng công cụ. Tuy nhiên, chênh lệch này chưa đủ cơ sở thống kê để khẳng định công cụ thực sự cải thiện kết quả.