- задача формально закрыта, но часть требований пропущена;
- сделано «похожее», но не то, что просили;
- добавлены лишние изменения вне области задачи;
- не выполнены проверки (тесты/линтер/диагностика), но вывод «готово»;
- агент уверенно объясняет решение, которое не проходит верификацию.
Важно: в большинстве случаев это не «злой умысел», а следствие качества контекста, постановки и контроля.
Если запрос общий («сделай лучше», «поправь это»), агент сам додумывает рамки.
Результат: высокая вариативность и промахи по ожиданиям.
- нет ключевых файлов;
- много нерелевантной информации;
- противоречивые инструкции.
Результат: фокус рассеивается.
Агент не знает, что именно считается завершением задачи.
Результат: преждевременное «готово».
Если не запускать тесты/диагностику/ревью, ошибки остаются скрытыми.
Результат: ложноположительное качество.
Один огромный запрос повышает шанс пропусков и лишних действий.
Результат: нестабильный и трудно проверяемый выход.
Если в запросе слишком много директив или они частично противоречат друг другу, агент начинает следовать формальным рамкам, а не оптимальному пути решения.
Типичный эффект:
- пользователь ожидает «умного выбора пути»;
- агент делает «как сказано», даже если технически это хуже;
- итог выглядит как странное поведение или «халтура».
Как избежать:
- формулировать указания как цель + гипотезу;
- просить агента оценить риски и предложить лучший вариант в рамках вашей идеи;
- отдельно уточнять, какие ограничения агент считает приоритетными.
- ушёл в сторону от цели;
- меняет не те файлы;
- игнорирует явные ограничения.
- упёрся в технические ограничения (права, инструменты, инфраструктура);
- корректно диагностирует блокер;
- просит уточнение или предлагает обходной путь.
Почему это важно: стратегия исправления разная.
- «Не понял» лечится уточнением постановки.
- «Не смог» лечится устранением блокера/сменой стратегии.
Минимум в запросе:
- цель;
- область изменений;
- запреты;
- критерии приемки;
- формат отчёта.
Пример:
Исправь падение теста X. Менять только
src/payments/*. Не трогать публичный API. После правкиnpm test -- paymentsдолжен быть зелёным. В отчёте: причина, файлы, проверка.
Вместо «сделай всё сразу»:
- анализ;
- план;
- маленький блок правок;
- проверка;
- следующий блок.
Это даёт управляемость и быстрый контроль отклонений.
Просите не «всё ок», а:
- какие проверки запущены;
- какой результат получен;
- где это видно (логи/выводы/файлы).
Явные запреты (negative constraints):
- не менять структуру документа;
- не трогать соседние модули;
- не добавлять новые файлы;
- не выполнять push без подтверждения.
Полезная практика:
- один агент делает изменения;
- другой проверяет.
Даже лёгкое кросс-ревью заметно снижает дефекты.
После каждого значимого шага:
- тест/диагностика/лог-анализ;
- корректировка;
- повторная проверка.
- «Сделай идеально» без ограничений.
- «Сделай быстро, детали потом» без критериев.
- Смешение нескольких независимых задач в одном запросе.
- Игнорирование project policy.
- Отсутствие финальной верификации.
Практический порядок:
- Остановить дальнейшие изменения.
- Зафиксировать расхождение: что ожидалось vs что получено.
- Сузить задачу до одного проблемного блока.
- Переформулировать контракт (цель/границы/критерий).
- Прогнать короткую итерацию с обязательной проверкой.
Шаблон сообщения:
Расхождение: ожидалось A, получено B. Исправляем только блок C в файле D. Не трогаем E/F. Критерий: тест G зелёный и без изменений API. В ответе — только diff+результат проверки.
- Контекст: docs/info/context.md
- Loopback: docs/info/loopback.md
- LLM и промптинг: docs/info/llm-promting.md
- Агентные системы: docs/info/agent-systems.md
- SDD: docs/info/sdd.md
- TDD: docs/info/tdd.md
Коротко: агент начинает «халтурить» там, где нет чёткого контракта, проверки и управляемого цикла. Чем лучше инженерная дисциплина постановки и верификации, тем меньше сюрпризов. Или он не может справится с задачей и видит неожиданный для вас путь. Тесты не выполняются? Так надо пойти и поправить тесты. Это для вас очевидно, что это не логично, а для агента - цель выполнить задачу. Задача какая? Что бы тесты были зелеными... Улавливаете ? :)