Память агента: что это и зачем
AI-агент сервиса умеет отвечать на вопросы про маркетплейсы, рассчитывать юнит-экономику, разбирать аналитику. Чтобы делать это без галлюцинаций, ему нужна общая база знаний — структурированная и проверенная человеком.
Эта база живёт в системе Agent Knowledge (AK) и состоит из небольших атомарных записей — чанков.
Что такое чанк
Один чанк — это:
- Title (короткий заголовок, до 80 символов)
- Body (1–5 предложений факта)
- Kind — тип (см. ниже)
- Visibility — кому виден (см. ниже)
- Tier — насколько надёжно (см. отдельную статью)
- Confidence — уверенность 0..1
- Source / source_ref — откуда пришёл
Примеры:
- glossary: «FBO — Fulfillment by Ozon, продавец отгружает на склад Ozon, дальше всё делает Ozon»
- marketplace_rule: «Ozon берёт комиссию 12% в категории Электроника (на 2026 год)»
- playbook: «Если стоки FBO < 7 дней — создавай поставку через /fbo/supply-create»
Виды (kind)
Видимость (visibility)
Чанк не виден всем. Гарантируется CHECK-constraint'ом в БД:
Это нельзя случайно нарушить — система откажется записать чанк с несовместимой комбинацией.
Откуда чанки берутся
Четыре пути попадания знаний в базу:
- Агент сам пишет через MCP-инструмент
record_observation— например, после длинной сессии с пользователем - Конверсейшн-экстрактор еженедельно читает чаты и вытаскивает 0–5 фактов на разговор
- Сcanner API-наблюдений — после каждого вызова Ozon API (диффы цен, остатков) могут запускаться триггеры
- Ручное обучение (
/manage/ak/training) — админ скармливает текст/файл, Gemini делает выжимку, оператор подтверждает → подробнее в «Обучение»
Все четыре пути сначала идут в очередь ak_pending_observations (review queue), потом конфликт-резолвер либо создаёт новый чанк, либо обновляет существующий (UPDATE), либо архивирует противоречащий (DELETE), либо игнорирует дубль (NOOP).
Как агент использует чанки
При каждом запросе агент:
- Делает семантический поиск по эмбеддингам (cosine similarity)
- Берёт топ-K чанков с учётом visibility (видит только своё)
- Подмешивает их в контекст LLM
- Цитирует в ответе (когда уместно)
Если факт в базе оказывается неверным — оператор может его удалить, исправить или перевести в archived через /manage/ak/chunks. История изменений лежит в ak_chunk_audit.
Что дальше
- Обучение — как самому скармливать новые знания
- Очередь review — как одобрять/отклонять pending
- Уровни знаний — что значит tier и когда менять вручную
- Когда агент даёт неверный ответ — чек-лист отладки