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

اجزای حافظه عامل

هکرنیوز۱۴۰۵ آبان ۱۶, شنبه، ساعت ۱۰:۰۹حدود 17 دقیقه مطالعه

آدرس مقاله: https://www.anthropic.com/research/components-of-agent-memory آدرس نظرات: https://news.ycombinator.com/item?id=50402212 امتیاز: 169 # نظرات: 99

سورن کی یرکگارد نوشت که زندگی را فقط می توان به عقب درک کرد، اما باید به جلو زندگی کرد. ما هنگام طراحی حافظه برای عوامل هوش مصنوعی با پیوند مشابهی روبرو شده ایم.

ما به عنوان انسان، حافظه را به طور مداوم در طول زندگی رمزگذاری می کنیم. هیپوکامپ نقش اصلی را در این امر ایفا می کند و تجربیات را در لحظه ثبت می کند تا خاطرات به سرعت شکل گرفته و بلافاصله در دسترس باشند. اما فقط برخی از تجربیات در دانش بلندمدت ادغام می شوند.

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

حافظه عامل می تواند از تقسیم کار مشابهی استفاده کند. عوامل بسیاری از کارهای خود را در لاگ یا رونوشت ثبت می کنند. محققان در Letta و UC Berkeley محاسبه زمان خواب را به عنوان راهی برای مدل‌ها پیشنهاد کردند تا از زمان بیکاری بین تعاملات برای سازماندهی مجدد بافت موجود خود استفاده کنند. همین ایده می تواند به عوامل کمک کند تا حافظه خود را با انعکاس روی گزارش ها برای رفع اشتباهات یا تولید یادداشت ها و نمایش های جدید سازماندهی کنند. این فرآیند اغلب رویاپردازی نامیده می شود (شکل 1).

ما متوجه شدیم که رویا دیدن ابزار مفیدی برای کمک به ما در دادن حافظه موثر به کلود بوده است. در این پست، نحوه تفکر ما در مورد حافظه عامل را به اشتراک می گذاریم و چندین ارزیابی را که برای کشف حافظه عامل استفاده کرده ایم، از جمله استفاده از رویاپردازی، و اینکه هر جزء به سازماندهی حافظه کمک می کند، مرور می کنیم.

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

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

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

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

وظیفه‌ای از Continual Learning Bench (CL-Bench) 1.0 را در نظر بگیرید، معیاری که توانایی یک عامل را در استفاده از حافظه به منظور مقابله با وظایف درازمدت اندازه‌گیری می‌کند. یک کار خاص از کلود می خواهد که با جستجوی اطلاعات در پایگاه داده به یک سری سؤالات پاسخ دهد. پس از اینکه کلود پاسخ داد، راه حل صحیح به آن گفته می شود و می تواند خاطره ای بنویسد تا به سوالات بعدی پاسخ دهد.

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

ما وظیفه CL-Bench 1.0 را با استفاده از Claude Managed Agents اجرا کردیم. کلود هر سوال را در یک جلسه جدید شروع کرد، با یک استثنا: می‌توانست فایل‌ها را از یک فهرست حافظه که از یک جلسه به جلسه دیگر ادامه می‌یابد بازیابی کند.

مدل های مختلف به سطوح مختلف موفقیت در ایجاد حلقه های یادگیری خود دست یافتند. Claude Sonnet 4.6 تا آنجا پیش رفت که نظریه هایی در مورد اینکه چرا یک پاسخ اشتباه بود، ایجاد کرد. دایرکتوری حافظه آن حاوی فایل های پراکنده ای بود که هر کدام چندین حدس آزمایش نشده را فهرست می کردند.

Claude Opus 4.7 یادداشت های خود را در یک سند مرجع ادغام کرد و شروع به علامت گذاری کرد که کدام حقایق را بررسی کرده است و کدام موارد هنوز تأیید نشده است. کلود سونت 5 هر پاسخ را پس از بررسی نمره‌دهنده به عنوان تایید شده علامت‌گذاری کرد و هنگامی که پاسخ اشتباه داده بود، یک تصحیح نوشت.

