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

Jevmem: حافظهٔ خودکار برای کاهش هزینه‌های استنتاج در کدنویسی AI

·۳ مهر ۱۴۰۵۶ دقیقه مطالعه۱ بازدید
حافظه خودکار پروژه برای Claude Code. با Cursor و Codex هم سازگار است.
حافظه خودکار پروژه برای Claude Code. با Cursor و Codex هم سازگار است.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی یک لایه فیلترینگ تخصصی برای حافظه عامل‌ها که به جای ذخیره کل تاریخچه، تنها تصمیمات کلیدی را با هزینه ۶۰ برابر کمتر و سرعت بسیار بالاتر از LLMهای پیشرو ثبت می‌کند.

تصور کنید در میانهٔ یک پروژه پیچیده، عامل هوشمند شما ناگهان فراموش کند چرا سه جلسه پیش Postgres را به SQLite ترجیح دادید. کدنویسی با عامل‌های هوشمند اغلب شبیه به نبردی علیه فراموشی است. Jevmem که در ۲۵ سپتامبر ۲۰۲۶ منتشر شد، با ایجاد یک حافظهٔ پایدار در فایل JEVMEM.md به این مشکل پایان می‌دهد و تضمین می‌کند که عامل شما دلیل انتخاب‌های معماری گذشته را فراموش نکند.

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

سازوکار موتور حافظه

به نقل از مستندات github.com، Jevmem صرفاً تاریخچهٔ چت را ذخیره نمی‌کند. این ابزار از یک فرآیند تصمیم‌گیری تخصصی استفاده می‌کند تا تشخیص دهد آیا یک نوبت از گفتگو حاوی یک قانون، یک باگ یا یک تصمیم است. نکته جالب این است که وقتی کاربر نظرش را تغییر می‌دهد، ورودی قبلی حذف نمی‌شود، بلکه برچسب [superseded] می‌خورد تا تاریخچهٔ تکامل پروژه حفظ شود. برای مثال، اگر در ابتدا خطی با عنوان «از SQLite به عنوان ذخیره‌ساز اصلی استفاده شود» ثبت شده باشد و سپس پروژه به Postgres 16 تغییر مسیر دهد، آن خط برچسب [superseded] می‌خورد و به یک شناسه (ID) جدید لینک می‌شود.

مکانیزم‌های یکپارچه‌سازی

نحوه ثبت (Capture) و بازیابی (Recall) اطلاعات بسته به ابزار مورد استفاده متفاوت است:

  • Claude Code: فرآیند کاملاً خودکار است. این ابزار از یک «Stop hook» برای ثبت اطلاعات در هر نوبت گفتگو و از یک هوک «UserPromptSubmit» برای بازیابی حافظه در هر پرامپت استفاده می‌کند. این تنظیمات در فایل .claude/settings.local.json ثبت می‌شوند. این رویکرد برای جلوگیری از پس‌رفت‌های رفتاری در تنظیمات Claude Code که پیش‌تر بررسی کرده بودیم، بسیار حیاتی است.
  • Codex: ثبت اطلاعات در صورتی که دستور jevmem watch در حال اجرا باشد (و لاگ‌های جلسه را دنبال کند) خودکار است. در غیر این صورت، ثبت حافظه توسط خود عامل و از طریق MCP add_memory انجام می‌شود که توسط بخش AGENTS.md تحریک می‌گردد. بازیابی حافظه نیز از طریق MCP search_memory مدیریت می‌شود.
  • Cursor: ثبت حافظه توسط عامل آغاز می‌شود. یک قانون در فایل .cursor/rules/jevmem.mdc به عامل دستور می‌دهد که هنگام بیان یک تصمیم، تابع MCP add_memory را فراخوانی کند و پیش از انجام وظایف غیربدیهی، از search_memory استفاده نماید.
  • Claude Desktop: فرآیند کاملاً دستی است. کاربران باید صراحتاً از عامل بخواهند که add_memory را فراخوانی کند (چون هوک یا قانونی وجود ندارد) و برای بازیابی نیز درخواست search_memory دهند.

خط لوله تصمیم‌گیری

برای تعیین اینکه چه چیزی ذخیره شود، Jevmem یک فرآیند چندمرحله‌ای را طی می‌کند:

