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

Engrim هزینهٔ توکن‌های حافظه در عامل‌های هوش مصنوعی را ۹۹٪ کاهش داد

·۱۶ شهریور ۱۴۰۵۶ دقیقه مطالعه
استاندارد حافظه اپیزودیک چندمدلی؛ موتور SQLite محلی برای ابزارهای کدنویسی هوش مصنوعی بدون وابستگی به ابر.
استاندارد حافظه اپیزودیک چندمدلی؛ موتور SQLite محلی برای ابزارهای کدنویسی هوش مصنوعی بدون وابستگی به ابر.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

جایگزینی پنجرهٔ زمینهٔ مدل با یک موتور حافظهٔ اپیزودیک محلی و مستقل که اجازه می‌دهد وضعیت پروژه بین مدل‌های مختلف (مثلاً از Claude به GPT) بدون از دست رفتن اطلاعات منتقل شود.

اگر هر بار هنگام شروع یک جلسهٔ جدید با هوش مصنوعی، ده دقیقه وقت صرف یادآوری ساختار دیتابیس یا محدودیت‌های API می‌کنید، Engrim دقیقاً برای پایان دادن به این چرخه ساخته شده است. این ابزار با انتقال حافظه از ابر به سیستم محلی، هزینه‌های بارگذاری مجدد زمینه را تا ۹۹٪ کاهش می‌دهد.

طبق اعلام سازندگان، Engrim که در ۷ سپتامبر ۲۰۲۶ منتشر شد، یک موتور حافظهٔ اپیزودیک (Episodic Memory) محلی است. این سیستم به توسعه‌دهندگان اجازه می‌دهد بدون پرداخت هزینه‌های گزاف توکن، وضعیت پروژه را در محیط‌های مختلف حفظ کنند. این رویکرد در راستای تلاش‌های اخیر برای بهینه‌سازی مصرف منابع است، مشابه آنچه در حافظهٔ Git-native در OKF برای کاهش ۸۰ درصدی مصرف توکن‌ها مشاهده کردیم.

بسیاری از برنامه‌نویسان امروز میان دو اتفاق ناگوار گیر کرده‌اند: یا با «رقیق شدن توجه» مواجه می‌شوند — یعنی وقتی پنجرهٔ زمینه (Context Window) — شبیه میز کاری که جا برای چند ورق دارد، نه برای کل کتابخانه — به بیش از یک میلیون توکن می‌رسد، قدرت استدلال مدل افت می‌کند؛ یا با پاک کردن جلسه، دچار فراموشی کامل می‌شوند. همان‌طور که در تحلیل قبلی ما درباره‌ی پروتکل MCP و انتشار وب‌سایت‌های زنده اشاره کردیم، مشکل اصلی، عدم تداوم وضعیت (State Persistence) بین ارائه‌دهندگان مختلف هوش مصنوعی است. فلسفهٔ Engrim ساده است: «مدل‌ها ابزارهای مصرفی هستند، اما تصمیمات پروژه شما خیر».

تصور کنید در میانهٔ یک پروژه، از Gemini 3.8 در Google Antigravity به Claude 3.7 Sonnet در Claude Code و سپس به GPT-4o در Cursor کوچ کنید. در حالت عادی، باید تمام تصمیمات معماری را دوباره توضیح دهید. Engrim مانند «سوئیسِ حافظهٔ هوش مصنوعی» عمل می‌کند و هوش پروژه را از هر سیلو یا فضای ابری اختصاصی جدا می‌کند تا هر عامل جدید، دقیقاً از همان جایی شروع کند که مدل قبلی متوقف شده بود.

سازوکار اصلی

Engrim به عنوان یک موتور SQLite در مسیر ~/.engrim/memory.db اجرا می‌شود. این سیستم به جای تزریق هزاران توکن «نویز فراموش‌شده» در هر نوبت، یک بستهٔ حافظهٔ کاری ۴۰۰۰ کاراکتری و گلچین‌شده را جایگزین می‌کند. این معماری در واقع پاسخی به چالش‌های تقابل ذخیره‌سازهای معنایی در برابر حافظه خطی برای حفظ دستورات اولیه در عامل‌های هوش مصنوعی است.

به نقل از مستندات فنی، این موتور برای دستیابی به این هدف از یک سیستم ترکیبی Reciprocal-Rank Fusion استفاده می‌کند:

  • جست‌وجوی لغوی: استفاده از SQLite FTS5 با جست‌وجوی کلیدواژه‌ای bm25، تریگرها و یک porter stemmer برای ریشه‌یابی کلمات.
  • جست‌وجوی معنایی: بهره‌گیری از model2vec برای ایجاد بردار معنایی (Embedding) — مثل کارت معرفی عددی برای هر واژه که می‌گوید این کلمه همسایه‌ی چه کلمات دیگری است — که روی CPU اجرا شده، نیازی به GPU ندارد و زمان بارگذاری آن حدود ۳۰ میلی‌ثانیه است.
  • ردیابی منشأ: هر ورودی حافظه با یک برچسب origin_agent (مانند cursor، claude-code، antigravity، cli یا user) علامت‌گذاری می‌شود تا مشخص شود هر تصمیم توسط چه عاملی گرفته شده است. این قابلیت از طریق یک فیلد origin_agent در دیتابیس پیاده‌سازی شده و مهاجرت‌های غیرتخریبی آن با دستور ALTER TABLE memories ADD COLUMN origin_agent TEXT انجام می‌شود.

