9장

워크플로우 디자인 패턴

오케스트레이션 패턴을 조합해 실제 도메인에서 쓰이는 완결된 워크플로우를 설계하는 방법과 다양한 사례를 다룬다.

이 장에서 다루는 것
  • 오케스트레이션 패턴과 워크플로우의 관계 — 패턴은 블록, 워크플로우는 완성된 조립품
  • 워크플로우를 구성하는 6가지 요소: 단계·분기·병렬·취합·게이트·루프
  • 5가지 실제 도메인 워크플로우 사례와 흐름도
  • 서브에이전트 로스터 — 각 에이전트의 티어, 병렬 가능성, 쓰기 권한
  • 역할 경계 매트릭스 — 어떤 시나리오에 어떤 에이전트를 써야 하는지
  • PM 페이즈 파이프라인 — Phase 0부터 Phase 6까지의 실행 워크플로우
  • 업무 성격에 따라 어떤 패턴을 선택하고 조합할지를 결정하는 가이드

워크플로우란 무엇인가

2장 §4에서 배운 오케스트레이션 패턴 5가지 — 프롬프트 체이닝(파이프라인), 라우팅, 병렬화(팬아웃/투표), 오케스트레이터-워커, 평가자-최적화(검증-후-적용) — 은 단일 작업 단위에서 에이전트 간 협력을 구성하는 기본 빌딩 블록이다. 하지만 실무에서는 이 블록 하나만으로 업무를 완수하는 경우보다 여러 블록을 연결하고 겹쳐서 하나의 완결된 흐름을 만드는 경우가 훨씬 많다.

워크플로우(workflow)는 "하나 이상의 에이전트가 협력하여 복잡한 작업을 완수하는 과정 전체"를 말한다. 오케스트레이션 패턴이 어떻게 협력하는가에 대한 답이라면, 워크플로우는 전체 과정이 어떤 순서와 구조로 진행되는가에 대한 답이다. 워크플로우는 보통 다음 세 가지가 결합된다.

  • 오케스트레이션 패턴의 조합 — 어떤 단계는 순차(파이프라인), 어떤 단계는 병렬(팬아웃), 어떤 분기는 조건(라우팅)으로 나뉜다.
  • 도메인 규칙 — "코드 리뷰에서는 보안 관점과 성능 관점을 반드시 별도 검토해야 한다"처럼, 해당 업무 도메인에서 요구되는 규칙이다.
  • 인간 승인 게이트 — 3장에서 배운 가드레일 원칙에 따라, 되돌릴 수 없는 지점 앞에서 반드시 사람이 확인하는 단계다.
오케스트레이션 패턴은 레고 블록이다. 하나만 써도 작동하지만, 여러 개를 조립하면 훨씬 복잡하고 유용한 형태를 만들 수 있다. 워크플로우는 그 조립 결과물이다.
오케스트레이션 패턴 (블록) → 워크플로우 (조립) 파이프라인 라우팅 팬아웃 오케스트레이터 검증-후-적용 조합 워크플로우 (예: 코드 리뷰) 라우팅 팬아웃 취합 파이프라인 검증 거부 시 루프

이 장에서는 2장의 패턴을 이미 알고 있다고 전제한다. 모르는 용어가 나오면 2장 §4 오케스트레이션 패턴§4b 동적 팀 구성을 먼저 읽고 오자. 다음 절에서는 패턴을 넘어, 워크플로우를 구성하는 6가지 요소를 정리한다.

워크플로우 구성요소

복잡한 워크플로우를 분해하면 몇 가지 반복되는 구조 요소가 나온다. 2장의 5가지 패턴은 에이전트 간 협력 방식에 초점을 맞추었지만, 여기서는 워크플로우의 구조적 뼈대에 초점을 맞춘다.

