اگر هر بار هنگام شروع یک جلسهٔ جدید با هوش مصنوعی، ده دقیقه وقت صرف یادآوری ساختار دیتابیس یا محدودیتهای 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 مراجعه کنید.




گفتگو