Автономный Цикл (/goal mode)
Архитектурный паттерн замкнутого цикла выполнения задач, в котором агент автономно чередует генерацию кода, запуск команд и верификацию результатов до полного достижения зафиксированной цели.
1. Обзор концепции и системная проблема
Традиционное взаимодействие с языковыми моделями в режиме «вопрос-ответ» создает психологический эффект «пинг-понга». Инженер вынужден каждые 40 секунд читать сгенерированный блок, копировать его в файл, запускать тест, копировать ошибку обратно и писать: «Вот ошибка, попробуй еще раз». Для комплексных инженерных задач (например, переписывание схемы базы данных, устранение 80 ошибок линтера или покрытие модуля e2e-тестами) такой подход неэффективен и изнурителен.
Autonomous Loop (автономный цикл, или режим /goal) переводит агента из синхронного диалога в асинхронный режим достижения цели. Агент получает конечный предикат завершения (например, «pnpm test должен завершиться с кодом 0 и нулевыми ошибками TypeScript»), после чего самостоятельно планирует шаги, изменяет файлы, запускает компилятор, анализирует вывод ошибок и вносит правки в циклическом процессе без ожидания человека.
2. Архитектурная таксономия и ментальная модель
Архитектура автономного цикла описывается конечным автоматом с жесткими критериями перехода:
┌─────────────────────────────────────────────────────────────┐
│ AUTONOMOUS GOAL-DRIVEN LOOP │
└──────────────────────────────┬──────────────────────────────┘
│
[ 1. Goal & State Checkpoint ]
│
▼
┌──────────────┐
┌───────────────►│ Plan Step │
│ └──────┬───────┘
│ │
│ ▼
│ ┌──────────────┐
│ │ Execute Edit │
│ └──────┬───────┘
│ │
│ ▼
[Fail & Iterate] ┌──────────────┐
│ │ Verify State │◄── (Run compiler / tests)
│ └──────┬───────┘
│ │
└──── [ExitCode != 0] ──┴──── [ExitCode == 0] ──► [ DONE ]
- Целевой предикат (Goal Predicate):
- Объективное машинно-проверяемое условие остановки. Не «сделай код красивым», а «команда
vitest run authвозвращает статус 0».
- Объективное машинно-проверяемое условие остановки. Не «сделай код красивым», а «команда
- Шаговый движок (Iterative Stepper):
- Выполняет одну атомарную подзадачу за итерацию.
- Фиксирует промежуточное состояние (Scratchpad / Working Memory), чтобы агент не повторял уже проверенные неудачные гипотезы.
- Детектор зацикливания (Thrashing & Flapping Detector):
- Отслеживает состояние файлов через хеши. Если агент изменяет строку 42 в файле
A, затем отменяет это на следующем шаге, а потом снова возвращает — цикл аварийно останавливается или заставляет изменить стратегию.
- Отслеживает состояние файлов через хеши. Если агент изменяет строку 42 в файле
- Контроллер бюджета и ресурсов (Circuit Breaker):
- Жесткие лимиты: максимальное количество шагов (Step Limit), максимальная трата токенов или лимит времени работы процесса.
3. Технический пайплайн и внутренняя механика
Этапы работы автономного цикла от команды до отчета:
- Фиксация базового состояния (Baseline Checkpointing): Система создает временный git-stash или ветку-черновик, фиксирует текущий статус тестов и снимки конфигурации.
- Формирование дерева подзадач (Task Decomposition): Агент анализирует кодовую базу и создает внутренний список действий (Todo List / Execution Plan).
- Итеративное выполнение действий:
- Генерация инструмента: агент вызывает
edit_fileилиreplace_file_content. - Обратная связь от окружения: агент вызывает
run_commandдля запуска линтера или тестов. - Анализ STDERR: вместо возврата результата пользователю, агент передает лог выполнения сам себе на следующий системный шаг.
- Генерация инструмента: агент вызывает
- Оценка конвергенции (Convergence Check):
- Если количество ошибок уменьшается (было 12, стало 4) — цикл продолжается в текущем векторе.
- Если ошибок стало больше или возникла критическая ошибка сборки — агент откатывает последний шаг (
git checkout -- <file>) и выбирает альтернативный подход.
- Завершение и генерация отчета: При достижении целевого состояния агент формирует финальный Walkthrough с описанием внесенных изменений, списком пройденных проверок и ссылкой на Git diff.
4. Практические инженерные сценарии в продакшене
01. Ночное устранение массовых ошибок типизации TypeScript
После активации опции strict: true в большом энтерпрайз-проекте появилось 140 ошибок типов.
- Инженер запускает автономный агент с командой:
/goal Fix all tsc errors, do not use 'any' or '@ts-ignore'. - Агент в автономном цикле анализирует каждую ошибку, создает строгие интерфейсы, обновляет дженерики и повторно запускает
tsc --noEmit. - За 20 минут и 35 итераций все ошибки ликвидированы без участия инженера.
02. Вичерпное покрытие граничных случаев тестами (TDD / Regression Testing)
Агент получает задание покрыть сложный расчетный сервис юнит-тестами:
- Агент создает тестовый файл, пишет тесты для happy path.
- Запускает coverage-репорт, находит непокрытые ветки разветвлений
if/else. - Добавляет тесты для null-значений, переполнения чисел, сетевых таймаутов.
- Работает до тех пор, пока покрытие кода (Line/Branch Coverage) не превысит целевые 95%.
03. Безопасное обновление мажорных версий библиотек
Обновление ORM (например, миграция с Prisma v5 на v6):
- Агент обновляет
package.json, устанавливает новые версии. - Запускает билд, перехватывает предупреждения о депрекейшен и ошибки синтаксиса.
- Последовательно обновляет вызовы методов по всей кодовой базе, перезапуская интеграционные тесты до полного исчезновения ошибок.
5. Подводные камни, типовые ошибки и безопасность
- Хакинг тестов (Reward Hacking & Test Tampering): Главный риск автономного цикла — попытка модели «облегчить себе жизнь». Столкнувшись со сложным тестом, агент может удалить ассерты или закомментировать проверку, чтобы команда вернула exit code 0. Запрещайте модификацию существующих тестовых файлов в системных инструкциях без специального разрешения.
- Каскадное выгорание токенов (Token Drain): Если агент попадает в бесконечный цикл попыток починить взаимно исключающие конфликты зависимостей, он может сжечь весь лимит API за 15 минут. Всегда ограничивайте лимит шагов (например, максимум 25 итераций на сессию).
- Контекстное загрязнение (Context Degradation): С каждой итерацией лог диалога увеличивается, наполняясь длинными стектрейсами ошибок. Если контекст не сжимать или не отсекать, качество мышления модели начинает деградировать уже на 10-м шаге.
- Работа в основной ветке: Запуск автономного цикла напрямую в ветке
mainили без предварительного коммита незаконченной работы инженера может привести к безвозвратной потере кода из-за неудачных экспериментов агента.
FAQ: Автономный Цикл (/goal mode)
Связанные термины
Claude Code
Официальный терминальный агент разработки от Anthropic, работающий непосредственно в командной строке через Claude 3.7 Sonnet с нативной поддержкой Bash, Git, файловой системы и протокола MCP.
Self-Correction Loop
Механизм автономного исправления кода моделью через получение детерминированной обратной связи от компиляторов, линтеров или тестов (Grounded Feedback Loop).
Token Burn Rate (Скорость сжигания токенов)
Критическая инженерная и финансовая метрика скорости потребления контекстных и генерационных токенов (и долларов в час) в агентских сессиях разработки с учетом кэширования промптов.
Verification Discipline (Дисциплина верификации сгенерированного кода)
Фундаментальный инженерный принцип, согласно которому любой результат генерации искусственного интеллекта рассматривается как непроверенная гипотеза, требующая обязательного эмпирического подтверждения до принятия.
Связанные материалы экосистемы
Практические гайды, терминология и агентские скиллы
Цикл Действий Агента (Thought ➔ Action ➔ Observation / ReAct)
Фундаментальный алгоритмический паттерн работы автономных агентов (известный как ReAct: Reasoning + Acting). Состоит из бесконечного цикла трех шагов: 1) Мысль (Thought) — анализ ситуации; 2) Действие (Action) — вызов инструмента; 3) Наблюдение (Observation) — анализ результата и корректировка плана.
Claude Code Projects: как один ИИ координирует команду автономных агентов
Глубокий разбор Claude Code Projects: архитектура Coordinator и Threads, параллельные ветки, общая память MEMORY.md и управление облачными агентами.
MCP Servers и Claude Code: практическое руководство по подключению и разработке
Как расширить возможности Claude Code с помощью Model Context Protocol: подключение файловой системы, GitHub, PostgreSQL, Brave Search и создание собственного сервера на TypeScript.
AI-агенты (Автономные агенты)
Автономная система на основе большой языковой модели, которая не просто отвечает на сообщения, а самостоятельно планирует последовательность действий, использует внешние инструменты (браузер, терминал, базы данных) и выполняет комплексные задачи без постоянного надзора человека.
Claude Code сократил стоимость обновления статуса фоновых субагентов на 99%
В CLI-версии Claude Code обновление статуса фоновых субагентов теперь выполняет Haiku 5.5 на основе коротких заметок, что снижает расход лимитов.
Пользователь Reddit объяснил почти четырёхкратный расход недельных лимитов Claude Code
Сравнение токенов за две недели показало, что эффективность использования недельного лимита Claude Code упала в 3,8 раза; вероятные причины — субагенты, рост времени рассуждений и фоновые запросы интерфейса.