Knaph

دانش دادن به عامل21 از 375 دقیقه مطالعه

حافظه یک فایل است

هفته‌ی پیش لیلا در میان حرف‌هایش به عامل گفت که مدیرش دوست دارد در نمودارها جدیدترین ماه سمت چپ باشد. این هفته، در یک نشست کاملاً تازه، عامل بی‌آنکه کسی بگوید جدیدترین ماه را سمت چپ می‌گذارد. لیلا این را هیچ‌وقت در فایلِ دستورهایش ننوشته بود.

مدل بی‌حافظه است. پس چه کسی به یاد داشت؟


لیلا می‌دانم مدل نمی‌تواند به یاد بیاورد. ولی چیزی به یاد داشت.

امید بیا پیدایش کنیم. گفت‌وگوی هفته‌ی پیش الان کجا می‌تواند باشد؟

لیلا در مدل نیست. در زمینه‌ی این نشست هم نیست، چون خالی شروع شد. پس باید... جایی نوشته شده باشد؟ روی رایانه‌ی من؟

امید بله. هفته‌ی پیش که کار می‌کردی، عامل متوجه شد چیزی گفته‌ای که ارزش نگه داشتن دارد، و یادداشت کوتاهی در یک فایل نوشت. این هفته برنامه‌ی دورِ مدل آن فایل را در زمینه‌ی نشست تازه گذاشت.

لیلا خودِ عامل آن را نوشت؟ نه من؟

امید فرقش با CLAUDE.md تو همین است. فایلِ دستورها را تو آگاهانه می‌نویسی. حافظه را عامل در حین کار می‌نویسد، هر وقت چیزی بفهمد که بعداً به کار می‌آید: یک سلیقه، یک واقعیت درباره‌ی پروژه، اشتباهی که نباید تکرار شود.

لیلا پس «حافظه» یعنی عامل دفترچه‌ی خاطرات دارد.

امید دفترچه‌ای که آغاز هر نشست آن را می‌خواند. یعنی هر چه در آن باشد، در هر نشست باور می‌شود، تا وقتی کسی تغییرش دهد.

لیلا حتی اگر غلط باشد؟

امید حتی اگر غلط باشد. این را یادت بماند.


حافظه‌ی عامل چطور کار می‌کند

حافظه‌ی عامل (agent memory) یادداشت‌هایی است که عامل در یک نشست در فایل‌ها می‌نویسد و در نشست‌های بعدی دوباره می‌خواند. مدل همچنان هیچ چیز به یاد نمی‌آورد؛ فایل‌ها به یاد دارند.

در نشستِ اول، عامل یادداشتی در فایلِ حافظه می‌نویسد. فایل روی رایانه می‌ماند. در نشستِ دوم، برنامه‌ی دورِ مدل آن را در زمینه‌ی تازه می‌خواند، پس عامل از آن خبر دارد.

این کار دو گام دارد.

  1. نوشتن. در طول نشست، وقتی عامل چیزی می‌فهمد که ارزش نگه داشتن دارد، با یک ابزارِ معمولیِ فایل یادداشتی ذخیره می‌کند: «مدیرِ لیلا می‌خواهد در نمودارها جدیدترین ماه سمت چپ باشد.» اغلب این کار را می‌بینید، به شکل یک کارِ دیگر در میان کارهای نشست.
  2. خواندن. در آغاز نشست بعد، برنامه‌ی دورِ مدل حافظه را در زمینه می‌گذارد، درست مثل فایلِ دستورها.

اینجا گرهی هست که از درس قبل می‌شناسید: هر چه در آغاز بارگذاری شود، در همه‌ی درخواست‌ها جا می‌گیرد. یادداشت‌های یک سال پنجره را پر می‌کنند. برای همین حافظه معمولاً در دو لایه نگه داشته می‌شود:

  • یک فهرستِ حافظه (memory index) کوتاه، با یک خط برای هر یادداشت، که در همه‌ی نشست‌ها بارگذاری می‌شود؛
  • خودِ یادداشت‌ها، هر کدام در فایل خودش، که عامل فقط وقتی باز می‌کند که فهرست نشان دهد به کار مربوط است.

فهرستِ حافظه برای هر یادداشت یک خطِ کوتاه دارد و در هر نشست بارگذاری می‌شود. وقتی خطی به کار مربوط به نظر برسد، عامل فایلِ خودِ آن یادداشت را برای جزئیات باز می‌کند.

