Claude Code: функция '/goals' для надёжности AI-агентов
Новая функция '/goals' в Claude Code предотвращает преждевременное завершение работы AI-агентов. Это решает проблему неполной компиляции в пайплайнах.
Anthropic представила функцию `/goals` для своего ИИ-агента Claude Code. Она призвана решить проблему преждевременного завершения задач. Часто агенты останавливаются, не доделав работу, хотя система показывает успешное выполнение. Это приводит к ошибкам, которые обнаруживаются спустя дни.
Функция `/goals` разделяет выполнение задачи и её оценку. Пользователь задаёт цель, например, "все тесты в test/auth пройдены, а линтинг чист". Claude Code работает пошагово. Отдельная модель-оценщик, по умолчанию Haiku, проверяет выполнение цели после каждой попытки агента завершить работу. Если цель не достигнута, агент продолжает. При достижении цели система фиксирует это и снимает её. Оценщик принимает только два решения: задача выполнена или нет. Это разделение помогает агенту не путать уже сделанное с тем, что ещё предстоит. Anthropic отмечает, что такой подход снижает зависимость от сторонних систем мониторинга и ручной отладки.
Другие компании, такие как OpenAI, LangChain и Google, также сталкиваются с этой проблемой. OpenAI позволяет пользователям добавлять свои оценщики, но модель сама решает, когда закончить. LangGraph и Google ADK требуют от разработчиков вручную настраивать логику оценки и завершения. Например, Google ADK использует LoopAgent, но его логику нужно создавать самостоятельно. Это часть общей тенденции в развитии ИИ-агентов, где растёт потребность в независимых системах проверки и оценки. Подобные системы уже появляются в проектах вроде Devin или SWE-agent.
Anthropic советует формулировать цели чётко. Успешные условия включают одно измеримое конечное состояние, явную проверку и важные ограничения. Шон Браунелл, директор по решениям в Sprinklr, подтверждает важность разделения исполнителя и оценщика. Он считает, что модель не может объективно оценивать свою работу. Браунелл отмечает, что Anthropic не первая с таким подходом. Он также подчеркивает, что этот метод лучше всего подходит для детерминированных задач с проверяемым результатом, вроде миграций или исправления тестов. Для более сложных задач, требующих дизайнерского суждения, человеческое решение остаётся ключевым.