برنامه‌نویسی و معماری نرم‌افزار

معرفی ai-memory: سیستم حافظه بلندمدت و فوق‌سریع به زبان Rust برای ایجنت‌های کدنویسی و ابزارهای CLI

یکی از بزرگ‌ترین نقاط ضعف ابزارهای برنامه‌نویسی مبتنی بر ایجنت (مانند Claude Code، Aider، Cursor و Gemini CLI)، محدودیت پنجره کانتکست و فراموشی سابقه تصمیم‌گیری‌ها در جلسات کاری جدید است. پروژه متن‌باز ai-memory که به زبان قدرتمند Rust پیاده‌سازی شده، حافظه پایا، مبتنی بر گراف دانش و امبدینگ‌های برداری را به ابزارهای خط فرمان هدیه می‌دهد.

چالش حافظه و انتقال کانتکست (Context Handoff)

توسعه‌دهندگان مدرن معمولاً از چندین ابزار کمکی استفاده می‌کنند؛ ممکن است صبح با Cursor کار را آغاز کنند، بعدازظهر تسک‌های سنگین ریفکتورینگ را به Claude Code بسپارند و در نهایت بازبینی کد را با دستیار دیگری در ترمنال پیش ببرند. هر بار تغییر ابزار، به معنای از دست رفتن تمام شناخت مدل از معماری پروژه، تصمیمات فنی قبلی و باگ‌های گذشته است.

پروژه ai-memory با ایجاد یک دیتابیس لوکال فوق‌العاده سریع مبتنی بر SQLite و موتور برداری Rust، هر دستور، لاگ خطا، تصمیم مهندسی و بازخورد کاربر را ایندکس می‌کند و امکان Agent Handoff یکپارچه را فراهم می‌آورد.

معماری فنی و مزایای برجسته

  • توسعه با Rust برای حداکثر سرعت و حداقل مصرف حافظه: زمان پاسخ‌دهی جستجوی معنایی کمتر از ۵ میلی‌ثانیه بدون ایجاد بار پردازشی اضافه در سیستم.
  • پایگاه داده برداری تعبیه‌شده (Embedded Vector Engine): بدون نیاز به راه‌اندازی دیتابیس‌های سنگین ابری یا داکر؛ همه‌چیز در یک فایل سبک ذخیره می‌شود.
  • پروتکل MCP و یکپارچگی خط فرمان (CLI Native): ارائه سرور استاندارد Model Context Protocol (MCP) جهت اتصال مستقیم به هر کلاینت و IDE.
  • ردیابی زنجیره استدلال (Thought History): تفکیک تصمیمات موفق از تلاش‌های ناموفق گذشته برای جلوگیری از تکرار اشتباهات مدل در کدنویسی.

دستورات نصب و کاربرد سریع

نصب نسخه باینری با استفاده از ابزار cargo:

cargo install ai-memory-cli

مقداردهی اولیه حافظه برای پروژه جاری در ترمینال:

# راه‌اندازی مخزن حافظه در دایرکتوری پروژه
ai-memory init

# ثبت تصمیم معماری جدید در پایگاه دانش
ai-memory remember --tag "architecture" "تصمیم گرفته شد به جای Redux از Zustand برای مدیریت State استفاده شود."

# جستجوی معنایی در کانتکست پروژه
ai-memory query "چرا از Redux استفاده نکردیم؟"

مشخصات پروژه در گیت‌هاب

  • مخزن رسمی: akitaonrails / ai-memory
  • تعداد ستاره‌ها: بیش از ۷,۸۷۰ ستاره (از برترین ترندهای مخازن زبان Rust)
  • زبان پایه: Rust (باینری تک‌فایلی مستقل)
  • لایسنس: Apache 2.0
حامد

حامد

مسئول مجله فناوری آسمان نقره‌ای