Claude Opus 5 اولین مدل از این مدل ها بود که حلقه را بست. بیشتر نوشته‌های آن شامل یک قانون (و همچنین اینکه چگونه می‌دانست که این قانون درست است)، پاسخ به سؤالات قبلی، و هشدارهای واضح در مورد تله‌هایی که در طول راه کشف کرده بود، بود (شکل 3).

مانند Opus 5، Claude Opus 5.5 و Claude Sonnet 5.5 هر دو حلقه را بسته اند و از حافظه برای ثبت قوانین معتبر در مورد نحوه پاسخگویی به بهترین سوالات آینده استفاده می کنند. با حافظه، هر دو امتیاز تقریبا مشابه Opus 5 را کسب کردند، اگرچه عملکرد پایه آنها بدون حافظه کمی بالاتر بود.

ما همچنین توانایی کلود در بازی پوکمون رد را ارزیابی کردیم، بازی‌ای که کلود را برای انجام وظایف پیچیده افق طولانی به چالش می‌کشد، به عنوان آزمونی برای قضاوت کلود در مورد آنچه که باید در حافظه ذخیره کند. در شروع هر اجرا، ما به هر مدل یک پوشه از فایل های حافظه دادیم که می توانست در حین پخش از آن بخواند و بنویسد (شکل 4).

ما پوشه‌های حافظه را از یک اجرای Claude Sonnet 3.7 و Claude Fable 5 مقایسه کردیم، زمانی که هر کدام حدود 10000 قدم از بازی گذشته بودند. یک تفاوت کلیدی که ما متوجه شدیم این بود که هر مدل فکر می کرد ارزش به خاطر سپردن را دارد. Sonnet 3.7 فرض می‌کرد که همه چیز ممکن است مهم باشد و بی‌توجه به حافظه نوشت. پوشه حافظه آن حاوی آرشیوی از رویارویی‌ها بود، اغلب با یک فایل جداگانه برای هر نبردی که می‌جنگید، هر آیتمی که پیدا می‌کرد و هر شخصیت غیربازیکنی که ملاقات می‌کرد.

در نهایت، Sonnet 3.7 413 فایل حافظه را در 225 پوشه نوشت و یک نشان به دست آورد (نشان ها نشان دهنده پیشرفت بازیکن در طول بازی هستند).

در مقام مقایسه، Fable 5، 9 فایل را در دو پوشه به اضافه یک فایل سطح بالا به نام global.md نوشت و چهار نشان به دست آورد.

رویکرد Sonnet 3.7 عمدتا به این دلیل مشکل ساز بود که وضعیت بازی پوکمون دائما تغییر می کند - رکورد دقیق Sonnet 3.7 به طور مداوم قدیمی می شد. در نتیجه، با پیشرفت کلود، مجبور شد زمان و منابع بیشتری را صرف مرور خاطراتش به جای بازی کردن کند. به عنوان مثال، در حدود مرحله 10000، Sonnet 3.7 چهارمین پوشه خود را از فایل های حافظه "master" آغاز کرد. طی 17 مرحله بعدی، شش فایل ایجاد کرد، 9 فایل دیگر را حذف کرد و هیچ اقدامی در خود بازی انجام نداد.

رویکرد Fable 5 از حافظه برای چیزهایی استفاده می‌کرد که بازی به صراحت به آن اشاره نمی‌کرد. برخی از انواع اطلاعاتی که Sonnet 3.7 به حافظه می‌نویسد - مانند مقدار پول بازیکن یا مکان پخش کننده روی نقشه - می‌توانند در هر نوبت از روی صفحه نمایش خوانده شوند، بنابراین ذخیره آن اضافی است. در مقابل، فایل‌های حافظه در مورد استراتژی، برنامه‌ها و قوانین آزمایش شده تنها در صورتی وجود دارند که کلود آن‌ها را حل کند و ناپدید می‌شوند مگر اینکه کلود آنها را یادداشت کند.

