워크플로우 디자인 패턴
오케스트레이션 패턴을 조합해 실제 도메인에서 쓰이는 완결된 워크플로우를 설계하는 방법과 다양한 사례를 다룬다.
- 오케스트레이션 패턴과 워크플로우의 관계 — 패턴은 블록, 워크플로우는 완성된 조립품
- 워크플로우를 구성하는 6가지 요소: 단계·분기·병렬·취합·게이트·루프
- 5가지 실제 도메인 워크플로우 사례와 흐름도
- 서브에이전트 로스터 — 각 에이전트의 티어, 병렬 가능성, 쓰기 권한
- 역할 경계 매트릭스 — 어떤 시나리오에 어떤 에이전트를 써야 하는지
- PM 페이즈 파이프라인 — Phase 0부터 Phase 6까지의 실행 워크플로우
- 업무 성격에 따라 어떤 패턴을 선택하고 조합할지를 결정하는 가이드
워크플로우란 무엇인가
2장 §4에서 배운 오케스트레이션 패턴 5가지 — 프롬프트 체이닝(파이프라인), 라우팅, 병렬화(팬아웃/투표), 오케스트레이터-워커, 평가자-최적화(검증-후-적용) — 은 단일 작업 단위에서 에이전트 간 협력을 구성하는 기본 빌딩 블록이다. 하지만 실무에서는 이 블록 하나만으로 업무를 완수하는 경우보다 여러 블록을 연결하고 겹쳐서 하나의 완결된 흐름을 만드는 경우가 훨씬 많다.
워크플로우(workflow)는 "하나 이상의 에이전트가 협력하여 복잡한 작업을 완수하는 과정 전체"를 말한다. 오케스트레이션 패턴이 어떻게 협력하는가에 대한 답이라면, 워크플로우는 전체 과정이 어떤 순서와 구조로 진행되는가에 대한 답이다. 워크플로우는 보통 다음 세 가지가 결합된다.
- 오케스트레이션 패턴의 조합 — 어떤 단계는 순차(파이프라인), 어떤 단계는 병렬(팬아웃), 어떤 분기는 조건(라우팅)으로 나뉜다.
- 도메인 규칙 — "코드 리뷰에서는 보안 관점과 성능 관점을 반드시 별도 검토해야 한다"처럼, 해당 업무 도메인에서 요구되는 규칙이다.
- 인간 승인 게이트 — 3장에서 배운 가드레일 원칙에 따라, 되돌릴 수 없는 지점 앞에서 반드시 사람이 확인하는 단계다.
이 장에서는 2장의 패턴을 이미 알고 있다고 전제한다. 모르는 용어가 나오면 2장 §4 오케스트레이션 패턴과 §4b 동적 팀 구성을 먼저 읽고 오자. 다음 절에서는 패턴을 넘어, 워크플로우를 구성하는 6가지 요소를 정리한다.
워크플로우 구성요소
복잡한 워크플로우를 분해하면 몇 가지 반복되는 구조 요소가 나온다. 2장의 5가지 패턴은 에이전트 간 협력 방식에 초점을 맞추었지만, 여기서는 워크플로우의 구조적 뼈대에 초점을 맞춘다.
이 요소들을 조합하면 거의 모든 실무 워크플로우를 표현할 수 있다. 다음 절에서는 실제 도메인에 이 요소들을 어떻게 배치하는지 사례별로 살펴본다.
실제 워크플로우 사례
5가지 도메인 워크플로우를 사례별로 정리한다. 각 사례는 핵심 패턴 조합, 스테이지 흐름, 담당 에이전트, 인간 게이트 위치를 보여준다. 이미 ai-workspace-standards에 구현된 베리언트(variant)와 연결된 사례도 포함한다.
코드 리뷰 소프트웨어 개발
핵심 패턴: 라우팅 → 팬아웃 → 취합 → 파이프라인 → 검증-후-적용(루프)
① 변경 분석(라우팅): 변경된 파일의 규모와 유형을 분석하여 검토 범위를 결정한다. 단순 오타 수정이면 빠른 경로, 큰 기능 변경이면 전체 검토 경로로 분기한다.
② 다관점 검토(팬아웃): 보안·성능·가독성 세 관점을 각각 전문 리뷰어 에이전트가 동시에 검토한다.
③ 의견 취합(취합): 세 리뷰어의 피드백을 종합 에이전트가 하나의 피드백 보고서로 작성한다.
④ 수정 제안(파이프라인): 피드백을 바탕으로 코드 수정 제안을 생성한다.
⑤ 최종 승인(검증-후-적용): 수정된 코드를 재검토. 통과하면 인간 승인 게이트로, 거부되면 ④로 루프.
variant: co-develop의 6단계 거버넌스 파이프라인과 구조적으로 유사하다. 6장 §1 참조.
시장 조사 보고서 컨설팅 · 리서치
핵심 패턴: 오케스트레이터-워커 → 팬아웃 → 파이프라인 → 검증-후-적용
① 오케스트레이션(PM): PM 에이전트가 조사 범위, 타겟 시장, 산출물 형식을 정의하고 워커에게 위임한다.
② 병렬 조사(팬아웃): 시장 규모 분석, 경쟁사 분석, 기술 트렌드 조사를 세 에이전트가 동시에 수행한다.
③ 취합·초안(파이프라인): 세 조사 결과를 종합해 보고서 초안을 작성하고, 시각화(차트)를 생성한다.
④ 교차 검증(검증-후-적용): 전문 검토자가 데이터 출처, 논리적 일관성, 누락 여부를 검토. 인간 승인 게이트 후 최종 보고서 확정.
variant: co-consult의 7단계(Phase 0~6) 파이프라인 구조를 기반으로 한다. 6장 §2 실습(G-1)에서 직접 경험할 수 있다.
프레젠테이션 제작 강의 · 발표
핵심 패턴: 파이프라인(장파이프라인) + 팬아웃(중간 병렬)
① 리서치: 주제에 관련된 자료를 수집하고 출처를 검증한다.
② 스토리라인: 전체 내용의 흐름과 슬라이드 구성을 기획한다.
③ 디자인: 시각적 레이아웃과 테마를 선택한다.
④ 이미지 큐레이션 + 다이어그램 생성(팬아웃): 일러스트와 다이어그램을 동시에 생성하여 시간을 단축한다.
⑤⑥⑦ 빌드·측정·내보내기(파이프라인): HTML 빌드 → 레이아웃 검측 → 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 Orchestrator | agents/pm.md | High | — | 오케스트레이션만 |
| Consistency Auditor | agents/auditor.md | Medium | 독립 QA | 없음 |
| Lifecycle Manager | agents/lifecycle-manager.md | Medium | 온디맨드 거버넌스 | 거버넌스 문서만 (L0 전용) |
| Template Architect | agents/architect.md | High | 설계 단계 | 없음 |
| Automation Engineer | agents/automation-engineer.md | Low | 순차 | TypeScript (.ts) 자동화 스크립트 |
| Documentation Writer | agents/docs-writer.md | Medium | 설계 이후 | .md 파일만 |
| Scaffolding Expert | agents/scaffolding-expert.md | Low | 리서치 단계 | 설치 스크립트만 (승인 후) |
| Security & Git Expert | agents/security-expert.md | Medium | 리뷰 단계 | 훅 설정만 |
이 테이블의 "병렬 실행" 열은 8장 §4에서 다룬 Tier Adjustment Rules과 함께 해석해야 한다. 예를 들어 docs-writer는 "설계 이후"에만 병렬 실행 가능한데, 이것은 설계가 확정되지 않은 상태에서 문서를 병렬로 작성하면 나중에 전부 갈아 엎야 할 위험이 있기 때문이다. 반면 Auditor는 "독립 QA"로, 다른 에이전트의 작업과 무관하게 언제든 독립적으로 실행될 수 있다.
역할 경계 매트릭스 — "누가 이 작업을 해야 하는가"
에이전트가 여럿일 때, "누가 이 작업을 맡아야 하는가"가 모호해질 수 있다. 다음 매트릭스는 그 모호함을 해소하는 역할 경계(role boundary)를 정의한다.
| 시나리오 | 사용해야 할 에이전트 | 사용하면 안 되는 에이전트 |
|---|---|---|
| 구현 방법과 폴더 구조 설계 | architect | automation-engineer |
| 자동화 스크립트(.ts) 작성/수정 | automation-engineer | architect |
| 문서 업데이트 | docs-writer | architect |
| 프로젝트를 템플릿에서 새로 만들기 | scaffolding-expert | automation-engineer |
| 보안 리뷰, Git 훅 설정 | security-expert | architect |
| 문서 일관성 교차 검증 | auditor | docs-writer |
| 여러 에이전트 간 작업 오케스트레이션 | pm | 어떤 실행 에이전트도 |
이 매트릭스의 핵심 원칙은 "설계와 실행을 분리"한다는 것이다. architect는 설계만 하고 스크립트를 직접 작성하지 않으며, automation-engineer는 스크립트를 작성하지만 구조를 설계하지 않는다. docs-writer가 문서를 검증하는 것이 아니라 auditor가 검증하고, docs-writer는 auditor가 쓴 피드백을 반영해 문서를 수정하는 식이다.
PM 페이즈 파이프라인 — 워크플로우의 거버넌스 관점
이 장에서 다룬 워크플로우 패턴(라우팅, 팬아웃, 파이프라인 등)은 기술적 구성요소의 관점이다. 실제 워크스페이스에서는 이 기술적 패턴 위에 거버넌스 페이즈가 겹쳐진다. PM이 관리하는 7단계 페이즈를 워크플로우 관점에서 정리하면 다음과 같다.
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에서 다룬다.
워크플로우 선택 가이드
새로운 업무에 멀티 에이전트 워크플로우를 도입하려면, 어떤 패턴으로 시작하고 어떻게 확장해 나갈지 결정해야 한다. 다음 의사결정 나무는 첫 단계를 고르는 데 도움이 된다.
업무 유형별 시작 패턴
의사결정 나무의 결과를 업무 유형별로 정리하면 다음과 같다.
| 업무 유형 | 의존 관계 | 병렬 가능 | 검증 필요 | 권장 시작 패턴 |
|---|---|---|---|---|
| 문서 번역·요약 | 순차 | × | 보통 | 파이프라인 |
| 코드 리뷰 | 부분 | ○ | 필수 | 라우팅 → 팬아웃 → 검증 |
| 시장 조사 | 부분 | ○ | 필수 | 오케스트레이터-워커 → 팬아웃 |
| 버그 수정 | 순차 | × | 필수 | 파이프라인 + 검증-후-적용 |
| 이슈 트리아지 | 없음 | 조건부 | 보통 | 라우팅 → 오케스트레이터-워커 |
| 프레젠테이션 제작 | 부분 | ○ | 필수 | 파이프라인(장) + 팬아웃(중간) |
| PR 생성 | 순차 | × | 필수 | 파이프라인 + 검증-후-적용 |
| 다국어 콘텐츠 생성 | 없음 | ○ | 보통 | 팬아웃 + 취합 |
패턴 조합 가이드
어떤 패턴을 함께 쓰면 시너지가 나는지 정리한다.