Лучшие промышленные практики построения AI-агентов, 5 из 10
Выжимка из книги Ли Боцзе «Глубокое понимание AI Agent: принципы проектирования и инженерная практика» (Pine AI, v2.0, 2026).
5. Кодинг-агент и генерация кода
7 базовых инструментов (интерпретатор кода, bash, read/write/edit, glob, grep) покрывают весь универсальный агент. Markdown+Git как центр памяти — аудит, откат. Файл инструкций — дешёвый стабильный префикс.
Для сложных задач: сначала требования/короткий дизайн-документ на ревью человеку. Завершение = «тесты прошли». Самоконтроль после тестов. Обновляй архитектурную документацию сразу.
Чёткость цели × автоматизация проверки — максимум эффективности в квадранте «ясно+автоматично». Ограничение в коде сильнее промпта; автоматизируй проверку; быстрая обратная связь → быстрая коррекция; гарантированный откат. Разрушительные хаки (reward hacking) недопустимы даже при прошедших тестах.
Сбои: классифицируй по уровню (API/инструмент/контекст/поток управления). Сначала «имеет ли смысл повторять». Детектируй паттерны (отпечаток вызова, счётчик неудач). Watchdog по тишине потока. Эскалация: тихий retry → деградация → показ пользователю только после исчерпания. Ошибки инструмента — в tool-result, не обрыв сессии. Предохранитель с порогом из продакшн-данных; отключай побочные LLM-вызовы на пути ошибки (спираль смерти).
Практика: потоковое исполнение; параллельность по умолчанию выкл; файлы — диапазоном строк с номерами; состояние среды — в конец контекста; персистентный терминал; linter сразу после записи.
Поиск: glob → grep → семантика (BM25+эмбеддинги) → AST-символы. Эмбеддинг-индекс кода не обязателен — устаревает, требует поддержки.
Редактирование: old_string — new_string vs номера строк (путаница в подсчёте) vs diff+apply-модель vs начало+конец блока.
Безопасность: «смертельное трио» (приватные данные + недоверенный контент + внешняя коммуникация) замыкает атаку; память — усилитель.
Код как мета-способность: точные вычисления — LLM формализует, решатель считает. Бизнес-правила — проверка внутри инструмента по данным, независимым от модели. Мультимедиа — Proposer-Reviewer с раздельными контекстами. UI — декларативный протокол из доверенных компонентов, не прямой HTML (риск XSS). SQL — паттерн артефакта: LLM генерирует код, фронтенд выполняет. Самозарождение — копируй проверенную реализацию + точечные правки; авторизацию переноси на уровень данных.
Продолжение следует...