Самая сложная часть создания AI-агентов заключается не в том, чтобы научить их помнить. А в том, чтобы научить их забывать. Моя коллега и невероятно талантливый писатель @helloiamleonie только что опубликовала, возможно, самое полное объяснение памяти агентов, которое я когда-либо видел - и поверьте, нам всем это было нужно. Вот основная проблема: 𝗟𝗟𝗠𝘀 𝗮𝗿𝗲 𝘀𝘁𝗮𝘁𝗲𝗹𝗲𝘀𝘀. Каждый разговор - это новое начало. Они не помнят, что вы сказали пять минут назад, не говоря уже о том, что вы сказали на прошлой неделе. Так как же нам создать агентов, которые действительно помнят? 𝗧𝘄𝗼 𝗳𝘂𝗻𝗱𝗮𝗺𝗲𝗻𝘁𝗮𝗹 𝗺𝗲𝗺𝗼𝗿𝘆 𝘁𝘆𝗽𝗲𝘀: • 𝗦𝗵𝗼𝗿𝘁-𝘁𝗲𝗿𝗺 𝗺𝗲𝗺𝗼𝗿𝘆: Информация в контекстном окне LLM (текущий разговор) • 𝗟𝗼𝗻𝗴-𝘁𝗲𝗿𝗺 𝗺𝗲𝗺𝗼𝗿𝘆: Информация, хранящаяся внешне (прошлые разговоры, предпочтения пользователей, усвоенные факты) Но вот где становится интересно - и запутанно. Разные фреймворки классифицируют память по-разному, например: 𝗖𝗼𝗔𝗟𝗔'𝘀 𝗮𝗽𝗽𝗿𝗼𝗮𝗰𝗵 (вдохновленный человеческим познанием): • Рабочая память (текущий разговор) • Семантическая память (факты о пользователе) • Эпизодическая память (прошлый опыт и действия) • Процедурная память (инструкции и поведение) 𝗟𝗲𝘁𝘁𝗮'𝘀 𝗮𝗽𝗽𝗿𝗼𝗮𝗰𝗵 (ориентированный на архитектуру): • Буфер сообщений (недавние сообщения) • Основная память (активно управляемые блоки в контексте) • Память воспоминаний (сырая история разговоров) • Архивная память (явно сохраненные знания) 𝗧𝗵𝗲 𝗵𝗮𝗿𝗱𝗲𝘀𝘁 𝗽𝗮𝗿𝘁? 𝗙𝗼𝗿𝗴𝗲𝘁𝘁𝗶𝗻𝗴. Управление тем, что попадает в память, очень сложно. Управление тем, что удаляется, еще сложнее. Как автоматизировать решение о том, что устарело? Когда старая информация действительно устарела, а когда все еще актуальна? Вот где большинство реализаций сталкиваются с трудностями. Леони охватывает все, от различных типов памяти (рабочая, семантическая, эпизодическая, процедурная) до практических стратегий реализации и растущей экосистемы фреймворков памяти, таких как mem0, Letta и zep....