موتورِ فهمِ کد برای ایجنتهای هوش مصنوعی
خلاصهٔ کاملتر
codebase-memory-mcp یه موتورِ متنبازِ فهمِ کده که برای ایجنتهای هوش مصنوعیِ کدنویسی ساخته شده. کارش اینه که با تحلیلِ درختِ نحو (tree-sitter) روی ۱۵۸ زبان، کلِ کدبیس رو به یه گرافِ دانشِ ماندگار از توابع، کلاسها، زنجیرهٔ فراخوانی، مسیرهای HTTP و پیوندهای بینسرویسی تبدیل کنه. به گفتهٔ سازنده یه ریپوی متوسط رو تو چند میلیثانیه و کرنلِ لینوکس (۲۸ میلیون خط) رو تو سه دقیقه ایندکس میکنه.
مزیتِ اصلی که پروژه روش تأکید داره، صرفهجوییِ توکنه: پنج کوئریِ ساختاری حدودِ ۳٬۴۰۰ توکن مصرف میکنه، در حالی که همون کار با گرپ و خوندنِ فایلبهفایل حدودِ ۴۱۲٬۰۰۰ توکن میبره — یعنی یه کوئریِ گراف جای دهها چرخهٔ جستوجو و خوندن رو میگیره. ابزار بهشکلِ یه باینریِ استاتیکِ تکفایل برای مک، لینوکس و ویندوز عرضه میشه، بدونِ داکر و وابستگیِ زمانِ اجرا؛ نصب هم با یه دستور انجام میشه و خودش ۱۱ ایجنتِ کدنویسی رو شناسایی و پیکربندی میکنه.
فراتر از tree-sitter، یه لایه به اسمِ Hybrid LSP هم داره که تحلیلِ نوعِ معناییه: یه پیادهسازیِ سبکِ C از الگوریتمهای زبانسرورها که مستقیم داخلِ باینری جاسازی شده و بدونِ فرایندِ زبانسرورِ جدا کار میکنه. این لایه برای زبانهایی مثلِ Python، TypeScript، Go، Rust، Java و چند تای دیگه، یالهای فراخوانی رو با اطلاعاتِ نوع دقیق میکنه، طوری که گراف همون چیزی رو نشون بده که «Go to Definition» تو IDE پیدا میکنه.
سیستم ۱۴ ابزارِ MCP داره — از جستوجو و ردیابیِ مسیرِ فراخوانی تا نمای معماری، تحلیلِ تأثیرِ تغییرات و تشخیصِ کدِ مرده — و یه زیرمجموعهٔ فقطخواندنی از زبانِ کوئریِ Cypher رو هم میفهمه. مثلاً برای دیدنِ اینکه تابعِ main چی رو صدا میزنه:
MATCH (f:Function)-[:CALLS]->(g) WHERE f.name = 'main' RETURN g.nameنکتهٔ مهم اینه که خودِ ابزار LLM نداره؛ فقط گراف رو میسازه و کوئری میگیره و همون ایجنتی که باهاش حرف میزنی، لایهٔ هوشمندیه.
یه قابلیتِ جالبِ دیگه، آرتیفکتِ گرافِ مشترکِ تیمیه: یه فایلِ فشردهٔ کوچیک کنارِ سورس کامیت میشه تا همتیمیهات لازم نباشه از صفر دوباره ایندکس کنن؛ موقعِ کلونِ ریپو، فایل باز میشه و فقط تفاوتِ محلی بهصورتِ افزایشی ایندکس میشه. همهچیزم صددرصد محلی پردازش میشه و کد از دستگاهت بیرون نمیره.
نکات کلیدی:
- کلِ ریپو رو به یه گرافِ دانش تبدیل میکنه تا ایجنت بهجای گرپ، ساختار رو کوئری بزنه.
- یه باینریِ استاتیکِ تکفایل با پشتیبانی از ۱۵۸ زبان و ۱۴ ابزارِ MCP.
- ادعا میکنه مصرفِ توکن رو نسبت به خوندنِ فایلبهفایل تا حدودِ ۱۲۰ برابر کم میکنه.
- لایهٔ Hybrid LSP یالهای فراخوانی رو با تحلیلِ نوع دقیق میکنه.
- خودش LLM نداره؛ هوشمندی از ایجنتِ MCPِ توئه و پردازش هم کاملاً محلیه.




