계획 및 실행
계획 및 실행 워크플로는 하나의 작업을 두 역할로 나눕니다. 계획 세션은 작업을 준비하고 검토하며, 하나 이상의 실행 세션이 작업을 수행합니다. 이 장에서는 메뉴나 세션에서 워크플로를 시작하는 방법, 작업 분할 검토, 작업 디렉터리 선택, 워크플로 진행 상황 확인을 설명합니다.
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. 여러 작업으로 나누기
대화 상자에서 "여러 작업으로 자동 분할"을 켜거나 vspawn --plan-execute에 --split-tasks를 추가합니다. 그러면 계획 세션이 작업을 조사하여 1~12개의 독립된 작업을 제안합니다. 사용자가 확인하기 전까지는 실행 세션이 시작되지 않습니다.
제안이 준비되면 "실행 작업 확인" 대화 상자가 열립니다.
- 목록에서 작업을 선택하여 "세션 이름", "작업 지시", 에이전트, "모델", "추론 강도"를 편집합니다. 다른 작업으로 전환해도 편집 내용은 유지됩니다.
- "작업 제외"로 작업을 빼고, "제외 취소"로 되돌릴 수 있습니다. 작업은 최소 하나 이상 남아 있어야 합니다.
- 시작 버튼("세션 N개 시작")을 누르면 작업마다 실행 세션이 하나씩 만들어집니다.
- 대화 상자를 닫아도 제안은 대기 상태로 유지되며, 화면에 "실행 작업 확인" 링크가 남아 있어 다시 열 수 있습니다. 제안을 취소하면 실행 세션을 만들지 않고 워크플로가 중지됩니다.
- 대화 상자에는 고유한 주소가 있어 새로 고쳐도 유지됩니다. 단, 아직 확정하지 않은 편집 내용은 새로 고치면 사라집니다.
스킬을 작업 분할과 함께 사용하면 --yes가 추가되어 이 마지막 검토 단계만 표시됩니다. 검토 단계에서는 각 실행 세션의 설정을 변경할 수 있지만, 이미 실행 중인 계획 세션의 설정은 변경할 수 없습니다.
하나의 계획 세션이 모든 실행 세션의 보고를 받고, 작업마다 별도의 수정 라운드를 거쳐 각 작업을 개별적으로 검토합니다. 워크플로 전체는 모든 작업이 승인된 뒤에야 완료됩니다.
작업은 서로 같은 파일을 편집하지 않도록 나누십시오. 실행 세션마다 별도의 에이전트 프로세스가 실행되므로, 컴퓨터의 리소스를 고려하여 작업 수를 정하십시오.
5. 작업 디렉터리와 워크트리
디렉터리 선택은 워크플로의 모든 역할에 적용됩니다.
| 선택 | --worktree-mode | 결과 |
|---|---|---|
| "현재 디렉터리 사용" | none | 모든 세션이 지정한 디렉터리에서 작업합니다 |
| "워크트리 공유" | shared | 계획 세션과 모든 실행 세션이 새 워크트리와 브랜치 하나를 공유합니다 |
| "세션별 독립 워크트리" | each | 계획 세션과 각 실행 세션이 각자의 워크트리와 브랜치를 사용합니다 |
새 워크트리는 현재 커밋에서 시작하며 커밋하지 않은 변경 사항은 포함하지 않습니다. 워크트리를 만들 수 없으면 해당 세션은 시작되지 않으며, 다른 디렉터리를 대신 사용하지도 않습니다. 명령줄에서 --worktree만 지정하면 shared와 같습니다.
결과는 병합할 때까지 워크트리에 남아 있습니다. 브랜치를 병합하려면 세션에서 "Git ▸ Merge…"를 사용합니다(세션 생성 및 Git 협업 §6 참조). 워크플로는 스스로 병합하거나, 푸시하거나, 워크트리를 삭제하지 않습니다.
6. 진행 상황 확인
- 계획 세션의 대화에는 모든 보고와 수정 요청이 발생하는 대로 표시됩니다. 실행 세션이 작업하는 동안 계획 세션은 보고를 기다립니다.
vflow status <workflow-id>는 워크플로의 상태, 작업, 세션, 현재 라운드를 표시합니다. 워크플로 ID는 워크플로 메시지에 표시됩니다.vflow stop <workflow-id>는 이후 라운드를 중지하고 실행 중인 세션에 중지를 요청합니다. 워크플로 전체를 중지하면 모든 작업이 중지되지만, 작업 하나만 중지하면 다른 작업에는 영향이 없습니다.vstat은 어떤 세션이 작업 중인지, 권한을 요청하고 있는지, 대기 중인지 표시합니다. 대기 중인 실행 세션이 반드시 작업을 끝낸 것은 아닙니다. 작업 완료 여부는 계획 세션의 승인으로만 판단합니다.- 어떤 역할이 작업을 넘기지 않고 턴을 끝내면 워크플로가 차단됩니다. 대화를 확인하여 필요한 내용에 응답한 다음, 계획 세션에서 작업을 이어 가십시오.
각 명령은 세션 명령에서 자세히 설명합니다.