Fable 5 حافظه خود را بر این اساس سازماندهی کرد. فایل global.md آن به‌عنوان یک داشبورد عمل می‌کند که هدف فعلی، یک برنامه از پیش نوشته‌شده برای مقابله با ورزشگاه‌ها (چالش‌هایی که نشان‌ها کسب می‌شوند) و قوانین خود مدل برای استفاده از حافظه را در خود جای داده است. یک پوشه مکان‌ها برنامه‌هایی را برای پیمایش مسیرهای خاص داشت و یک پوشه گیم‌پلی استراتژی‌هایی را بر اساس چیزهایی که در مورد نحوه عملکرد بازی آموخته بود، در خود داشت.

به عنوان مثال، پس از اینکه هفت توپ پوکی پشت سر هم نتوانستند یک Magikarp (یکی از ساده‌ترین پوکمون‌ها برای گرفتن) را بگیرند، کلود نوشت: «اگر بیش از 3 توپ پشت سر هم شکست خوردند، زمان‌بندی را تغییر دهید (فشارهای «انتظار» اضافی را بین مراحل منو وارد کنید) - گیر بلافاصله پس از انجام این کار فرود آمد.

با یک پوشه حافظه بسیار کوچکتر، Fable 5 در بازی بسیار بیشتر از Sonnet 3.7 پیشرفت کرد. Opus 5.5 رویکردی مشابه داشت: پوشه کوچکی از یادداشت‌های حافظه را نگه می‌داشت که هدف فعلی و مراحل بعدی آن را دنبال می‌کرد، آنها را در حین بازی بازنویسی می‌کرد و بازی را شکست می‌داد.

ما متوجه شدیم که به کلود گفتن حافظه برای چیست، اما نه نحوه استفاده از آن کمک می کند. در CL-Bench، ما به سادگی به کلود گفتیم که یک پوشه حافظه در دسترس است. این راهنمایی کلی برای Opus 4.7 و Opus 5 کافی بود تا از حافظه به طور موثر استفاده کنند، و باعث افزایش قابل توجهی در عملکرد شد (شکل 3).

ما همچنین آزمایش کردیم که به مدل‌ها قوانین خاصی در مورد آنچه که باید در حافظه بنویسند، با یک قانون در هر آزمون بدهیم. ما میزان به دست آوردن هر مدل از حافظه را با هر قانون با مقداری که بدون آن به دست آورد مقایسه کردیم. زمانی که ما یک قانون را برای "ثبت فقط شکست ها" تنظیم کردیم، هر دو Opus 5 و Opus 4.7 بخش زیادی از افزایش عملکرد حافظه را از دست دادند (شکل 5، سمت راست). برای مدل‌های قوی‌تر، دادن آزادی در قضاوت برجستگی مؤثرتر از تعیین قوانین ثابت از قبل بود، و این قوانین می‌تواند منجر به تضعیف عملکرد شود.

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

در این مورد، ترغیب کلود به خواندن فایل‌های حافظه خود قبل از پاسخ دادن - و سپس آزمایش صریح نظریه‌های خود - تقریبا امتیاز معیار آن را دو برابر کرد (شکل 5، سمت چپ). Sonnet 5 این کار را به تنهایی انجام می دهد. بدون اینکه از شما خواسته شود، حافظه خود را قبل از پاسخ 9 از 10 بار می خواند. در مقایسه، Sonnet 4.6 این کار را کمتر از نیمی از مواقع انجام داد.

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

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

Dreaming راهی به کلود می دهد تا یادداشت های خود را در برابر رونوشت های اصلی آزمایش کند (شکل 6). زمانی که کلود پوکمون را با استفاده از Managed Agents با دایرکتوری نصب شده برای خاطراتش بازی کرد، نمونه مثبتی از آن را دیدیم.