단계 (Stage)순차적으로 실행되는 하나의 작업 단위. 워크플로우의 가장 기본적인 빌딩 블록이다. 이전 단계의 출력이 다음 단계의 입력이 된다.
분기 (Branch)조건에 따라 경로가 갈라지는 지점. 라우팅 패턴의 실제 적용 — 예를 들어 "변경 규모가 작으면 빠른 리뷰, 크면 전체 검토"처럼 요청의 성질에 따라 다른 에이전트나 다음 단계로 보낸다.
병렬 (Fan-out)독립적인 하위 작업을 동시에 실행하는 지점. 팬아웃 패턴의 구조적 표현이다. 실행 시간은 가장 느린 하위 작업에 수렴한다. 예: 보안·성능·가독성 세 관점을 동시에 검토.
취합 (Fan-in)병렬로 나뉘어 실행된 여러 결과를 하나로 모으는 단계. 2장에서 다루지 않은 개념이다. 취합 시 어떤 결과를 우선할지(투표), 어떻게 병합할지(합산/선택)를 결정하는 규칙이 필요하다. 예: 세 리뷰어의 의견을 종합해 최종 피드백으로 작성.
게이트 (Gate)다음 단계로 넘어가기 전에 검증 또는 인간 승인을 요구하는 지점. 3장 가드레일의 실제 적용 지점이다. 되돌리기 어려운 작업(파일 수정·배포·PR 병합) 앞에 둔다.
루프 (Loop)검증 단계에서 거부(reject)된 경우 이전 단계로 돌아가는 반복 구조. 평가자-최적화 패턴(검증-후-적용)의 구조적 표현이다. 최대 반복 횟수를 정해두어야 무한 루프를 방지할 수 있다.
이 6가지 요소는 2장의 5가지 패턴과 1:1 대응되지 않는다. 하나의 패턴이 여러 구성요소를 포함할 수 있고(예: 팬아웃 패턴 = 병렬 + 취합), 하나의 구성요소가 여러 패턴에서 쓰일 수도 있다(예: 게이트는 검증-후-적용과 파이프라인 모두에 나타난다).

이 요소들을 조합하면 거의 모든 실무 워크플로우를 표현할 수 있다. 다음 절에서는 실제 도메인에 이 요소들을 어떻게 배치하는지 사례별로 살펴본다.

실제 워크플로우 사례

5가지 도메인 워크플로우를 사례별로 정리한다. 각 사례는 핵심 패턴 조합, 스테이지 흐름, 담당 에이전트, 인간 게이트 위치를 보여준다. 이미 ai-workspace-standards에 구현된 베리언트(variant)와 연결된 사례도 포함한다.

코드 리뷰 소프트웨어 개발

핵심 패턴: 라우팅팬아웃취합파이프라인검증-후-적용(루프)

① 변경 분석(라우팅): 변경된 파일의 규모와 유형을 분석하여 검토 범위를 결정한다. 단순 오타 수정이면 빠른 경로, 큰 기능 변경이면 전체 검토 경로로 분기한다.
② 다관점 검토(팬아웃): 보안·성능·가독성 세 관점을 각각 전문 리뷰어 에이전트가 동시에 검토한다.
③ 의견 취합(취합): 세 리뷰어의 피드백을 종합 에이전트가 하나의 피드백 보고서로 작성한다.
④ 수정 제안(파이프라인): 피드백을 바탕으로 코드 수정 제안을 생성한다.
⑤ 최종 승인(검증-후-적용): 수정된 코드를 재검토. 통과하면 인간 승인 게이트로, 거부되면 ④로 루프.

① 변경 분석 ② 다관점 검토 ③ 취합 ④ 수정 제안 ⑤ 승인 사람 거부 시 루프

variant: co-develop의 6단계 거버넌스 파이프라인과 구조적으로 유사하다. 6장 §1 참조.

시장 조사 보고서 컨설팅 · 리서치

핵심 패턴: 오케스트레이터-워커팬아웃파이프라인검증-후-적용

① 오케스트레이션(PM): PM 에이전트가 조사 범위, 타겟 시장, 산출물 형식을 정의하고 워커에게 위임한다.
② 병렬 조사(팬아웃): 시장 규모 분석, 경쟁사 분석, 기술 트렌드 조사를 세 에이전트가 동시에 수행한다.
③ 취합·초안(파이프라인): 세 조사 결과를 종합해 보고서 초안을 작성하고, 시각화(차트)를 생성한다.
④ 교차 검증(검증-후-적용): 전문 검토자가 데이터 출처, 논리적 일관성, 누락 여부를 검토. 인간 승인 게이트 후 최종 보고서 확정.

