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

پروتکل OKF: ذخیره‌سازی داده‌های بین‌جلسه‌ای برای رفع فراموشی مدل‌های زبانی

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

پیاده‌سازی حافظه بلندمدت از طریق پروتکل MCP که اجازه می‌دهد حافظه هم‌زمان برای انسان (Markdown) و ماشین (SQLite) بهینه و قابل دسترسی باشد.

تصور کنید هر بار که با دستیار هوشمند خود چت می‌کنید، مجبور باشید استایل کدنویسی یا معماری پروژه خود را از اول توضیح دهید. این تجربهٔ تکراری اکنون با معرفی MCP-Memory به پایان می‌رسد.

این ابزار که در ۱۳ اوت ۲۰۲۶ منتشر شد، یک لایهٔ حافظه بلندمدت و پایدار برای عامل‌هایی مانند Claude Desktop، Cursor، Windsurf، Antigravity و Codex فراهم می‌کند. این سیستم از طریق پیاده‌سازی پروتکل زمینهٔ مدل (Model Context Protocol - MCP) عمل می‌کند.

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

معماری سیستم

به نقل از مستندات این پروژه در گیت‌هاب، سیستم از یک معماری دو لایه برای ایجاد تعادل بین سرعت و شفافیت استفاده می‌کند. هر خاطره به صورت یک سند Markdown با استاندارد قالب دانش باز (Open Knowledge Format - OKF) نسخه ۰.۲ ذخیره می‌شود که دارای متادیتای YAML در ابتدای سند (Frontmatter) است. این یعنی هر انسانی می‌تواند پوشهٔ حافظه را باز کرده و یادداشت‌ها را با یک ویرایشگر متن ساده بخواند.

این دایرکتوری قابل مرور توسط انسان، شامل فایل‌های افشای تدریجی index.md سلسله‌مراتبی است (که با نسخه okf_version: "0.2" علامت‌گذاری شده‌اند) و همچنین یک فایل log.md برای ردیابی تاریخچه به‌روزرسانی‌ها دارد.

در لایهٔ دوم، یک نمونهٔ محلی از SQLite با قابلیت جست‌وجوی تمام‌متن (FTS5) به کار گرفته شده است تا هوش مصنوعی بتواند کلیدها یا برچسب‌های خاص را در کمتر از ۲۰ میلی‌ثانیه پیدا کند. این ایندکسینگ با کارایی بالا، از تریگرهای خودکار برای جست‌وجوی فوری کلمات کلیدی و بازیابی مقادیر کلید-مقدار (Key-Value) استفاده می‌کند. همچنین، سیستم از جداسازی فضای نام (Namespace) پشتیبانی می‌کند؛ بنابراین عامل می‌تواند اطلاعات مربوط به user/preferences (تنظیمات کاربر)، project/architecture (معماری پروژه) یا یک محدوده default (پیش‌فرض) را از یکدیگر تفکیک کند.

قابلیت‌های فنی کلیدی

بر اساس مستندات فنی، این سرور ابزارهای تخصصی زیر را در اختیار عامل قرار می‌دهد:

  • memory_store: ذخیره یا به‌روزرسانی رکوردها با استاندارد OKF v0.2. این ابزار به یک key (مثلاً user/preferences/coding_style)، content (محتوا) و project_root (ریشه پروژه) نیاز دارد. پارامترهای اختیاری شامل tags (برچسب‌ها)، namespace (فضای نام)، concept_type (نوع مفهوم، مانند Metric یا Playbook)، title (عنوان)، description (توضیحات) و URIهای resource است. همچنین وضعیت چرخه حیات را از طریق status (پیش‌نویس، پایدار یا منسوخ) ردیابی کرده و تاریخ انقضا را با فرمت ISO در stale_after تنظیم می‌کند.
  • memory_retrieve: بازیابی یک خاطره خاص با استفاده از یک کلید منحصربه‌فرد و فضای نام از ریشه پروژه فعال.
  • memory_search: جست‌وجوی کلمات کلیدی در کلیدها، محتوا و متادیتای Frontmatter. این ابزار از فیلتر کردن بر اساس برچسب‌ها یا فضای نام پشتیبانی می‌کند و به‌طور پیش‌فرض نتایج را به ۱۰ مورد محدود می‌کند.
  • memory_get_last: یک دستور شروع جلسه که نقطه بازرسی system/last_memory را بازیابی می‌کند. این قابلیت به عامل اجازه می‌دهد هنگام باز کردن یک پروژه، بلافاصله به یاد آورد که کار در کجا متوقف شده بود.
  • memory_update_last: ابزاری برای ثبت نقاط عطف (Milestone) که برای ایجاد نقطه بازرسی پیشرفت استفاده می‌شود. این ابزار رکورد system/last_memory را با خلاصه‌ای از دستاوردهای حاصل شده یا یک دیکشنری ساختاریافته از پیشرفت‌ها به‌روز می‌کند.

استقرار و یکپارچه‌سازی

