---
id: pattern-agent-orchestration
title: "Agent Orchestration Pattern"
category: "Pattern_AI"
status: "draft"
verification_status: "applied"
canonical_id: ""
aliases: ["Agent Orchestration", "에이전트 오케스트레이션 패턴", "multi-agent", "pipeline"]
duplicate_of: ""
source_trust_level: "A"
confidence_score: 0.88
created_at: 2026-06-13
updated_at: 2026-06-13
review_reason: ""
merge_history: []
tags: ["pattern", "ai", "agent", "orchestration", "platform-independent"]
raw_sources: ["일반 소프트웨어 공학 지식", "AstraAI/src/agents/*, src/features/company/dispatcher.ts (적용 예)"]
applied_in: ["AstraAI"]
github_commit: ""
---

# [[Agent Orchestration Pattern]]

## 🎯 한 줄 통찰 (One-line insight)
에이전트 오케스트레이션은 "큰 작업을 단계/역할로 쪼개 LLM 을 여러 번 호출·조율" 하는 패턴이며, *에이전트 수를 늘리는 것 자체가 목적이 되면 실패* 한다 — 정보 손실과 자원을 먼저 따져라.

## 🧠 핵심 개념 (Core concepts)
1. **분해:** 작업 → 단계(outline/draft/polish) 또는 역할(planner/specialist/reporter).
2. **조율:** 흐름 골격이 호출 순서·데이터 전달을 관리.
3. **상태 전달:** 앞 단계 출력을 다음에 전달(peer-context), 단 손실 주의.
4. **자원 모델:** 병렬 vs 순차는 하드웨어가 결정.

## 📖 세부 내용 (Details · 패턴 명세)
- **Problem (언제 쓰나):** 단일 호출로는 품질/길이/전문성이 부족한 복합 작업.
- **사용 조건:** 단계 분해가 명확; 단계 간 인터페이스 정의 가능; 자원이 선택한 동시성 모델을 감당.
- **장점:** 단계별 최적화, 긴 산출물, 역할 전문화, 검증 단계 삽입 용이.
- **단점:** 지연·비용 증가, hop 마다 컨텍스트 누적/원본 손실, 디버깅 복잡.
- **대안:** 단일 프롬프트(짧은 작업), 단일 작성자 다중 역할(자원 제약), 도구 호출.
- **실패 사례:** 에이전트 남발로 "방법론만 생성"; 병렬 다중 모델 상주 OOM; orchestrator 재비대.

## 💻 코드 패턴 (Code patterns)
```text
# 자원 제약: 순차 + 한 모델 상주
plan = planner(prompt)
peer = ""
for task in plan.tasks:
    out = specialist(task, peer); persist(out); peer += truncate(out)
report = synthesizer(prompt, peer)

# 단일 작성자 다중 역할 (작은 모델 친화)
outline = M("outline", prompt); body = [M("section", o, source) for o in outline]; M("polish", body)
```
적용 예: [[Agent 오케스트레이터 분해]], [[AITRAIN 에이전트 오케스트레이션]], 결정 [[ADR-0003 단일작성자 다중역할 멀티에이전트]]·[[ADR-0004 순차 디스패치 채택]].

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
"멀티에이전트가 항상 낫다" 는 자원 제약 하에서 거짓 — 잘 만든 단일 작성자가 어설픈 병렬 파이프라인을 이긴다.

## 🛠️ 적용 사례 (Applied in summary)
AstraAI company dispatcher(순차), ChunkedWriter(단일 다중역할).

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[패턴 카탈로그 인덱스]]
- **관련 개념:** [[Reflection Pattern]], [[Critic Pattern]], [[Tool Calling Pattern]], [[Background Worker Pattern]]
- **참조 맥락:** 작은 모델이 복합 작업을 단계화할 때 과설계 회피와 함께 참조.

## 📚 출처 (Sources)
- [S1] 일반 멀티에이전트 지식
- [S2] AstraAI/src/agents/*, features/company/dispatcher.ts — 적용 예

## 📝 변경 이력 (Change history)
- 2026-06-13: 프로젝트 독립 패턴 카드 작성.