در بخشی از بازی، بازیکن باید از کوه ماه عبور کند، سیستم غاری که ورودی آن در سمت غربی نقشه و خروجی آن در شرق است. در نزدیکی ورودی یک تله وجود دارد: یک طاقچه یک طرفه که بازیکن را به مسیری که از آن آمده رها می کند، بدون اینکه راه روشنی برای بالا رفتن از آن وجود داشته باشد. کلود از PokéCenter، ساختمانی در ورودی کوه، به‌عنوان نقطه عطفی استفاده می‌کرد، بنابراین اینکه آیا از طاقچه خارج می‌شد بستگی به این داشت که فکر می‌کرد PokéCenter در کدام سمت کوه قرار دارد.

در یک نقطه، کلود نوشت (به اشتباه) که PokéCenter در سمت شرق است. هنگامی که از PokéCenter خارج شد، اعلام کرد: "Mt Moon پشت سر من است" و یادداشت های خود را به روز کرد: "Mt Moon DONE." اما کوه ماه پشت آن نبود. چند اقدام بعد، کلود از روی طاقچه رفت و در مسیری که از آن آمده بود فرود آمد (شکل 7). ابزار ناوبری آن افت را نشان نمی‌داد، بنابراین کلود نتیجه‌گیری کرد: «من به سمت غرب دور رفتم» و در تمام طول این مدت در سمت درست بوده است. نداشت.

سپس آزمایش کردیم که آیا خواب دیدن می تواند به کلود کمک کند تا از این تله دوری کند. روی پوشه حافظه‌ای که مکان اشتباه PokéCenter را در خود داشت رویاپردازی کردیم: کلود یادداشت را با رونوشت جلسه بررسی کرد، خطای آن را پیدا کرد و آن را دوباره نوشت. رونوشت به کلود یک حقیقت اساسی داد تا حافظه خود را بر اساس آن تأیید کند. با یادداشت حافظه اصلاح شده، کلود مستقیما به کوه ماه بازگشت و در نهایت به شهر سرولین رسید.

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

با رویاپردازی، کلود می تواند نمایش هایی برای کمک به حرکت در حافظه بسازد (شکل 9). یکی از انواع نمایش حافظه که استفاده می کند ویکی نام دارد، مجموعه ای از صفحات نوشته شده و نگهداری شده توسط کلود که اطلاعات کلود را در مورد یک موضوع جمع آوری می کند و آن را به یادداشت های دیگر پیوند می دهد. این پیوندها به طور مؤثر نقشه‌ای را به کلود ارائه می‌کنند که می‌تواند از آن برای غربال کردن حافظه‌اش و مکان‌یابی کارآمد خاطرات در صورت نیاز استفاده کند.

نمایش‌هایی مانند ویکی‌ها می‌توانند به کلود کمک کنند تا پایگاه دانش در حال رشد خود را طی کند. ما مزایای ویکی‌ها را به‌عنوان نمایش حافظه با استفاده از مجموعه‌ای از اسناد داخلی - حدود 350000 فایل، تقریبا 420 میلیون توکن - از Stainless، یک شرکت نرم‌افزاری که در ماه می خریداری کردیم، بررسی کردیم. ما یک مجموعه ارزیابی از 25 سوال در مورد این مجموعه ایجاد کردیم و به کلود یک ابزار جستجو برای کشف آن دادیم. ما همچنین به کلود دستور دادیم که ویکی را بر اساس این فایل ها با استفاده از رویا بسازد.

بیش از 128 جلسه، ما از عوامل Opus 5 خواستیم فایل‌ها را کاوش کنند، صفحات ویکی پیوند شده را بنویسند یا تصحیح کنند، موارد تکراری را ادغام کنند، و ادعاهای مربوط به منابع را بررسی کنند.