راه‌اندازی این سیستم از طریق یک جادوگر نصب (setup.py) انجام می‌شود که سرور را به‌طور خودکار شناسایی و در ابزارهای هوش مصنوعی ثبت می‌کند. برای کسانی که پیکربندی دستی را ترجیح می‌دهند، سرور را می‌توان با استفاده از مسیر دستور run.sh به فایل‌های mcp_config.json یا claude_desktop_config.json اضافه کرد. کاربران Codex می‌توانند آن را از طریق ~/.codex/config.toml یا با دستور codex mcp add memory در خط فرمان پیکربندی کنند. کاربران Claude Code CLI نیز می‌توانند از دستور claude mcp add --scope user memory استفاده کنند.

به‌صورت پیش‌فرض، سیستم پوشه‌های مجزایی برای هر پروژه ایجاد می‌کند: یک پوشه memory/ برای فایل‌های Markdown و یک فایل .mcp_memory/memories.db برای ایندکس، که مستقیماً در ریشه پروژه قرار می‌گیرند. کاربران می‌توانند این رفتار را با استفاده از متغیرهای محیطی سفارشی‌سازی کنند:

  • MCP_MEMORY_PROJECT_ROOT: تعیین دایرکتوری ریشه پروژه (پیش‌فرض: دایرکتوری کاری فعلی).
  • MCP_MEMORY_DB_PATH: تعریف مسیر پایگاه‌داده SQLite.
  • MCP_MEMORY_DIR: تعریف دایرکتوری برای فایل‌های .md استاندارد OKF.

کاربران می‌توانند با تنظیم MCP_MEMORY_DB_PATH=~/.mcp_memory/memories.db و MCP_MEMORY_DIR=~/.mcp_memory/memory در پیکربندی کلاینت خود، یک حافظه سراسری (Global) ایجاد کنند که بین تمام پروژه‌ها مشترک باشد.

این تغییر، عامل‌های هوش مصنوعی را از پردازشگرهای بدون وضعیت (Stateless) به همکارانی تبدیل می‌کند که وضعیت را به خاطر می‌سپارند (Stateful). این تحول در پاسخ به به‌روزرسانی‌های اخیر MCP صورت می‌گیرد که سرورها را به سمت Stateless شدن سوق داده بود و حالا نیاز به مدیریت وضعیت در لایه‌های بالاتر احساس می‌شود. برای کاربر، این بدان معناست که دیگر نیازی نیست هر بار که چت جدیدی را شروع می‌کنید، استایل کدنویسی یا معماری پروژه خود را دوباره توضیح دهید. عامل به‌سادگی حافظه بلندمدت خود را برای بازیابی زمینه (Context) بازجویی می‌کند.

از منظر فنی، پایبندی به قالب دانش باز (OKF) حیاتی‌ترین بخش است. هر رکورد دقیقاً از فایل‌های SPEC.md و OKF_RULES.md پیروی می‌کند و از YAML Frontmatter برای ردیابی بازیگران generated_by (با قرارداد <producer>/<version>) و رویدادهای تأییدیه استفاده می‌کند. با پرهیز از فرمت‌های باینری بسته (Proprietary Binary Blobs)، این ابزار تضمین می‌کند که «مغز» عامل قابل انتقال و بازرسی باقی بماند. این رویکرد با نگه داشتن حافظه در قالب استاندارد Markdown، از وابستگی به یک شرکت خاص (Vendor Lock-in) جلوگیری می‌کند و مشابه رویکرد پلتفرم Glasp در یکپارچه‌سازی حافظه شخصی با AI عمل می‌کند.

گام بعدی شما

  • مخزن پروژه را کلون کرده و از طریق setup.py آن را به کلاینت MCP خود متصل کنید.
  • برای پروژه‌های بزرگ، از Namespaceهای مجزا برای تفکیک «قوانین کدنویسی» و «تاریخچه تصمیمات» استفاده کنید.
  • فایل‌های Markdown تولید شده را بررسی کنید تا متوجه شوید عامل چه مفاهیمی را از پروژه شما استخراج کرده است.

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

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

این ابزار با حذف نیاز به تکرار دستورات در هر جلسه، بهره‌وری توسعه‌دهندگان را به‌شدت افزایش می‌دهد. تکیه بر استانداردهای باز (OKF) اعتبار و شفافیت حافظهٔ عامل را تضمین می‌کند.

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

برنامه‌نویسان ایرانی که از ابزارهایی مثل Cursor یا Claude استفاده می‌کنند، می‌توانند با این ابزار رایگان و متن‌باز، محدودیت‌های پنجره متنی را دور بزنند و حافظهٔ پروژه‌های خود را به‌صورت محلی مدیریت کنند.

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

جایگزینی حافظهٔ موقت با ساختار OKF نشان می‌دهد که صنعت به سمت «دموکراتیزه کردن حافظه» حرکت می‌کند. وقتی حافظه در قالب Markdown ذخیره شود، کاربر مالک واقعی دانش استخراج‌شده است، نه شرکت سازنده مدل. این یک گام بزرگ برای تبدیل AI از یک ابزار پاسخ‌گو به یک سیستم مدیریت دانش شخصی است.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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