Лучшие промышленные практики построения AI-агентов, 2 из 10
Выжимка из книги Ли Боцзе «Глубокое понимание AI Agent: принципы проектирования и инженерная практика» (Pine AI, v2.0, 2026).
2. Инженерия контекста (ядро книги)
Контекст = статический префикс (промпт + инструменты) + растущая траектория (user/assistant/tool). API стейтлесс — история пересобирается каждый вызов.
Используй стандартные роли API, не склеивай текст вручную — ломает обученный формат.
KV Cache — 3 правила: - зафиксированный префикс не меняй — текущая дата в начале обнуляет кэш для всего после; - динамику добавляй только в конец новым сообщением; - не используй текстовую склейку/скользящее окно/пересортировку инструментов по частоте.
Суб-агент с общим контекстом — побайтово идентичен родителю. Условия рантайма выносите за границу кэша.
Промпты: тест «новый сотрудник без контекста — поймёт?»; Markdown (иерархия) + XML-теги (семантика); организуй вокруг процесса, не плоского списка правил (хаос роняет успех на > 30%); бизнес-правила детализирует продакт до уровня NEVER/ALWAYS; few-shot — фиксированным набором (не динамическим); описывай инструменты так же тщательно (голые сигнатуры +45% ошибок).
Injection: маркируй внешний контент тегами источника, не смешивай tool-result с user-message; Skill — тоже поверхность инъекции, проверяй.
Agent Skills: SKILL.md-каталог (~300 ток) → тело по требованию (once-emit, в кэш) → вложенные файлы выборочно. description = условие маршрутизации с контрпримерами. Структура: роль → принципы → запреты → справочники.
Строка состояния: агрегацию инжектируй в конец траектории. Замена vs постоянное добавление — компромисс по формуле (размер×частота vs длина суффикса). Включай TODO, метаданные событий, состояние среды.
Сжатие: 3 причины (лимит/context rot/контекстная тревожность). Между вызовами API. Контекстно-ориентированное на порядок эффективнее независимого саммари. Ссылки на источники при сжатии. Адаптивное окно (порог ~80%).
5 продакшн-уровней: бюджет вывода→шум без саммари→серверный microedit→архивное саммари по шагам→полное LLM-сжатие с предохранителем. Изоляция лучше сжатия: шумные подзадачи — суб-агенту, в основной контекст только саммари.
Продолжение следует…