Разработчики систем искусственного интеллекта столкнулись с проблемой, когда автономные агенты (программы, способные самостоятельно выполнять цепочки задач) завершают работу до её фактического выполнения. Часто это происходит не из-за нехватки навыков модели, а из-за ошибочного решения алгоритма о том, что цель достигнута. Для исправления этой ситуации компания Anthropic внедрила функцию /goals в инструмент Claude Code, которая разделяет процессы выполнения и оценки задачи.
Стандартные ИИ-агенты для написания кода работают в цикле: они изучают файлы, выполняют команды и вносят правки. Функция /goals добавляет в этот процесс второй уровень проверки. После того как пользователь ставит задачу, одна модель начинает её выполнение, а вторая модель-оценщик проверяет результат после каждого шага.
В Claude Code за проверку по умолчанию отвечает компактная модель Haiku. Она анализирует состояние проекта и выносит вердикт о том, достигнута ли цель. Если условия не выполнены, агент продолжает работу. Такой подход позволяет избежать ситуации, когда ИИ путает уже сделанные действия с теми, которые ещё только предстоит совершить.
Крупные игроки рынка искусственного интеллекта предлагают разные способы решения проблемы преждевременного завершения задач:
В обзоре отмечается, что преимущество решения от Anthropic заключается в нативной интеграции. Разработчику достаточно задать текстовое условие, например, дождаться успешного прохождения тестов или завершения линтинга (автоматической проверки кода на соответствие стандартам оформления). Это избавляет компании от необходимости внедрять дополнительные системы наблюдения.
Для достижения наилучших результатов эксперты рекомендуют задавать условия, которые имеют:
По мнению отраслевых экспертов, разделение «строителя» и «судьи» является единственно верным подходом при проектировании сложных систем. В материале подчеркивается, что нельзя доверять модели проверку её собственной работы, так как исполнитель всегда будет предвзятым судьёй.
В обзоре указывается, что подобные циклы проверки наиболее эффективны для детерминированных задач с проверяемым результатом: миграции кода, исправления существующих наборов тестов или очистки очередей задач. Для более творческих процессов, требующих субъективной оценки дизайна или удобства интерфейса, контроль со стороны человека всё ещё остаётся необходимым условием.