هر جلسه بر اساس پیشرفتی بود که نمایندگان در جلسات قبلی داشتند و از یک گزارش مشترک برای هماهنگ کردن کار استفاده می کردند. همانطور که رویاپردازی را از دو جلسه به 128 افزایش دادیم، عملکرد در 25 سوال از 13٪ به 48٪ معیارهای درجه بندی شده افزایش یافت (شکل 10).

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

زمانی که از جستجو و ویکی استفاده کرد، امتیاز کلود از 54% به 61% افزایش یافت، در حالی که ویکی رشد کرد، در مقایسه با 53% زمانی که تنها به ابزار جستجو دسترسی داشت. بهترین امتیاز کلود زمانی که فقط از ویکی برای پاسخ دادن به سوالات استفاده می کرد 48 درصد بود. با استفاده از جستجو و ویکی نیز حدود 20000 توکن در هر سوال ذخیره شد.

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

ما به کلود دستور دادیم که یک ویکی از روی اسناد بسازد. سپس از کلود خواستیم به سؤالات (در مورد ادغام) پاسخ دهد یا خلاصه های قانونی (معیار LAB) را هم از ویکی و هم از جستجوی مستقیم فایل ایجاد کند. یک آزمون 24 سوال در مورد ادغام پرسید (شکل 11، سمت چپ)، که بیش از نیمی از آنها به کلود برای یافتن اطلاعات در چندین سند نیاز داشتند، و بسیاری از آنها نیز به کلود برای استفاده از قضاوت یا انجام ریاضی نیاز داشتند. در مورد آن آیتم ها (خطوط قرمز و نارنجی)، کلود در هنگام مراجعه به ویکی 87 درصد در مقایسه با 73 درصد زمانی که از جستجو به تنهایی استفاده می کرد، امتیاز کسب کرد.

در موارد دیگر، ویکی کمتر مفید بود. در یک کار LAB (شکل 11، سمت راست)، معیارهای مختصر اغلب با جستجوی متنی از یک سند واحد بازیابی می‌شوند و ویکی هیچ سود واضحی در عملکرد نسبت به جستجو نشان نمی‌دهد. در یکی دیگر از وظایف LAB، ویکی بزرگتر از خود اسناد شد (شکل 12). مانند نقشه‌سازان در داستان کوتاه یک پاراگرافی بورخس «درباره دقت در علم»، که نقشه‌ای را با جزئیاتی که به بزرگی امپراطوری آن نشان می‌داد تهیه کردند، کلود یک ویکی بسیار دقیق ساخته بود که عملا هیچ چیز را انتزاع نمی‌کرد.

رویاپردازی همچنین می‌تواند یادداشت‌ها را در بالای سلسله مراتب حافظه شناور کند، و مهار عامل می‌تواند به طور پیشگیرانه آنها را در ابتدای هر جلسه در زمینه کلود بارگذاری کند (شکل 13). این بدان معنی است که کلود نیازی به جستجوی آنها ندارد یا حتی بداند چیزی برای جستجو وجود دارد.

ترویج خاطرات در یک جلسه جدید (شکلی از تزریق زمینه) باید با دقت انجام شود. خاطرات تزریق شده از نشانه های ارزشمند استفاده می کنند و یک یادداشت نادرست را می توان در هر جلسه حمل کرد. بارگیری یادداشت همچنین تضمین نمی‌کند که کلود بر اساس آن عمل می‌کند: اسناد ما در Claude Code هشدار می‌دهد که فایل‌های دستورالعمل طولانی‌تر، پایبندی را کاهش می‌دهند. بنابراین لایه بالایی سلسله مراتب حافظه باید نسبتا کوچک بماند، و بسیاری از کارهای رویاپردازی در اینجا حفظ آن به همین شکل است – با جابجایی برخی جزئیات به پایین سلسله مراتب و پشت سر گذاشتن پیوندها.