معماری فنی

سیستم حول محور Core Engine (نسخه ۱.۳.۰) ساخته شده که جریان داده بین محیط‌های عامل و فضای ذخیره‌سازی را مدیریت می‌کند. این معماری از سه لایه اصلی تشکیل شده است:

  • محیط‌های عامل: پشتیبانی از Google Antigravity (از طریق PreInvocation و Stop Hooks)، Claude Code (از طریق SessionStart و Stop Hooks) و Cursor/Windsurf (از طریق پروتکل MCP stdio).
  • موتور مرکزی: شامل آداپتورها و هوک‌ها برای پلتفرم‌های مختلف، یک موتور ردیابی منشأ (Agent Provenance Engine) برای شناسایی منبع تصمیمات، و یک سیستم بازیابی و نظارت ترکیبی (Hybrid Retrieval & Minder) که جست‌وجوی لغوی bm25 و جست‌وجوی کسینوسی برداری را ادغام می‌کند.
  • ذخیره‌سازی محلی: یک دیتابیس SQLite شامل حافظه‌های گلچین‌شده (تصمیمات، حقایق، بازخوردها)، جست‌وجوی تمام‌متن FTS5، برداری‌های model2vec و یک «لاگ ضبط‌کننده» (Flight Recorder Log) که تمام نوبت‌های تعامل و خطوط عملیاتی را ردیابی می‌کند.

عملکرد تجربی

بر اساس داده‌های منتشر شده در github.com، Engrim روی یک سیستم معاملاتی الگوریتمی با ۵۰ هزار خط کد در ۱۰۵ جلسهٔ متوالی آزمایش شد. نتایج نشان داد که در ۱۸۶ تست واحد (Unit Test)، هیچ پس‌روی (Regression) در عملکرد رخ نداده و هیچ مورد فراموشی زمینه در هنگام جابجایی بین مدل‌ها مشاهده نشده است.

در یک محیط عملیاتی با سرمایه واقعی، این سیستم توانست ۱۵۳ هزار توکن از کارهای معماری — شامل روزها تنظیم پارامتر، دیباگ و طراحی ساختار — را در یک بستهٔ حافظهٔ کمتر از ۱۰۰۰ توکنی خلاصه کند. این یعنی کاهش بیش از ۹۹ درصدی هزینهٔ بارگذاری مجدد زمینه در هر شروع جلسه و کاهش ردپای حافظه به کمتر از ۱٪ از پنجرهٔ زمینهٔ معمول. این سطح از بهینه‌سازی هزینه‌ای، یادآور کاهش ۴۵ درصدی هزینه‌های عملیاتی در مدل Fable 5.1 است که پیش‌تر در حوزه عامل‌های هوشمند گزارش شده بود.

یکپارچه‌سازی و گردش کار

Engrim از طریق پروتکل زمینهٔ مدل (MCP) و هوک‌های چرخهٔ حیات متصل می‌شود. این ابزار محیط‌های اصلی زیر را پشتیبانی می‌کند:

  • Google Antigravity: تنظیم فایل ~/.gemini/config/hooks.json برای اجرای دستور engrim hook --agent agy --event boot در زمان PreInvocation و دستور stop در زمان توقف. همچنین یک مهارت استاندارد در ~/.gemini/config/skills/engrim/SKILL.md مستقر کرده و سرور MCP را در mcp_config.json ثبت می‌کند.
  • Claude Code: اتصال هوک‌های SessionStart، SessionEnd، Stop و UserPromptSubmit در فایل ~/.claude/settings.json. این ابزار یک خط وضعیت محیطی زنده به نوار وضعیت اضافه کرده و یادداشت‌ها را به فایل ~/.claude/CLAUDE.md ضمیمه می‌کند.
  • Cursor & Windsurf: اتصال از طریق یک سرور JSON-RPC stdio MCP با استفاده از دستور engrim serve --mcp. برای Windsurf، این تنظیمات به ~/.codeium/windsurf/mcp_config.json اضافه می‌شود.

توسعه‌دهندگان می‌توانند از گردش کار «ادامه با پاک‌سازی» (Continue-As-Clear) استفاده کنند:
۱. ثبت: استفاده از دستور engrim add یا ابزار engrim_add برای ضبط تصمیمات، حقایق، بازخوردها، وضعیت یا مراجع.
۲. اشاره‌گر بازگشت: افزودن یک رکورد با برچسب resume-pointer قبل از پایان جلسه. این رکورد در ابتدای بستهٔ بوت جلسهٔ بعدی تحت عنوان [▶ RESUME HERE] پین می‌شود.
۳. بازبینی: اجرای engrim review برای اسکن لاگ‌ها و یافتن تصمیماتی که هنوز گلچین و ثبت نشده‌اند.
۴. پاک‌سازی: اجرای دستور /clear برای خالی کردن پنجرهٔ جلسه؛ Engrim در پرامپت بعدی، بستهٔ حافظهٔ فعال را به‌طور خودکار تزریق می‌کند.

