Skip to main content

Agent Memory (Пам'ять агента)(Архітектура пам'яті агентів)

Комплексна підсистема зберігання, фільтрації та вибірки даних, яка перетворює stateless-виклик LLM на stateful-систему: від короткотривалого scratchpad-буфера до мультисесійного сховища знань.

1. Огляд концепції та системна проблема

Без системної пам'яті кожен запуск автономного агента є повністю ізольованим (stateless). Модель обмежена фізичним розміром контекстного вікна (Context Window Limit) і після завершення сесії втрачає всі зроблені висновки, виправлені помилки та користувацькі налаштування.

Спроба розв'язати це «в лоб» — надсилати всю історію попереду кожного промпту — призводить до трьох критичних інженерних глухих кутів:

  1. Експоненційне зростання витрат на токени та затримки (Time to First Token).
  2. Деградація уваги моделі (Lost-in-the-Middle): роздутий контекст розпорошує механізм Self-Attention, провокуючи пропуск критичних інструкцій.
  3. Відсутність навчання на помилках: агент знову наступає на ті самі баги кодової бази, які він уже вирішував у попередній сесії.

Архітектура Agent Memory розділяє збереження стану на спеціалізовані рівні, надаючи агенту довготривалу пам'ять за мінімального використання токенів.

2. Архітектурна таксономія та ментальна модель

У сучасній агентній інженерії пам'ять стандартизовано ділиться на чотири функціональні шари:

  • 1. Короткотривала (Working / Scratchpad Memory): Оперативний буфер поточної ітерації (ReAct loop). Зберігає проміжні думки (thoughts), аргументи виклику інструментів (tool calls) та відповіді системного оточення. Живе лише протягом життєвого циклу поточного завдання (у пам'яті процесу або Redis).
  • 2. Епізодична (Episodic Memory): Хроніка минулого досвіду агента: послідовність дій, спроби виконання завдань, причини падіння тестів і знайдені фікси. Дозволяє агенту згадати: «Я вже намагався виконати міграцію цим методом учора, і виник deadlock — оберу інший шлях».
  • 3. Семантична (Semantic Memory): База витягнутих знань, фактів та сутностей про навколишній світ, користувача та репозиторій. Реалізується як структурована база фактів (Knowledge Graph) або векторна база даних з ембеддінгами.
  • 4. Процедурна (Procedural Memory): «М'язова пам'ять» агента: алгоритми, фіксовані воркфлоу, синтаксис кастомних інструментів, правила форматування коду та системні інструкції (включно з репозиторними .agents/skills та .agents/rules).

3. Технічний пайплайн та внутрішня механіка

Життєвий цикл пам'яті автономного агента реалізується через 4-етапний конвеєр:

  1. Extraction & Filtering (Виділення фактів): Фоновий легкий LLM-парсер або евристичний екстрактор аналізує завершений діалог чи крок тула. Він відсікає комунікаційний шум («дякую», «зрозуміло») і виділяє атомарні факти (Atomic Facts).
  2. Hybrid Indexing (Гібридне індексування): Отримані сутності записуються у сховище з подвійним індексом: щільні вектори (Dense Embeddings) для пошуку за змістом + BM25/повнотекстовий індекс для точного збігу ідентифікаторів, функцій і констант.
  3. Context-Aware Retrieval (Селективна вибірка): Перед генерацією наступної відповіді ранжувальник обчислює інтегральний бал релевантності спогаду за формулою: Score = w1 * Relevance + w2 * Recency (експоненційне згасання) + w3 * Importance (важливість). До робочого промпту підвантажуються лише топ-$K$ найважливіших фрагментів.
  4. Memory Compaction & Consolidation (Стиснення та забування): Періодичний процес згортає старі епізодичні ланцюжки у високорівневі висновки (Recursive Summarization), вивільняючи ресурси бази знань.

4. Практичні інженерні сценарії в продакшені

01. Персоналізований контекст розробника

Агент автоматично фіксує та зберігає правила конкретного розробника: наприклад, використання strict TypeScript, специфіку обробки помилок через Result<T, E>, небажання бачити any чи перевагу певних бібліотек стану, позбавляючи потреби повторювати це в кожному чаті.

02. Архітектурний контекст кодової бази

Збереження рішень, прийнятих тижні тому: «Чому в модулі білінгу використовується черга Redis Streams замість безпосереднього HTTP-виклику». Агент перевіряє семантичну пам'ять репозиторію перед тим, як запропонувати небезпечний рефакторинг.

03. Синхронізація стану між субагентами

В архітектурах Multi-Agent (наприклад, оркестратор -> кодер -> тестувальник) спільна пам'ять стану дозволяє агенту-тестувальнику миттєво підтягнути всі гіпотези агента-архітектора без повної передачі сирих логів.

5. Підводні камені, типові помилки та безпека

  • Context Poisoning (Отруєння пам'яті): Якщо агент зафіксує галюцинацію як достовірне знання, він повторюватиме цю помилку в усіх майбутніх сесіях. Захист: валідація фактів через окремий крок критики (Verification Step) та явна можливість видалити хибні спогади через UI/команду.
  • Retrieval Dilution (Розмиття уваги): Занадто низький поріг близькості (similarity threshold) призводить до підвантаження десятків нерелевантних спогадів, що витісняє актуальні інструкції користувача.
  • Витік секретів (Secret Leakage): Збереження в довготривале сховище чутливих даних (API-ключі, паролі з логів, токени). Захист: обов'язковий шар санітизації (Secret Redaction Regex/Entropy detection) на рівні pre-save хука пам'яті.
/ Часті запитанняSchema.org FAQPage

FAQ: Agent Memory (Пам'ять агента)

Векторний RAG забезпечує лише семантичний пошук статичних документів. Справжня пам'ять агента включає епізодичний трекінг помилок, робочий стан (Scratchpad/Checkpointer), оцінку релевантності в часі (Recency/Decay) та автоматичне оновлення й інвалідацію фактів.
/ Внутрішня перелінковка
Всі терміни
Промптинг & RAG

Деградація контексту (Context Rot & Attention Decay)

Системне зниження точності, слідування інструкціям та логічної узгодженості LLM у міру накопичення в робочому вікні діалогового шуму, застарілих чернеток коду та виводів компілятора.

Читати термін
Промптинг & RAG

Векторні бази даних (Vector DBs & ANN Search)

Спеціалізовані СУБД та розширення (Qdrant, pgvector, Milvus, Chroma, Turso), оптимізовані для зберігання мільйонів багатовимірних векторів та надшвидкого наближеного пошуку найближчих сусідів (Approximate Nearest Neighbors).

Читати термін
VPS & DevOps

Вбудовані бази даних (SQLite & Turso / libSQL)

Технологія вбудованих (In-Process) реляційних баз даних на базі SQLite та розподіленого форку libSQL (Turso), що поєднує роботу без виділеного мережевого сервера із субмілісекундною швидкістю читання.

Читати термін
Агенти & MCP

AI-агенти (Autonomous Agents)

Програмні системи на базі LLM, здатні самостійно сприймати стан середовища, декомпозувати складні цілі, викликати зовнішні інструменти та ітеративно виправляти власні помилки.

Читати термін