حافظه خودکار Claude Code لایه تزریق شده خود را به همان روش کوچک نگه می دارد و کلود آن را در طول جلسه حفظ می کند. کلود تمام حافظه خودکار خود را در پنجره زمینه هر جلسه بارگیری نمی کند. فقط 200 خط اول یا 25 کیلوبایت MEMORY.md را بارگیری می کند. این هدر به عنوان یک شاخص عمل می کند که به کلود نشان می دهد که چه می داند و کجا آن را پیدا کند.

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

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

ما با دستورالعمل‌های اولیه برای تولید ویکی شروع کردیم که به کلود نمی‌گفت چگونه از ویکی استفاده کند. این وظیفه به شدت بر شرایط قرارداد متکی بود. در حالی که ویکی در حال ساخت بود، چندین نماینده همزمان به یک جدول مشترک از شرایط قرارداد نوشتند (شکل 14، سمت چپ).

نتیجه یک ویکی بود که حقایق کلیدی را از دست داده بود. وقتی خلاصه ای را که از ویکی تهیه شده بود را درجه بندی کردیم، کلود تنها 41 مورد از 57 واقعیت (72٪) را گنجانده بود. وقتی به اشتباهی که رخ داده بود نگاه کردیم، متوجه شدیم که جدول مشترک شرایط قرارداد را به خوبی خلاصه نمی‌کند و برخی از آنها را به‌کلی از دست داده است، زیرا عوامل کار یکدیگر را بازنویسی کرده بودند.

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

هر قرارداد صفحه مخصوص به خود را در ویکی داشت که توسط یک نماینده نوشته شده بود و به جای خلاصه کردن آنها در یک جدول مشترک، کلمات را کلمه به کلمه نقل می کرد. وقتی خلاصه تولید شده از این ویکی بهبودیافته را درجه بندی کردیم، 100٪ معیارها را می توان برآورده کرد، از 72٪.

وقتی کلود یادداشت های حافظه را می نویسد، فقط زمینه را در آن جلسه خاص می بیند. رویاپردازی می تواند در بسیاری از جلسات جستجو کند تا الگوهای رایج را بیابد یا اشتباهات رایج را تصحیح کند.

هنگام ساخت ویکی‌ها برای معیار LAB (به عنوان مثال، شکل 14 را ببینید)، گاهی اوقات کلود به صفحاتی که هنوز ایجاد نشده بودند پیوند می‌داد. یک پاس رویایی دوم بسیاری از این شکاف ها را از بین برد. در یک کار (شکل 15)، رویاپردازی 9 پیوند به یک صفحه گمشده در ویکی پیدا کرد و آنها را دوباره به صفحه موجود برای همان سند ارجاع داد. همچنین سه صفحه جدید، از جمله یک نمایه، برای بهبود ویکی اضافه کرد.

سوالات باز زیادی در مورد نحوه طراحی سیستم های حافظه برای عامل ها وجود دارد. یکی زمانی است که کلود باید حافظه ایجاد کند. وقتی کلود روی یک کار کار می‌کند، می‌تواند در یک حافظه ذخیره‌سازی بنویسد (به عنوان مثال، یک پوشه، فایل یا پایگاه داده)، برجسته شدن منبع را جلب کند و جزئیات مهم را بلافاصله برای نوبت‌ها یا جلسات بعدی در دسترس قرار دهد. اما ثبت یادداشت ها در لحظه به ناچار توجه کلود را از وظیفه اصلی خود دور می کند. در مقابل، رویاپردازی می‌تواند ایجاد حافظه را به پس‌زمینه سوق دهد، اما خروجی‌های رویاپردازی ممکن است فورا برای کلود قابل دسترسی نباشد.

خواندن متن کامل در هکرنیوزبه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

The Components of Agent Memory

Article URL: https://www.anthropic.com/research/components-of-agent-memory Comments URL: https://news.ycombinator.com/item?id=50402212 Points: 169 # Comments: 99

همه‌ی اخبار فناوری