حافظه‌ی خودکارِ Claude Code همین‌طور کار می‌کند: برای هر پروژه یادداشت نگه می‌دارد و ابتدای فهرستِ حافظه‌اش (حدود ۲۰۰ خطِ اول) را در هر نشست بارگذاری می‌کند. دستیارهای گفت‌وگویی که «حافظه» دارند هم کمابیش همین کار را می‌کنند: چند واقعیت کوتاه درباره‌ی شما نگه می‌دارند و بی‌صدا آن‌ها را در زمینه‌ی گفت‌وگوهایتان می‌گذارند.

حافظه یا فایلِ دستورها؟

هر دو متن‌اند و هر دو در آغاز هر نشست بارگذاری می‌شوند. فرقشان در این است که چه کسی آن‌ها را می‌نویسد، و در نتیجه چقدر می‌شود به آن‌ها اعتماد کرد.

  • فایلِ دستورها را شما (یا تیمتان) آگاهانه می‌نویسید. درباره‌ی تک‌تک خط‌هایش خودتان تصمیم گرفته‌اید.
  • حافظه را عامل می‌نویسد، از روی آنچه در آن لحظه فهمیده است. ممکن است بد فهمیده باشد («لیلا همیشه نمودار آبی می‌خواهد»، در حالی که منظورِ لیلا فقط همان یک بار بود). ممکن است کهنه شود («گزارش‌ها جمعه‌ها تحویل می‌شوند»، تا روزی که به دوشنبه منتقل شوند).

چون حافظه در همه‌ی نشست‌ها بارگذاری می‌شود، یک یادداشتِ غلط اشتباهی یک‌باره نیست. اشتباهی است که با اطمینان تکرار می‌شود، تا وقتی کسی درستش کند.

خبر خوب این است که حافظه متنِ ساده است. می‌توانید بازش کنید، بخوانید، اصلاح کنید و پاکش کنید. در Claude Code فرمان /memory هم فایل‌های دستورهای شما را نشان می‌دهد و هم حافظه‌ی عامل را. در دستیارهای گفت‌وگو دنبال تنظیمی مثل «مدیریت حافظه» بگردید.

امتحان کنید

اگر دستیار یا عامل شما حافظه دارد، آن را باز کنید و همه‌ی یادداشت‌ها را بخوانید. یکی را که کهنه شده یا کاملاً درست نیست پیدا کنید و اصلاح یا پاکش کنید. اگر حافظه ندارد، در پایان یک نشست طولانی از آن بپرسید: «از این نشست چه چیزی ارزش دارد که برای دفعه‌ی بعد به یاد بماند؟» همین چیزی است که یک عامل یادداشت می‌کرد.

درست به کار بردن

  1. هر از گاهی حافظه را بخوانید. نگاهی پنج‌دقیقه‌ای در ماه یادداشت‌های غلط یا کهنه را پیدا می‌کند، پیش از آنکه همان اشتباه را بارها تکرار کنند.
  2. یادداشت‌های مهم را به فایلِ دستورها ببرید. اگر معلوم شد یادداشتی همیشه به کار می‌آید، یک خط در CLAUDE.md به آن بدهید، جایی که نوشتنش دست خودتان است.
  3. وقتی چیزی مهم است، بگویید «این را به یاد داشته باش». عامل‌هایی که حافظه دارند معمولاً چیزی را که صریحاً بخواهید، با همان کلمه‌های شما نگه می‌دارند.
  4. وقتی چیزی غلط است، بگویید «این را فراموش کن». یا خودتان یادداشت را پاک کنید. فقط در همان نشست عامل را اصلاح نکنید: یادداشتِ قدیمی فردا دوباره بارگذاری می‌شود.

واژه‌های این درس

  • حافظه‌ی عامل (agent memory) - یادداشت‌هایی که عامل در یک نشست در فایل‌ها می‌نویسد و در نشست‌های بعد می‌خواند، تا آنچه یاد گرفته از یک نشست به نشست بعد برسد
  • فهرستِ حافظه (memory index) - فهرستی کوتاه، با یک خط برای هر یادداشت، که در هر نشست بارگذاری می‌شود؛ خودِ یادداشت‌ها فقط وقتی لازم باشد باز می‌شوند

ایده‌ی اصلی

حافظه‌ی عامل مجموعه‌ای از فایل‌هاست، نه چیزی درون مدل: عامل در یک نشست یادداشت می‌نویسد و در نشست بعد آن را می‌خواند. چون این یادداشت‌ها در همه‌ی نشست‌های بعدی باور می‌شوند، ارزش دارد آن‌ها را بخوانید و اصلاح کنید، درست مثل دستورهای خودتان.

دانش خود را بسنجید

ورود برای سنجش دانش خود از این درس و پیگیری پیشرفتتان.