① PM 오케스트레이션 ② 병렬 조사 ×3 ③ 취합·초안 ④ 교차 검증 ⑤ 확정 사람 보완 필요 시

variant: co-consult의 7단계(Phase 0~6) 파이프라인 구조를 기반으로 한다. 6장 §2 실습(G-1)에서 직접 경험할 수 있다.

프레젠테이션 제작 강의 · 발표

핵심 패턴: 파이프라인(장파이프라인) + 팬아웃(중간 병렬)

① 리서치: 주제에 관련된 자료를 수집하고 출처를 검증한다.
② 스토리라인: 전체 내용의 흐름과 슬라이드 구성을 기획한다.
③ 디자인: 시각적 레이아웃과 테마를 선택한다.
④ 이미지 큐레이션 + 다이어그램 생성(팬아웃): 일러스트와 다이어그램을 동시에 생성하여 시간을 단축한다.
⑤⑥⑦ 빌드·측정·내보내기(파이프라인): HTML 빌드 → 레이아웃 검측 → PDF 출력까지 순차 처리.
⑧⑨⑩⑩ 최종 검토(검증-후-적용): 완성된 PDF를 교차 검토 후 인간 승인 게이트.

① 리서치 ② 스토리 ③ 디자인 이미지 다이어그램 취합 빌드 PDF 사람

variant: co-deck의 11단계(Stage 0~11) 파이프라인 그대로다. 6장 §2 실습(G-2)에서 한식 세계화 프레젠테이션으로 직접 경험할 수 있다.

이슈 트리아지 운영 · 인시던트

핵심 패턴: 라우팅오케스트레이터-워커에스컬레이션

① 분류(라우팅): 들어온 이슈의 긴급도와 유형을 분석하여 경로를 결정한다. 버그면 수정 경로, 기능 요청이면 기획 경로, 보안이면 긴급 경로로 분기한다.
② 자동 조사(오케스트레이터-워커): 분류된 이슈를 관련 로그 검색, 재현 시도, 영향 범위 파악 등 하위 작업으로 나누어 워커 에이전트들이 조사한다.
③ 우선순위 결정: 조사 결과를 바탕으로 우선순위와 담당자를 추천한다.
④ 에스컬레이션 또는 자동 해결: 자동으로 해결할 수 있는 사소한 이슈(예: 설정 오류)는 즉시 수정하고, 복잡한 이슈는 인간 승인 게이트로 에스컬레이션한다.

① 분류 ② 자동 조사 ③ 우선순위 결정 자동 해결 에스컬레이션 사람

인시던트 관리에 특화된 베리언트(variant)는 아직 없지만, co-develop의 PM 역할과 2장의 실패 처리 패턴(재시도·롤백·에스컬레이션)을 조합해 구현할 수 있다.

PR 생성과 검증 거버넌스

핵심 패턴: 파이프라인검증-후-적용(루프) → 게이트

① 변경사항 수집: 커밋 히스토리와 diff를 수집해 PR 초안(제목·본문)을 작성한다.
② 규칙 검증(검증-후-적용): PR이 CONSTITUTION.md의 규칙(영어 제목, 특정 형식 등)을 준수하는지 자동 검사. 위반 항목이 있으면 ①로 돌아가 수정 요구.
③ 영향 분석: 변경이 다른 파일·기능에 미치는 영향을 분석하여 PR 본문에 추가한다.
④ 최종 검토 + 승인: 전체 PR을 재검토한 후 인간 승인 게이트. 승인되면 병합 대기 상태로 전환.

① 변경 수집 ② 규칙 검증 ③ 영향 분석 ④ 검토 사람 위반 시 루프

