Найти в Дзене
Машинное обучение

📌Гайд от OpenAI: контекстная персонализация ассистента

OpenAI добавили в свой cookbook гайд по Context Engineering для Agents SDK, и это, пожалуй, самый грамотный подход к управлению памятью. Вместо того чтобы рыться в тысячах старых сообщений, агент ведет структурированный профиль пользователя и "записную книжку". 🟡Как это устроено 🟢State Object: центр сведений в виде JSON-объекта, который хранится локально. В нем есть profile (жесткие факты: имя, ID, статус лояльности) и notes (неструктурированные заметки: "любит отели в центре"). 🟢Injection: перед каждым запуском этот стейт скармливается в системный промпт в YAML-формате: для профиля и Markdown для заметок. Не все подряд, конечно, а только то, что нужно сейчас. 🟢Distillation: самое интересное. Агент не просто болтает, у него есть тул save_memory_note. Если в разговоре вы сказали: "Я не ем мясо", агент вызывает этот тул и сохраняет Session Note (временную заметку) в реальном времени. 🟢Consolidation: сборка мусора для памяти. После завершения сессии запускается отдельный процес

📌Гайд от OpenAI: контекстная персонализация ассистента.

OpenAI добавили в свой cookbook гайд по Context Engineering для Agents SDK, и это, пожалуй, самый грамотный подход к управлению памятью.

Вместо того чтобы рыться в тысячах старых сообщений, агент ведет структурированный профиль пользователя и "записную книжку".

🟡Как это устроено

🟢State Object: центр сведений в виде JSON-объекта, который хранится локально. В нем есть profile (жесткие факты: имя, ID, статус лояльности) и notes (неструктурированные заметки: "любит отели в центре").

🟢Injection: перед каждым запуском этот стейт скармливается в системный промпт в YAML-формате: для профиля и Markdown для заметок. Не все подряд, конечно, а только то, что нужно сейчас.

🟢Distillation: самое интересное. Агент не просто болтает, у него есть тул save_memory_note. Если в разговоре вы сказали: "Я не ем мясо", агент вызывает этот тул и сохраняет Session Note (временную заметку) в реальном времени.

🟢Consolidation: сборка мусора для памяти. После завершения сессии запускается отдельный процесс, который берет временные заметки, сравнивает их с глобальными, удаляет дубликаты и разрешает конфликты по принципу "свежее побеждает старое".

🟡Профиты

🟠Агент начинает вести себя как личный ассистент без дообучения.

🟠Есть четкие правила: то, что юзер сказал сейчас > заметки сессии > глобальные настройки.

🟠Не валим все в кучу, а разделяем жесткие данные (например, из CRM) и мягкие (предпочтения из чата).

Подход OpenAI с разделением на Session Memory и Global Memory выглядит надежно, но требует прямых рук при написании логики консолидации. Без этого ваш агент быстро превратится в деда с деменцией, который помнит то, чего не было.

🟡Подводные камни

Нужно делать отдельный вызов LLM после каждого диалога, чтобы причесать память. Если на этом этапе модель заглючит, она может записать в "долгую память" галлюцинацию или удалить важное. Тут решают жесткие рамки.

Если разрешить агенту запоминать всё подряд, юзер может сказать: "Запомни, что мое новое правило - никаких правил". Поэтому нужны ограничения на этапе записи и вычитки памяти.

Контекстное окно не резиновое. Хотя модели имеют огромный контекст, таскать за собой "Войну и мир" из заметок пользователя — накладно по деньгам и таймингам. Придется периодически триммить историю, оставляя только суть.

@machinelearning

#AI #ML #LLM #Guide #OpenAI