Планирование и выполнение
Рабочий процесс планирования и выполнения распределяет одну работу между двумя ролями: сессией планирования, которая готовит и проверяет работу, и одной или несколькими сессиями выполнения, которые её выполняют. В этой главе описаны запуск рабочего процесса из меню или из сессии, проверка разбиения на задачи, выбор рабочих каталогов и отслеживание хода работы.
1. Как проходит рабочий процесс
В рабочем процессе две роли, и каждая работает в собственной сессии в боковой панели:
- Планирование и проверка. Сессия планирования изучает задачу и проект, составляет задание для сессии выполнения и проверяет каждый результат. Она запрашивает исправления, пока результат не станет приемлемым, и принимает его только после того, как сверит фактические изменения и данные о выполненной проверке.
- Выполнение. Сессия выполнения реализует задание и отчитывается о результате. Исправления направляются той же сессии выполнения, которая сохраняет контекст между раундами.
В боковой панели сессия выполнения отображается как дочерняя по отношению к сессии планирования. Обе сессии работают в виде беседы. В сообщениях, которыми обмениваются роли, указаны значок агента отправителя, название его сессии и роль («Планирование» или «Выполнение»), поэтому за обменом можно следить в любом из двух диалогов.
Для обеих ролей нужен агент, поддерживающий вид беседы: Claude Code, Codex, OpenCode, Pi или OMP. Сессии планирования и выполнения могут использовать разных агентов, разные модели и разную глубину рассуждения.
Вы можете в любой момент читать любую из этих сессий, отвечать в ней или прерывать её. Запросы разрешений от любой роли по-прежнему ждут вашего ответа.
2. Запуск из меню
Откройте контекстное меню проекта, группы или сессии (или подменю «Новая дочерняя сессия») и выберите «Новая сессия планирования/выполнения…». Окно содержит следующие поля:
- «Создать в»: место, где будет создана сессия планирования. Сессия выполнения создаётся под сессией планирования.
- «Описание задачи»: опишите задачу, требования и критерии приёмки. Можно вставлять изображения; они отправляются вместе с задачей сессии планирования и первым заданием сессии выполнения.
- «Автоматически разделить на несколько задач»: см. §4.
- «Планирование и проверка» и «Выполнение»: агент («Тип сессии»), «Модель» и «Уровень рассуждения» для каждой роли. Варианты модели и уровня рассуждения зависят от выбранного агента. Окно запоминает ваш последний выбор для каждой роли.
- «Путь к рабочему каталогу» и выбор каталога: см. §5.
Нажмите «Создать и запустить», чтобы запустить сессию планирования. Когда план будет готов, она создаст сессию выполнения. Открытие или отмена окна ничего не создаёт. У окна есть собственный адрес, поэтому можно скопировать ссылку, обновить страницу или переходить назад и вперёд, не теряя его.
3. Запуск из сессии
В любой сессии, запущенной VelaTerm, выполните:
vspawn --plan-execute \
--plan-agent claude --plan-model opus --plan-effort high \
--exec-agent codex --exec-model gpt-5.5 --exec-effort medium \
"Implement the agreed changes and verify all acceptance criteria"
В Claude Code то же самое делает /vspawn --plan-execute <task>, а в Codex — $vspawn --plan-execute <task>. Перед запуском рабочего процесса навык составляет на основе текущего диалога самодостаточную задачу. Для этих навыков нужны Vela Skills (Настройки ▸ Общие).
Новая сессия планирования создаётся под сессией, в которой выполнена команда. Сначала запрос открывает карточку подтверждения, описанную в главе Создание сессий и совместная работа в Git, §4; на ней можно проверить и изменить задачу и параметры обеих ролей.
| Параметр | Значение |
|---|---|
--plan-agent, --plan-model, --plan-effort | Агент, модель и глубина рассуждения сессии планирования |
--exec-agent, --exec-model, --exec-effort | Агент, модель и глубина рассуждения сессии выполнения |
--claude, --codex, --model, --effort | Применяются к сессии планирования, если параметры для конкретной роли не указаны |
--split-tasks | Разрешить сессии планирования предложить несколько задач (§4) |
--worktree-mode none|shared|each | Режим каталогов для всех ролей (§5); имеет приоритет над --worktree |
--cwd <path> | Рабочий каталог и репозиторий для рабочего процесса |
--yes | Пропустить начальную карточку подтверждения; разбиение на задачи всё равно показывается для проверки |
Если агент не указан явно, сессия планирования, запущенная из сессии Claude, Codex, OpenCode, Pi или OMP, использует того же агента, а запущенная из любой другой сессии — Claude Code. Модель или глубина рассуждения, которые выбранный агент не поддерживает, отклоняются ещё до запуска.
Новые сессии не видят исходный диалог. Включите в задачу уже принятые решения, существующие изменения, ограничения и место, куда нужно сдать результат.
4. Разделение на несколько задач
Включите параметр «Автоматически разделить на несколько задач» в окне или добавьте --split-tasks к vspawn --plan-execute. Тогда сессия планирования изучит работу и предложит от 1 до 12 независимых задач. Ни одна сессия выполнения не запускается, пока вы их не подтвердите.
Предложение открывается в окне «Проверка задач для выполнения»:
- Выберите задачу в списке, чтобы изменить её поля «Название сессии», «Описание задачи», агента, «Модель» и «Уровень рассуждения». При переключении между задачами ваши правки сохраняются.
- «Убрать задачу» исключает задачу; «Отменить удаление» возвращает её. Должна остаться хотя бы одна задача.
- Кнопка запуска («Запустить сессии (N)») создаёт по одной сессии выполнения на каждую задачу.
- Если закрыть окно, предложение продолжает ждать. На экране остаётся ссылка «Проверка задач для выполнения», по которой окно можно открыть снова. Отмена предложения останавливает рабочий процесс, не создавая сессий выполнения.
- У окна есть собственный адрес, и оно сохраняется после обновления страницы; неподтверждённые правки при обновлении теряются.
Когда навык используется с разбиением на задачи, он добавляет --yes, чтобы появилась только эта итоговая проверка. В ней можно изменить параметры каждой сессии выполнения, но не параметры сессии планирования, которая уже работает.
Одна сессия планирования получает отчёты всех сессий выполнения и проверяет каждую задачу отдельно, со своими раундами исправлений. Рабочий процесс в целом завершается только после того, как приняты все задачи.
Разделяйте работу на части, которые не редактируют одни и те же файлы. Каждая сессия выполнения запускает собственный процесс агента, поэтому выбирайте число задач с учётом ресурсов компьютера.
5. Рабочие каталоги и рабочие деревья
Выбор каталога применяется ко всем ролям рабочего процесса:
| Вариант | --worktree-mode | Результат |
|---|---|---|
| «Текущий каталог» | none | Все сессии работают в указанном каталоге |
| «Общее рабочее дерево» | shared | Сессия планирования и все сессии выполнения используют одно новое рабочее дерево и одну ветку |
| «Отдельное дерево для каждой сессии» | each | Сессия планирования и каждая сессия выполнения получают собственное рабочее дерево и ветку |
Новые рабочие деревья создаются из текущего коммита и не содержат незакоммиченных изменений. Если рабочее дерево создать не удалось, соответствующая сессия не запускается и не переключается на другой каталог. В командной строке --worktree без других параметров означает shared.
Результаты остаются в рабочих деревьях, пока вы их не сольёте. Чтобы слить ветку, выберите «Git ▸ Слияние…» в меню сессии (см. Создание сессий и совместная работа в Git, §6). Рабочий процесс сам не выполняет слияние, не отправляет изменения в удалённый репозиторий и не удаляет рабочие деревья.
6. Отслеживание хода работы
- Диалог сессии планирования показывает каждый отчёт и каждое исправление по мере их появления. Пока сессии выполнения работают, сессия планирования ждёт их отчётов.
vflow status <workflow-id>показывает состояние рабочего процесса, его задачи, сессии и текущий раунд. ID рабочего процесса указан в его сообщениях.vflow stop <workflow-id>останавливает дальнейшие раунды и просит работающие сессии остановиться. Остановка всего рабочего процесса останавливает все его задачи; остановка одной задачи не влияет на остальные.vstatпоказывает, какие сессии работают, запрашивают разрешение или ждут. Ожидающая сессия выполнения не обязательно завершила свою задачу: значение имеет только приёмка со стороны сессии планирования.- Если роль завершает свой ход, не передав работу дальше, рабочий процесс блокируется. Проверьте диалог, ответьте на то, что требуется, и продолжите работу из сессии планирования.
Команды описаны в главе Команды сессий.