ai-workspace-standards의 CONSTITUTION.md에 정의된 PR 워크플로우를 에이전트가 자동화하는 구조다. 5장 §2 핵심 파일8장 §1 배포와 SSOT에서 배포 파이프라인과 함께 다룬다.

사례에서 보이는 공통 패턴

5가지 사례에서 몇 가지 공통 구조가 드러난다.

  • 모든 워크플로우에 인간 게이트가 있다. 자동화가 아무리 진척되어도 최종 산출물 확정, 병합, 배포 같은 되돌리기 어려운 결정 앞에는 사람의 승인이 필요하다. 이것이 3장에서 배운 가드레일의 실제 적용 지점이다.
  • 팬아웃 뒤에는 반드시 취합이 온다. 병렬로 나뉜 결과를 그냥 나란히 놓아두면 소비자(다음 단계의 에이전트나 사람)가 직접 합성해야 한다. 취합 단계에서 명시적으로 하나의 산출물로 만들어야 다음 파이프라인 단계로 깔끔하게 넘어갈 수 있다.
  • 검증 단계에서 루프이냐 에스컬레이션이냐가 워크플로우의 복잡도를 결정한다. 자동 수정이 가능한 문제(형식 위반, 오타)는 루프로 해결하고, 판단이 필요한 문제(설계 결함, 보안 취약점)는 에스컬레이션으로 사람에게 넘긴다.
  • 단순한 파이프라인은 잘 쓰이지 않는다. 5가지 사례 중 "순수하게 순차적인" 워크플로우는 없다. 최소한 한 곳에 라우팅(분기)이나 팬아웃(병렬)이 들어간다.

서브에이전트 로스터 — 워크플로우를 구성하는 에이전트 목록

2장에서 "에이전트"를 역할(role)로 모델링한다는 것을 배웠다. 실제 워크스페이스에서는 이 역할들이 구체적인 파일과 티어 배정으로 정의되어 로스터에 등록된다. AGENTS.md의 서브에이전트 로스터는 이 정의를 한눈에 볼 수 있는 테이블이다.

에이전트파일티어병렬 실행쓰기 권한
PM Orchestratoragents/pm.mdHigh오케스트레이션만
Consistency Auditoragents/auditor.mdMedium독립 QA없음
Lifecycle Manageragents/lifecycle-manager.mdMedium온디맨드 거버넌스거버넌스 문서만 (L0 전용)
Template Architectagents/architect.mdHigh설계 단계없음
Automation Engineeragents/automation-engineer.mdLow순차TypeScript (.ts) 자동화 스크립트
Documentation Writeragents/docs-writer.mdMedium설계 이후.md 파일만
Scaffolding Expertagents/scaffolding-expert.mdLow리서치 단계설치 스크립트만 (승인 후)
Security & Git Expertagents/security-expert.mdMedium리뷰 단계훅 설정만

이 테이블의 "병렬 실행" 열은 8장 §4에서 다룬 Tier Adjustment Rules과 함께 해석해야 한다. 예를 들어 docs-writer는 "설계 이후"에만 병렬 실행 가능한데, 이것은 설계가 확정되지 않은 상태에서 문서를 병렬로 작성하면 나중에 전부 갈아 엎야 할 위험이 있기 때문이다. 반면 Auditor는 "독립 QA"로, 다른 에이전트의 작업과 무관하게 언제든 독립적으로 실행될 수 있다.

역할 경계 매트릭스 — "누가 이 작업을 해야 하는가"

에이전트가 여럿일 때, "누가 이 작업을 맡아야 하는가"가 모호해질 수 있다. 다음 매트릭스는 그 모호함을 해소하는 역할 경계(role boundary)를 정의한다.

시나리오사용해야 할 에이전트사용하면 안 되는 에이전트
구현 방법과 폴더 구조 설계architectautomation-engineer
자동화 스크립트(.ts) 작성/수정automation-engineerarchitect
문서 업데이트docs-writerarchitect
프로젝트를 템플릿에서 새로 만들기scaffolding-expertautomation-engineer
보안 리뷰, Git 훅 설정security-expertarchitect
문서 일관성 교차 검증auditordocs-writer
여러 에이전트 간 작업 오케스트레이션pm어떤 실행 에이전트도