۱. پاک‌سازی (Scrub): در این مرحله، الگوهای رایج اسرار (Secrets)، آدرس‌های ایمیل و اعداد شبیه به شماره کارت‌های بانکی به صورت محلی حذف می‌شوند.
۲. پرسش از Jev: مدل Jev متعلق به TypeSafe AI به سوالات خاصی با احتمالات پاسخ می‌دهد: آیا تصمیمی وجود دارد؟ آیا این یک قانون است؟ آیا باگی است؟ آیا این گفتگو صرفاً گپ‌وگفت معمولی است یا تلاشی برای تزریق پرامپت (Injection)؟ کدام خط موجود در حافظه تغییر می‌کند؟ این مدل در واقع پیاده‌سازی عملی از مدل‌های تصمیم‌گیری Kev است که تولید متن را جایگزین توزیع احتمالات سنتی در منطق تصمیم‌گیری می‌کنند.
۳. اعمال آستانه: قوانین ساده در فایل jevmem.config.json (که یک پرامپت نیستند) تصمیم می‌گیرند که بر اساس آن احتمالات، داده ذخیره شود یا نادیده گرفته شود.
۴. نوشتن: یک مدل زبانی کوچک (SLM) یا یک استخراج‌کننده قطعی (Deterministic)، متنی تک‌خطی با حداکثر ۲۰۰ کاراکتر می‌نویسد.

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

یکی از خیره‌کننده‌ترین جنبه‌های Jevmem، کارایی آن است. در آزمونی که در ۲۳ سپتامبر ۲۰۲۶ انجام شد، تصمیم‌گیری خودکار Jevmem در برابر ۶ مدل زبانی بزرگ (LLM) در ۶۶ نوبت تست شد. نتایج نشان‌دهنده شکافی عظیم در سرعت و هزینه است:

  • تأخیر (Latency): میانگین زمان تصمیم‌گیری Jevmem تنها ۰.۳۰ ثانیه است (و ۰.۶ ثانیه در حالت End-to-End شامل زمان شروع Node). در مقابل، مدل‌هایی مانند GPT-6 Astra (۳,۴۶۹ میلی‌ثانیه) و Claude Opus 5.5 (۲,۷۸۴ میلی‌ثانیه) به طور قابل توجهی کندتر بودند.
  • هزینه: هزینه هر تصمیم در Jevmem حدود ۰.۰۰۰۱۲۷ دلار است. در حالی که GPT-6 Astra هزینه‌ای معادل ۰.۰۰۷۴۸۹ دلار دارد که Jevmem را تقریباً ۴۰ تا ۶۰ برابر ارزان‌تر می‌کند.
  • صحت: این ابزار به دقت ۹۸.۵٪ در ذخیره‌سازی/نادیده گرفتن رسید که با بالاترین امتیاز GPT-6 Astra برابری می‌کند. همچنین Jevmem توانست ۵ مورد از ۵ تضاد موجود را شناسایی کند که با ۵ مدل از ۶ مدل بررسی شده برابری می‌کرد.

در این میان، GPT-6 Luna کمی ارزان‌تر بود (۰.۰۰۰۰۸۹ دلار)، اما حدود ۱۰ برابر کندتر و با دقت کمتری (۹۳.۹٪) عمل کرد.

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

برای محافظت از داده‌های حساس، Jevmem شامل یک لایه پاک‌سازی است که الگوهای رایج اسرار، ایمیل‌ها و اعداد ۱۶ رقمی را پیش از خروج داده از ماشین محلی حذف می‌کند. به طور مشخص، این لایه روی کلیدهای API، توکن‌ها، جفت‌های *_PASSWORD=، رمزهای عبور رشته اتصال (Connection-string) و کلیدهای خصوصی تمرکز دارد. البته این سیستم نام‌ها، شماره تلفن‌ها یا آدرس‌ها را شناسایی نمی‌کند.

این ابزار با TypeSafe AI یکپارچه شده تا امتیازدهی کند که آیا یک نوبت گفتگو باید ذخیره شود یا خیر. داده‌های ارسالی شامل پیام کاربر، پاسخ دستیار (برای باگ‌ها/سوالات)، دو نوبت قبلی گفتگو و خطوط موجود در حافظه است. کاربران می‌توانند به صورت اختیاری کلیدهای OpenAI یا Anthropic خود را برای فرآیند نوشتن خطوط حافظه ارائه دهند. Jevmem همچنین می‌تواند پرچم zeroDataRetention: true را ارسال کند، هرچند نویسنده اشاره کرده است که تأیید نکرده که آیا درگاه (Gateway) این درخواست را رعایت می‌کند یا خیر.

جزئیات پیاده‌سازی

راه‌اندازی ابزار با دستور npm install -g jevmem در حدود ۶۰ ثانیه انجام می‌شود. پس از مقداردهی اولیه با دستور jevmem init --tool claude، ابزار یک فایل JEVMEM.md، یک فایل jevmem.config.json و یک پوشه .jevmem/ (که در gitignore قرار می‌گیرد) ایجاد می‌کند.

