Goal Engine

Goal Engine — подсистема автоматической декомпозиции цели на верифицируемые шаги, исполнения, валидации и отслеживания прогресса. Эволюция инструмента todo: вместо простого списка задач — управляемый цикл «цель → план → шаги → валидация → результат».

Попросите агента в чате: «рефактори модуль auth — разбей на шаги и валидируй» или используйте команду /goal new <описание>.

Агент вызовет инструмент goal(action="create"), Planner (LLM) декомпозирует цель в план шагей, и при approve_plan=true (по умолчанию) TUI покажет модальное окно для аппрува.

goal(
  action: "create" | "status" | "pause" | "resume" | "cancel" | "list" | "approve",

  — для create:
  title: string,
  description: string,

  — для pause/resume/cancel/status:
  goal_id: string
)
  1. Создание. goal(create) → запись в БД (status=planning).
  2. Планирование. Planner генерирует JSON-план → шаги в goal_steps.
  3. Аппрув. Если approve_plan=true → TUI показывает план. Пользователь: Approve/Cancel.
  4. Исполнение. Engine выполняет шаги последовательно. Шаги с assigned_agent → под-агенты.
  5. Валидация. После шага → Validator проверяет критерии. Passed → completed, failed → retry.
  6. Завершение. Все шаги done → completed; есть failed → failed. Формируется отчёт.

planning → in_progress → paused → in_progress → completed | failed | cancelled

pending → running → validating → completed | failed → skipped

Валидатор Проверка
test Запуск тестов (go test ./...).
linter Запуск линтера (go vet, golangci-lint).
diff Анализ diff — были ли изменения.
coverage Проверка покрытия тестами.

Провал валидации → retry (до max_retries, по умолчанию 2). Исчерпаны повторы → шаг failed.

Инструмент goal_step:

Action Что делает
retry Перезапуск провалившегося шага.
skip Пропуск шага (статус → skipped).
update Обновление description/criteria шага.
Команда Описание
/goal new <desc> Создать новую цель.
/goal list Список всех целей.
/goal show <id> Показать статус цели и её шагов.
/goal pause <id> Приостановить цель.
/goal resume <id> Возобновить приостановленную цель.
/goal cancel <id> Отменить цель.
/goal retry <sid> Повторить провалившийся шаг.

Раздел goal_engine в config.json:

 1{
 2    "goal_engine": {
 3        "enabled": true,
 4        "approve_plan": true,
 5        "default_strategy": "sequential",
 6        "max_steps": 20,
 7        "max_retries": 2,
 8        "validators": ["test", "linter", "diff", "coverage"]
 9    }
10}
Поле По умолчанию Описание
enabled true Включить подсистему.
approve_plan true Требовать аппрув плана.
default_strategy "sequential" sequential / parallel / mixed.
max_steps 20 Максимум шагов в плане.
max_retries 2 Максимум повторов шага.
validators ["test","linter","diff","coverage"] Включённые валидаторы.
  • Сайдбар: блок Goals с прогресс-барами для каждой активной цели.
  • Аппрув плана: модальное окно со списком шагов и кнопками Approve/Cancel.

Шаги с assigned_agent делегируются под-агентам через многоагентную оркестрацию:

  • goal_steps.agent_task_id связывается с multiagent_children.task_id.
  • Координация через agent_manage сохраняется.
  • При завершении под-агента → шаг переходит в validating → Validator.
  • Sequential по умолчанию. Шаги выполняются последовательно.
  • До 20 шагов в одном плане (max_steps).
  • Один уровень вложенности. Под-агенты не могут порождать своих детей.
  • Planner использует current модель. Без опции mini.