پرش به محتوای اصلی
پرش به محتوای مقاله

«بهینه‌سازی دسترسی به کد»؛ هدف اصلی ابزار متن‌باز Pensieve

·۲۰ مهر ۱۴۰۵۱۰ دقیقه مطالعه
پنسایو: جستجوی کد محلی و زمینه MCP برای عوامل کدنویسی هوش مصنوعی
پنسایو: جستجوی کد محلی و زمینه MCP برای عوامل کدنویسی هوش مصنوعی
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی یک لایهٔ بازیابی محلی مبتنی بر MCP که به‌جای خواندن گستردهٔ فایل‌ها، از نمایه‌سازی معنایی برای کاهش ۴۳ درصدی Tool Callها استفاده می‌کند.

اگر امروز از عامل‌های کدنویس برای مدیریت پروژه‌های حجیم استفاده می‌کنید، احتمالاً با مشکل خواندن ده‌ها فایل نامرتبط توسط مدل مواجه شده‌اید. ابزار Pensieve این چرخهٔ ناکارآمد را می‌شکند و طبق داده‌های منتشر شده در وب‌سایت tedhaley.ca، تعداد فراخوانی‌های ابزاری (Tool Calls) برای حل یک مسئله را تا ۴۳٪ کاهش می‌دهد.

بسیاری از عامل‌های کدنویس فعلی برای یافتن منطق مورد نیاز، کل دیسک را با دستور grep جست‌وجو می‌کنند. این فرآیند — شبیه به گشتن تمام صفحات یک کتاب برای یافتن یک کلمهٔ خاص بدون داشتن فهرست مطالب — بسیار کند و گران است. برای توسعه‌دهنده، این یعنی مصرف توکن‌های بیشتر و زمان انتظار طولانی‌تر برای یک بازنویسی ساده.

Pensieve با ایجاد یک نمایه‌ساز (Index) محلی از فایل‌ها، مخازن و جلسات عامل در سیستم‌عامل macOS این مشکل را حل می‌کند. این ابزار از پروتکل زمینهٔ مدل (Model Context Protocol یا MCP) — که مثل یک مترجم استاندارد بین مدل و ابزارهای محلی عمل می‌کند — استفاده می‌کند تا به عنوان یک موتور جست‌وجوی تخصصی برای عامل عمل کند. این رویکرد در راستای گسترش کاربردهای MCP است، مشابه آنچه در تسهیل کنترل مستقیم نرم‌افزارهای گرافیکی مانند بلندر توسط مدل‌های زبانی مشاهده کردیم. به جای اینکه عامل ۴۰ فایل را بخواند تا یک قانون بازگشت (backoff rule) را پیدا کند، یک پرسش از Pensieve می‌پرسد و دقیقاً شماره خط و فایل را دریافت می‌کند.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی بهینه‌سازی پنجرهٔ متنی مدل‌ها اشاره کردیم، کاهش نویز در ورودی مدل، مستقیماً بر کیفیت خروجی اثر می‌گذارد.

مکانیزم Grep در برابر Pensieve

بدون Pensieve، عاملی که می‌خواهد بداند «چرا تلاش‌های مجدد کارت پس از رد شدن متوقف می‌شوند؟» باید یک جست‌وجوی خام انجام دهد. طبق گزارش‌های فنی، مدل ممکن است کلمه retry را جست‌وجو کرده، ۲۱۲ مورد پیدا کند و سپس ده‌ها فایل نامرتبط را بخواند تا در نهایت به جواب برسد. این یعنی یک جست‌وجو و بیش از ۴۰ عملیات خواندن فایل.

با Pensieve، همین پرسش به یک فراخوانی جست‌وجوی واحد ختم می‌شود. عامل نتایج دقیقی دریافت می‌کند: مثلاً خط ۴۲ فایل payments/retry.py و خط ۱۱۸ فایل payments/gateway.py. در نتیجه، مدل فقط خطوط مورد نیاز را می‌خواند و متوجه می‌شود که رد شدن‌های سخت (hard declines) صف تلاش مجدد را دور می‌زنند. این فرآیند به یک جست‌وجو و یک خواندن ساده تبدیل می‌شود.

یکپارچگی فنی و قابلیت‌ها

