code-review-graph؛ نقشهای از کد برای دستیارهای هوش مصنوعی
خلاصهٔ کاملتر
ابزارهای کدنویسی مبتنی بر هوش مصنوعی معمولاً برای هر ریویو کد، بخش بزرگی از کل پروژه رو دوباره میخونن که هم کند و هم پرهزینهست. پروژه code-review-graph میگه این مشکل رو با ساختن یه نقشهٔ ساختاری از کد حل کرده: با Tree-sitter کد رو به یه گراف از فانکشنها، کلاسها، ایمپورتها و رابطههاشون (فراخوانی، ارثبری، پوشش تست) تبدیل میکنه و از طریق پروتکل MCP فقط همون بخشی از کد رو در اختیار دستیار هوش مصنوعی میذاره که واقعاً به سؤال یا تغییر مربوطه.
نصب و راهاندازیش خیلی سادهست؛ یه دستور همهچیزو خودکار تنظیم میکنه، از تشخیص ابزار AI نصبشده (Claude Code، Cursor، Codex، Gemini CLI و بقیه) تا نوشتن کانفیگ MCP مناسب:
pip install code-review-graph
code-review-graph install
code-review-graph buildبعد از build اولیه (حدود ۱۰ ثانیه برای یه پروژهٔ ۵۰۰ فایلی)، حالت watch یا هوکهای پلتفرم میتونن گراف رو خودکار بهروز نگه دارن.
وقتی یه فایل عوض میشه، ابزار همهٔ فراخوانها، وابستهها و تستهای مرتبط باهاش رو ردیابی میکنه (اصطلاحاً blast radius) تا دستیار هوش مصنوعی فقط همونا رو بخونه، نه کل پروژه رو. آپدیتهای افزایشی خیلی سریعن؛ طبق ادعای پروژه یه ریپوی ۲٬۹۰۰ فایلی زیر ۲ ثانیه دوباره ایندکس میشه. تو مونوریپوهای بزرگ که بیشترین هدررفت توکن اونجاست، از بین بیش از ۲۷ هزار فایل فقط حدود ۱۵ فایل واقعاً خونده میشه.
پروژه بنچمارکهای خودشو هم منتشر کرده: رو ۶ ریپوی متنباز واقعی، کاهش میانگین توکن به ازای هر سؤال حدود ۸۲ برابره (بازه ۳۸ تا ۵۲۸ برابر)، و عدد ۵۲۸ برابر که زیاد نقل میشه فقط بهترین حالت (fastapi) بوده، نه نتیجهٔ معمول. برای دقت پیشبینی تأثیر تغییرات هم میانگین F1 حدود ۰.۷۱۴ گزارش شده، با این تذکر صادقانه که چون داده مرجع از همون گراف ساخته میشه، ریکال ۱۰۰٪ یه سقف دایرهوار، نه ادعای کمال.
از قابلیتهای دیگهاش میشه به تحلیل ریسک تو PR از طریق یه GitHub Action (که کامنت چسبنده با نمرهٔ ریسک میذاره)، جستوجوی معنایی، دیمن چندریپویی برای واچ خودکار، و پشتیبانی گسترده از زبانها (پایتون، جاوااسکریپت/تایپاسکریپت، گو، راست، پیاچپی و دهها زبان دیگه) اشاره کرد. پروژه صادقانه ضعفهاشو هم لیست کرده: کیفیت جستوجوی کلیدواژهای هنوز جای کار داره، تشخیص فلوی اجرا تو جاوااسکریپت و گو ضعیفه، و برای تغییرات خیلی کوچیک، اورهد متادیتای گراف میتونه از خوندن مستقیم فایل هم سنگینتر بشه.
نکات کلیدی:
- با Tree-sitter یه گراف ساختاری از کد میسازه و از طریق MCP فقط بخش مرتبط رو به AI میده
- blast-radius analysis فایلها و تستهای تحت تأثیر هر تغییر رو پیدا میکنه
- آپدیت افزایشی زیر ۲ ثانیه، حتی رو ریپوهای چند هزار فایلی
- طبق بنچمارک پروژه، کاهش توکن میانگین ۸۲ برابره (بازه ۳۸ تا ۵۲۸ برابر)
- یه GitHub Action هم برای ریویوهای ریسکمحور PR داره