ابزارهای CLI و سرور MCP

سرور MCP این سیستم بدون نیاز به وابستگی (Zero-dependency) و بر پایه JSON-RPC 2.0 است. این سرور خروجی stdout را صرفاً برای پیام‌های JSON-RPC رزرو کرده و تشخیص‌های سیستمی (Diagnostics) را به stderr هدایت می‌کند. چهار ابزار اصلی ارائه شده عبارتند از:

  • engrim_recall: جست‌وجوی ترکیبی در حافظه پروژه.
  • engrim_add: نوشتن رکوردهای حافظهٔ بادوام.
  • engrim_context: بازیابی بستهٔ بوت جلسه با رعایت بودجهٔ کاراکتری مشخص.
  • engrim_review: بررسی لاگ‌های متن گفتگو برای یافتن تصمیمات ثبت‌نشده.

دستورات تکمیلی CLI شامل engrim list برای مشاهده حافظه‌های اخیر، engrim supersede برای علامت‌گذاری رکوردهای قدیمی به عنوان «منسوخ» بدون پاک کردن تاریخچه، و engrim sync برای همگام‌سازی حافظه‌های مارک‌داون با دیتابیس است.

امنیت و حریم خصوصی

حریم خصوصی از طریق معماری ۱۰۰٪ محلی تضمین شده است. تمام رکوردها در یک فایل SQLite با دسترسی محدود (0600) ذخیره می‌شوند. سیستم شامل یک فایل .gitignore پیش‌فرض برای *.db است تا از آپلود تصادفی حافظه‌های پروژه در سیستم‌های کنترل نسخه (مانند گیت‌هاب) جلوگیری شود.

برای کسانی که به دنبال مینیمالیسم مطلق هستند، می‌توان با تنظیم ENGRIM_EMBED=off سیستم را در حالت صرفاً لغوی اجرا کرد تا نیاز به وابستگی‌های برداری کاملاً حذف شود. هیچ تله‌متری، همگام‌سازی ابری یا ردیابی در این سیستم وجود ندارد.

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

برای توسعه‌دهنده، این به معنای پایان «حلقهٔ پرامپت» است؛ همان زمانی که ده دقیقه اول هر جلسه را صرف یادآوری طرح دیتابیس یا محدودیت‌های خاص API می‌کنید که دیروز بر سر آن‌ها توافق کرده بودید.

باید منتظر پذیرش گسترده‌تر پروتکل Model Context Protocol (MCP) توسط جامعهٔ برنامه‌نویسان به عنوان استانداردی برای ارتباط بین عامل‌ها بود؛ اتفاقی که در نهایت می‌تواند انتخاب مدل زبانی خاص را در گردش کار توسعه، کاملاً بی‌اهمیت کند.

گام بعدی شما

  • اگر از Cursor یا Claude Code استفاده می‌کنید، پروتکل MCP را فعال کرده و Engrim را برای حذف تکرار در پرامپت‌های ابتدایی نصب کنید.
  • عادت کنید هر تصمیم معماری مهم را با دستور engrim add ثبت کنید تا مدل‌های آینده از آن آگاه باشند.
  • از قابلیت resume-pointer برای مدیریت جلسات طولانی در پروژه‌های پیچیده استفاده کنید.

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

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

این ابزار با تکیه بر اعتبار معماری SQLite و پروتکل MCP، وابستگی توسعه‌دهندگان به یک ارائه‌دهندهٔ خاص (Vendor Lock-in) را می‌شکند. کاهش ۹۹ درصدی هزینه‌ها، استقرار عامل‌های هوشمند را در پروژه‌های عظیم صنعتی اقتصادی می‌کند.

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

به‌دلیل محلی بودن کامل (Local-first) و عدم نیاز به ارتباط با سرورهای خارجی برای ذخیره حافظه، این ابزار برای توسعه‌دهندگان ایرانی که با محدودیت‌های API و تحریم‌ها مواجه‌اند، گزینه‌ای ایده‌آل برای بهینه‌سازی هزینه و حریم خصوصی است.

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

Engrim با جابجایی مرکز ثقل حافظه از مدل به دیتابیس محلی، در واقع مفهوم «وضعیت» (State) را در توسعهٔ نرم‌افزار بازتعریف می‌کند. این رویکرد نشان می‌دهد که آیندهٔ عامل‌های هوش مصنوعی نه در پنجره‌های متنی بی‌نهایت، بلکه در لایه‌های ذخیره‌سازی هوشمند و مستقل از مدل است. در واقع، ما از دوران «چت کردن با مدل» به دوران «مدیریت دانش پروژه توسط مدل» وارد می‌شویم.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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