این ابزار به عنوان یک سرور MCP عمل می‌کند و با کلاینت‌های محبوبی مثل Claude Code، Cursor، Windsurf و VS Code سازگار است. یکپارچگی آن از طریق یک دستور خط فرمان انجام می‌شود که دستورالعمل «ابتدا جست‌وجو کن، سپس grep بزن» را به پرامپت سیستمی (System Prompt) عامل اضافه می‌کند.

کاربران و عامل‌ها می‌توانند از سه حالت جست‌وجو استفاده کنند:

  • جست‌وجوی معنایی (Semantic Search) — مثل وقتی که شما مفهوم «محدودیت نرخ» را می‌خواهید اما لزوماً این کلمات در کد نیستند؛ مدل بر اساس معنا جست‌وجو می‌کند.
  • جست‌وجوی کلمات دقیق: تطبیق دقیق شناسه‌ها با استفاده از علامت نقل‌قول.
  • جست‌وجوی ترکیبی: رتبه‌بندی نتایج دقیق بر اساس معنا برای اولویت‌بندی موارد مرتبط‌تر.

برای دقت بیشتر، Pensieve فیلترهای پیشرفته‌ای مثل حذف کلمات (با علامت -)، فیلتر نوع فایل (kind:code) و محدود کردن دامنه به پوشه‌های خاص (in:) را ارائه می‌دهد.

تحلیل عملکرد و بنچمارک‌ها

در یک آزمون رودررو با استفاده از مدل Claude Sonnet روی چهار مخزن واقعی (با تعداد فایل‌هایی از ۵۰۴ تا ۳۴,۸۴۷ عدد)، نتایج خیره‌کننده‌ای به دست آمد:

  • کاهش فراخوانی‌ها: میانگین فراخوانی‌ها از ۳.۴ (در حالت grep) به ۲.۰ کاهش یافت. در ۸۲ مورد از ۱۴۴ اجرا، مدل تنها با یک فراخوانی به جواب رسید.
  • بهره‌وری هزینه: هزینه هر جست‌وجو ۱۸٪ کاهش یافت (از ۰.۰۵۰ به ۰.۰۴۱ دلار) و مصرف کلی توکن‌ها ۱۶٪ کمتر شد.
  • سرعت: زمان میانگین جست‌وجو از ۱۰.۹ ثانیه به ۸.۶ ثانیه رسید، در حالی که هر جست‌وجوی داخلی تنها ۰.۱ تا ۰.۲ ثانیه زمان می‌برد.
  • صحت: Pensieve در ۱۳۱ مورد از ۱۴۴ اجرا فایل درست را یافت، در حالی که grep تنها در ۱۲۳ مورد موفق بود.

نقشه‌برداری دانش و مالکیت کد

Pensieve فراتر از جست‌وجو، داده‌های git blame را تحلیل می‌کند تا نقشه‌ی دانش هر پروژه را رسم کند. این ابزار شناسایی می‌کند که چه کسی هر بخش از کد را نوشته و بر اساس خطوط باقی‌مانده، وزن مالکیت را محاسبه می‌کند.

این قابلیت به تیم‌ها اجازه می‌دهد «شکاف‌های دانشی» را شناسایی کنند؛ یعنی بخش‌های حیاتی از کد که نویسندگان اصلی‌شان دیگر در پروژه فعال نیستند. برای مثال، اگر در ماژول مالیاتی یک پروژه، نویسنده اصلی از سال گذشته فعال نبوده، Pensieve هشدار می‌دهد که این بخش در معرض ریسک است و پیشنهاد می‌کند قبل از تغییر قوانین مالیاتی، با تنها متخصص فعال فعلی مشورت کنید. این رویکرد در کنار ابزارهایی که به طور خودکار معماری نرم‌افزار را از نیازمندی‌های مبهم استخراج می‌کنند، به کاهش ریسک‌های عملیاتی در پروژه‌های بزرگ کمک می‌کند.

حریم خصوصی و اجرای محلی

تمام عملیات نمایه‌سازی و جست‌وجو به‌صورت محلی روی تراشه‌های Apple Silicon (macOS ۱۴ به بالا) اجرا می‌شود. سیستم از یک مدل بردار معنایی (Embedding) — که مثل یک کارت معرفی عددی برای هر واژه است تا همسایگی معنایی کلمات را مشخص کند — روی دستگاه استفاده می‌کند و داده‌ها را در مسیر ~/.pensieve ذخیره می‌کند.