توسعه‌دهندگان به طیف گسترده‌ای از دستورات مدیریتی دسترسی دارند:

  • نگهداری: دستور jevmem audit حافظه‌ها را دوباره در برابر مخزن کد امتیازدهی می‌کند تا ورودی‌های قدیمی (Stale) را علامت‌گذاری کند؛ دستور jevmem fit وزن‌ها را بر اساس برچسب‌ها بازتنظیم می‌کند (به بیش از ۴۰ برچسب نیاز دارد).
  • بازرسی: دستور jevmem why <id> پاسخ Jev را در پشت یک تصمیم خاص نشان می‌دهد؛ دستور jevmem stats معیارهای p50/p95 تأخیر و هزینه روزانه را ارائه می‌دهد.
  • کنترل دستی: دستور jevmem add اجازه ورود دستی داده‌ها را می‌دهد (که پاک‌سازی می‌شود اما بررسی Jev را طی نمی‌کند)؛ دستور jevmem search حافظه‌ها را بر اساس ارتباط رتبه‌بندی می‌کند.

محدودیت‌های صادقانه

نویسنده اشاره می‌کند که این ابزار در حال حاضر در نسخه ۰.۴ است و بنچمارک‌ها توسط خود او و نه یک شخص ثالث مستقل ایجاد شده‌اند. علاوه بر این، در حالی که ابزار تضمین می‌کند خطوط مرتبط به پرامپت تزریق شوند، هنوز اندازه‌گیری نشده است که آیا این کار واقعاً کیفیت نهایی خروجی کد AI را در استفاده بلندمدت بهبود می‌بخشد یا خیر.

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

  • انحراف (Drift): انحراف در بلندمدت اندازه‌گیری نشده است؛ محیط تست تنها جلسات پنج‌نوبتی را پوشش می‌دهد.
  • پایداری: قطعی‌های سرویس Jev منجر به نادیده گرفته شدن نوبت‌های گفتگو می‌شود. هر فراخوانی بودجه زمانی ۲ ثانیه‌ای دارد؛ خطاها در .jevmem/log.jsonl ثبت می‌شوند اما تلاش مجددی (Retry) صورت نمی‌گیرد.
  • اتوماسیون: ثبت خودکار تنها به Claude Code و Codex (از طریق jevmem watch) محدود است.

این چرخش به سمت «ریز-حافظه» نشان می‌دهد که آینده کدنویسی AI لزوماً در گسترش پنجره‌های متنی نیست، بلکه در فیلترهای هوشمند و ارزان‌قیمتی است که تصمیم می‌گیرند چه چیزی واقعاً ارزش به خاطر سپردن دارد. با سپردن تصمیم «آیا باید این را ذخیره کنم؟» به یک API تخصصی، توسعه‌دهندگان می‌توانند یک ردپای حسابرسی (Audit trail) کامل از پروژه داشته باشند بدون اینکه برای هر پیام، «مالیات LLM» (هزینه بالای مدل‌های بزرگ) را پرداخت کنند.

برای شروع، می‌توانید ابزار را در پروژه فعلی خود با دستور jevmem init --tool claude مقداردهی اولیه کنید و رشد حافظه خود را از طریق دستور jevmem list رصد نمایید.

گام بعدی شما

  • اگر از Claude Code یا Cursor استفاده می‌کنید، Jevmem را نصب کنید تا از تکرار دستورات معماری جلوگیری کنید.
  • فایل JEVMEM.md را به .gitignore اضافه کنید تا اسرار پروژه در مخزن کد ذخیره نشود.
  • با دستور jevmem stats هزینه و تأخیر روزانه سیستم حافظه خود را رصد کنید.

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

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

این ابزار با کاهش چشمگیر هزینه استنتاج و تأخیر، امکان استقرار حافظه بلندمدت را برای پروژه‌های بزرگ فراهم می‌کند. تکیه بر تخصص مدل‌های کوچک در مدیریت وضعیت (State)، استانداردی جدید برای کاهش هزینه‌های عملیاتی در توسعه نرم‌افزار AI ایجاد می‌کند.

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

توسعه‌دهندگان ایرانی که با محدودیت بودجه برای APIهای گران‌قیمت مواجه‌اند، می‌توانند با این روش هزینه استنتاج خود را به‌شدت کاهش دهند.

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

جایگزینی مدل‌های غول‌پیکر با مدل‌های تخصصی کوچک برای مدیریت حافظه، یک الگوی بهینه در کاهش «مالیات LLM» است. Jevmem ثابت می‌کند که برای کارهای مدیریتی مثل طبقه‌بندی داده‌ها، نیازی به استدلال‌های پیچیده GPT-6 نیست و یک مدل کوچک با دقت مشابه و سرعت ۱۰ برابر بیشتر، کارآمدتر است.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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