이 매트릭스의 핵심 원칙은 "설계와 실행을 분리"한다는 것이다. architect는 설계만 하고 스크립트를 직접 작성하지 않으며, automation-engineer는 스크립트를 작성하지만 구조를 설계하지 않는다. docs-writer가 문서를 검증하는 것이 아니라 auditor가 검증하고, docs-writer는 auditor가 쓴 피드백을 반영해 문서를 수정하는 식이다.

PM 페이즈 파이프라인 — 워크플로우의 거버넌스 관점

이 장에서 다룬 워크플로우 패턴(라우팅, 팬아웃, 파이프라인 등)은 기술적 구성요소의 관점이다. 실제 워크스페이스에서는 이 기술적 패턴 위에 거버넌스 페이즈가 겹쳐진다. PM이 관리하는 7단계 페이즈를 워크플로우 관점에서 정리하면 다음과 같다.

Phase 0프로젝트 초기화(PM 전담) — 워크스페이스 요구사항 평가, 에이전트/스킬 동적 생성, AGENTS.md 갱신. 워크플로우: 오케스트레이터 단독
Phase 1~2기획·아키텍처(전문가 자율) — PM이 요청 분류, Architect가 구현 계획+ADR 작성, 리서치 에이전트를 병렬 디스패치. 워크플로우: 라우팅 → 팬아웃(병렬 리서치)
Phase 3설계 인계(variant별) — Architect가 승인된 계획을 실행 에이전트에 인계. 에이전트 간 자율 핸드오프. 워크플로우: 오케스트레이터-워커(핸드오프)
Phase 4실행(전문가 자율) — Automation Engineer가 승인된 계획대로 구현, Docs Writer가 문서 업데이트. 워크플로우: 파이프라인(순차 실행)
Phase 5라이프사이클 종료(PM 전담) — PM이 변경된 아티팩트의 거버넌스 기록 업데이트. 워크플로우: 오케스트레이터 단독(기록)
Phase 6품질 보증(워크스페이스 자율) — Auditor가 qa-gate.ts 자동 실행. 최대 2회 반복 후 PM 에스컬레이션. 워크플로우: 검증-후-적용(루프)

이 7단계 페이즈는 §3의 워크플로우 사례와 직접 대응된다. 예를 들어 "코드 리뷰" 사례의 전체 흐름은 Phase 1~2(분석) → Phase 4(검토 실행) → Phase 6(QA)의 축소판이다. 실무에서 새 워크플로우를 설계할 때 이 페이즈를 염두에 두면 "어디에 인간 게이트를 둘 것인가"와 "병렬 실행이 안전한 단계는 어디인가"를 더 체계적으로 결정할 수 있다.

절차 스키마 — 워크플로우의 선언적 SSOT (ADR-0063)

이 장의 패턴들이 "사례"라면, 절차 스키마는 그 사례들을 기계가 읽는 선언으로 끌어올린 장치다. variant 템플릿의 procedures/<name>/schema.yaml에 워크플로우 단계를 {id, agent_key, skill_key, output_type, description}으로 기록하고, 단계 사이의 관계는 follows·enables·composes_with 타입으로 선언한다(참고 C 참조).

  • 검증은 저장소 일관성 검사scripts/validate-procedures.ts가 스키마 형태, 열거형, 닫힌 _output-types.yaml 어휘, 그리고 모든 agent_key/skill_key가 실제 에이전트 파일·스킬 디렉터리로 해결되는지를 검사한다. /sync가 실패 시 중단된다
  • 그래프와의 연결 — 절차에서 유도된 그래프 노드(procedure, output_type)와 엣지(step_uses_skill, step_by_agent, produces)는 생성 투영이다. 손으로 고치는 것은 금지되고, 절차를 고쳐 재생성한다
  • 커버리지는 (agent_key, phase) 단위 — 에이전트 프론트매터의 phases:가 필요한 쌍을 선언하면, 실제 절차 단계가 그 쌍을 덮는지 scripts/procedure-coverage.ts가 보고한다. 갭은 절대 자동 채워지지 않고, --tickets로 결정적 키(<variant>:<agent_key>:<phase>)의 거버넌스 티켓이 등록돼 사람이 판단한다