امنیت در این ابزار اولویت دارد:

  • سوییچ‌های منبع: کاربر می‌تواند نمایه‌سازی پوشه‌ها یا اپلیکیشن‌های خاص را خاموش کند.
  • نادیده گرفتن اسرار: سیستم به‌طور خودکار فایل‌های .env و کلیدهای امنیتی را نمایه‌سازی نمی‌کند.
  • بدون نیاز به ابر: برای عملکردهای اصلی، هیچ حساب کاربری یا سرویس ابری لازم نیست.

برای تحلیل‌های تکمیلی، کاربران می‌توانند از مدل داخلی Qwen 3.5 9B یا سرورهای محلی مثل LM Studio استفاده کنند.

استقرار و به‌روزرسانی در لحظه

نصب Pensieve به‌گونه‌ای طراحی شده که توسط خودِ عامل انجام شود. کاربر تنها یک پرامپت نصب را به عامل می‌دهد و مدل اسکریپت را اجرا می‌کند. پس از نصب، Pensieve پوشه‌ها را به‌صورت لحظه‌ای رصد می‌کند.

تغییرات ثبت‌نشده در git (uncommitted edits) و هر worktree بر اساس شاخه (branch) ردیابی می‌شوند تا عامل هرگز با زمینه (context) قدیمی کار نکند. هر تغییری در فایل‌ها یا افزودن یک PDF جدید به پوشه اسناد، ظرف چند ثانیه در نمایه‌ساز به‌روز می‌شود.

این تغییر معماری، عامل را از رویکرد «همه چیز را بخوان» به «بازیابی هدفمند» منتقل می‌کند. با تبدیل سیستم‌فایل محلی به یک پایگاه‌داده قابل جست‌وجو، گران‌ترین بخش چرخهٔ عامل یعنی پنجرهٔ زمینه (Context Window) — که مثل میز کاری است که فقط جای چند ورق دارد — بهینه می‌شود. این تحول در ابزارهای توسعه، گامی است به سوی مدل‌های جدید ساخت نرم‌افزار که در آن مدیریت محصول جایگزین کدنویسی سنتی می‌شود و نقش برنامه‌نویس را به نظارت بر عامل‌های هوشمند تغییر می‌دهد.

گام بعدی شما

  • اگر از macOS استفاده می‌کنید، اسکریپت نصب را از طریق curl اجرا کرده و با دستور pensieve integrate recommended آن را به عامل خود متصل کنید.
  • برای کاهش هزینه‌های API، ابتدا جست‌وجوی معنایی را جایگزین grep کنید تا تعداد توکن‌های ورودی کاهش یابد.
  • از قابلیت نقشه‌برداری دانش برای شناسایی بخش‌های حساس کد که نیاز به مستندسازی مجدد دارند استفاده کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این ابزار با کاهش چشمگیر فراخوانی‌های ابزاری، هزینه‌های عملیاتی توسعه‌دهندگان را کاهش و دقت عامل‌ها را افزایش می‌دهد. تکیه بر پروتکل MCP نشان‌دهندهٔ حرکت صنعت به سمت استانداردهای باز برای اتصال مدل‌ها به داده‌های محلی است.

تأثیر برای ایران

به‌دلیل متن‌باز بودن و اجرای کاملاً محلی روی سخت‌افزار، توسعه‌دهندگان ایرانی بدون نیاز به اکانت‌های ابری یا عبور از محدودیت‌های API می‌توانند از آن برای بهینه‌سازی جریان کاری خود استفاده کنند.

·نگاه ما
تحریریه دات‌هوش

جایگزینی جست‌وجوی خام با لایه‌های بازیابی محلی نشان می‌دهد که آیندهٔ کدنویسی با هوش مصنوعی در گسترش پنجرهٔ متنی نیست، بلکه در هوشمندی لایهٔ دسترسی به داده‌هاست. Pensieve با پیوند دادن مالکیت انسانی به بلوک‌های کد، شکاف بین اتوماسیون و همکاری تیمی را پر می‌کند و مدل را از یک کدنویس کور به یک تحلیل‌گر آگاه تبدیل می‌کند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.