تصور کنید هر بار که یک جلسه جدید با Claude Code، Codex یا Copilot CLI شروع میکنید، دستیار شما کاملاً فراموش کرده است که شما کیستید و چگونه کار میکنید. این «فراموشی مزمن» و مداوم در عاملهای کدنویسی باعث میشود توسعهدهندگان زمان قابلتوجهی را صرف توضیح مجدد ترجیحات و محدودیتهای تکراری کنند؛ نقطه اصکاکی که در گزارشی به تاریخ ۱۳ ژوئیه ۲۰۲۶ در وبسایت dev.to به صراحت مورد اشاره قرار گرفته است. ریشه این مشکل ساده است: با بسته شدن پنجره زمینه (Context Window)، رفتارهای آموختهشدهی عامل پاک میشوند.
این شکاف در تداوم حافظه، بازتابی از یک چالش گستردهتر در صنعت برای دستیابی به «طول عمر عامل» (Agent Longevity) است. با تکیه بر پوششهای قبلی ما در مورد اینکه چرا پشتههای تکنولوژی AI شما ممکن است تا سال ۲۰۲۶ منسوخ شوند، باید گفت محدودیت فعلی نه در هوش مدل، بلکه در فقدان یک حافظه رفتاری است. در این مسیر، برخی ابزارها مانند Lethe با حذف دادههای منسوخ سعی کردهاند توهمات حافظه را مهار کنند، اما Ditto مسیر متفاوتی را با تمرکز بر استخراج الگوها برگزیده است. اکثر توسعهدهندگان به فایلهای قانونی آرمانی مانند CLAUDE.md تکیه میکنند، اما این اسناد اغلب قدیمی هستند یا نمیتوانند ظرافتهای دنیای واقعی در دیباگ کردن و ترجیحات طراحی را به درستی ثبت کنند.
شکاف رفتاری
فایلهای قانون در واقع تصوری از «بهترین نسخه» شما در یک روز خوب هستند؛ آنها اسنادی آرمانیاند. در مقابل، لاگهای جلسه (Session Logs)، سوابق رفتاری شما هستند. این لاگها لحظاتی را ثبت میکنند که شما مانع پیشروی عامل شدید، زمانهایی که گفتید «نه، فقط همین یک مورد را اصلاح کن» و هر موردی که در آن از پذیرش یک تکلیف به عنوان «انجام شده» بدون ارائه مدرک خودداری کردید. این رویکرد بر این باور استوار است که لاگ رویداد تنها منبع حقیقت برای دستیابی به پایداری در عاملهای هوش مصنوعی است. اینها قوانینی هستند که شما صدها بار اجرایش کردهاید، بدون اینکه هرگز آگاهانه آنها را مکتوب کنید.
برای حل این چالش، یک پروژه متنباز جدید به نام Ditto با کاوش در لاگهای محلی، یک پروفایل کاربر با دقت بالا (High-fidelity) میسازد. این ابزار بهجای تکیه بر آنچه شما «فکر میکنید» میخواهید، تحلیل میکند که در واقعیت در طول صدها جلسه «چه میکنید». این ابزار دادههای خام را پردازش میکند؛ برای مثال، در یک مورد آزمایشی، ۱۸۷۰ جلسه و ۳ میلیون توکن (Token) — یعنی تکههای کوچکی از متن که مدل آنها را پردازش میکند — از کلمات تایپشده توسط کاربر تحلیل شد تا الگوهای تکرارشونده شناسایی شوند.
سازوکار استخراج رفتار در Ditto
- استخراج لاگ: این ابزار بهطور پیشفرض تاریخچههای کامل محلی از Claude Code، Codex، Copilot CLI و OpenCode را میخواند.
- کاهش نویز: لاگهای خام عمدتاً نویز هستند و شامل خروجیهای ابزار و دامپهای فایل (File Dumps) میشوند. Ditto این موارد را حذف کرده، فقط کلمات تایپشده کاربر را نگه میدارد و اطلاعات حساس و رمزها را سانسور میکند.
- تایید الگو: سیستم تاریخچه را به قطعات (Slices) تقسیم میکند. یک قانون تنها زمانی زنده میماند که در چندین جلسه مجزا ظاهر شود و هر قانون، نقلقولهای تاریخدار را بهعنوان سند و رسید (Receipt) نگه میدارد.
- بارگذاری پویا: پروفایل نهایی در قالب فایل
you.mdبهعنوان یک مهارت (Skill) نصب میشود که عامل پیش از هر تکلیف جدید، آن را بارگذاری میکند.
لایههای متنی مجزا
Ditto لایههای مجزایی را برای «کار»، «طراحی» و «نوشتار» پیادهسازی کرده است. این مکانیزم تضمین میکند که بخش درست پروفایل رفتاری کاربر برای تکلیف خاص جاری بارگذاری شود؛ به این ترتیب از اعمال محدودیتهای طراحی (Design Constraints) در حین انجام یک تکلیف مربوط به منطق بکاند (Backend Logic) جلوگیری میشود.

این ابزار همچنین یک «کارت آرکیتایپ» (Archetype Card) برای کاربر میسازد و قوانین برتر او را بر اساس تعداد جلساتی که از آنها حمایت میکنند، رتبهبندی میکند. حتی یک «حقیقت تلخ» (Uncomfortable Truth) را افشا میکند: عادت خاصی در تاریخچه شما که ثابت میکند آن را در واقعیت دارید، اما هرگز بهصورت بلند دربارهاش صحبت نمیکردید.
این چرخش، صنعت را از «حافظه صریح» (آنچه صریحاً به مدل گفتهاید) به «حافظه رفتاری» (آنچه کار شما پیش از این ثابت کرده) منتقل میکند. با استخراج شواهد از لاگها، عامل دیگر حدس نمیزند. مدل دیگر بازنویسیهایی را پیشنهاد نمیکند که کاربر همیشه رد میکند و شروع به ارائه مدرک تکمیل کار پیش از ادعای «انجام شد» میکند، زیرا تاریخچه نشان میدهد کاربر هرگز بدون مدرک، تایید نهایی نمیدهد. این تلاش برای اثبات صحت خروجیها مشابه رویکردهایی است که پروژهای مانند Invoance با گواهیهای رمزنگاری برای غیرقابلتغییر کردن خروجیهای AI به کار گرفته است.
برای توسعهدهنده، این یعنی AI از حدس زدن دست میکشد و شروع به پیشبینی (Anticipating) میکند. این روند حلقه تکرارشونده اصلاح یک اشتباه واحد در جلسات مختلف را حذف میکند و بهطور موثری یک مدل زبانی بزرگ (LLM) عمومی را به یک همکار شخصیسازیشده تبدیل میکند که مرزهای دقیق طراحی API یا UI یک پروژه را درک میکند.
کسانی که به دنبال بهینهسازی گردشکار عاملمحور (Agentic Workflow) خود هستند، میتوانند این سیستم را با اجرای دستور npx skills add ohad6k/ditto پیاده کنند. تمامی دادهها روی ماشین محلی شما میماند و حریم خصوصی حفظ میشود، در حالی که لاگها به یک پروفایل کاربر کاربردی تبدیل میشوند. اکنون جامعه برنامهنویسان در انتظارند تا ببینند آیا این استخراج رفتاری محلی را میتوان به استانداردهای تیمی مقیاس داد یا خیر.




گفتگو