요컨대 워크플로우 지식 — 어느 에이전트가 어느 단계에서, 어떤 스킬로, 무엇을 산출하는가 — 가 산문이 아니라 검증 가능한 데이터가 된다. 이것이 9장의 패턴들과 절차 스키마의 차이다.

2026-09부터는 이 절차 계층 위에 도메인 스테이지 축이 얹혀, 활동들을 도메인 업무 흐름의 단계로 묶고 RACI와 결정 게이트로 책임과 판정까지 선언하는 Domain Operating Model 구조가 갖춰졌다. 자세한 내용은 13장 · Domain Operating Model에서 다룬다.

워크플로우 선택 가이드

새로운 업무에 멀티 에이전트 워크플로우를 도입하려면, 어떤 패턴으로 시작하고 어떻게 확장해 나갈지 결정해야 한다. 다음 의사결정 나무는 첫 단계를 고르는 데 도움이 된다.

하위 작업 간에 의존 관계가 있는가? 아니오 순서대로 실행하면 되는가? 아니오 파이프라인 순차 단계를 설계 검증이 필요한가? 아니오 검증-후-적용 + 파이프라인 루프를 포함한 단계 설계 오케스트레이터-워커 PM이 동적으로 작업 분배 동시에 실행해도 되는가? 아니오 팬아웃 + 취합 병렬 작업 + 결과 합산 라우팅 조건별 분기 💡 실무에서는 여러 패턴을 조합한다 코드 리뷰 = 라우팅 + 팬아웃 + 취합 + 파이프라인 + 검증-후-적용 (이 장 §3 사례 1) 의사결정 나무는 첫 패턴을 고르는 용도다. 복잡한 업무는 위에서 아래로 단계를 설계하면서 패턴을 자연스럽게 추가한다.

업무 유형별 시작 패턴

의사결정 나무의 결과를 업무 유형별로 정리하면 다음과 같다.

업무 유형의존 관계병렬 가능검증 필요권장 시작 패턴
문서 번역·요약순차×보통파이프라인
코드 리뷰부분필수라우팅 → 팬아웃 → 검증
시장 조사부분필수오케스트레이터-워커 → 팬아웃
버그 수정순차×필수파이프라인 + 검증-후-적용
이슈 트리아지없음조건부보통라우팅 → 오케스트레이터-워커
프레젠테이션 제작부분필수파이프라인(장) + 팬아웃(중간)
PR 생성순차×필수파이프라인 + 검증-후-적용
다국어 콘텐츠 생성없음보통팬아웃 + 취합

패턴 조합 가이드

어떤 패턴을 함께 쓰면 시너지가 나는지 정리한다.

팬아웃 + 파이프라인병렬 리뷰, 다국어 번역 후 후처리. 팬아웃으로 속도를 얻고 파이프라인으로 순서를 보장한다.
라우팅 + 팬아웃이슈 트리아지, 규모별 검토. 라우팅으로 분류하고 각 경로마다 다른 병렬 작업을 수행한다.
오케스트레이터-워커 + 검증복잡한 분석, 설계 검토. PM이 동적으로 분배한 후 결과를 검증한다.
파이프라인 + 검증(루프)코드 생성, PR 생성. 순차적으로 작성하되 품질 기준에 맞지 않으면 이전 단계로 되돌린다.
라우팅 + 오케스트레이터모델 티어링. 쉬운 작업은 가벼운 모델로, 어려운 작업은 강한 모델로 분배한다.
이 장의 워크플로우 사례는 4장 실습의 D-1(순차 파이프라인), D-2(동적 팀 구성), 6장 실습의 G-1(co-consult), G-2(co-deck)에서 직접 경험할 수 있다. 14장 캡스톤 실습에서는 이 장의 원칙을 바탕으로 "나만의 워크플로우"를 직접 설계한다.