microsoft/conductor
A CLI tool for defining and running multi-agent workflows with the GitHub Copilot SDK and Anthropic Agents SDK.
Conductor – 반복 가능하고 버전 관리 가능한 다중 에이전트 AI 워크플로우를 위한 CLI
무엇인가요 – Conductor는 단일 YAML 파일에 AI 에이전트(Copilot, Claude 등)의 파이프라인을 정의하고 로컬, CI, 또는 클라우드에서 실행할 수 있는 명령줄 도구입니다. 오케스트레이션 자체는 결정론적(모델이 다음 단계를 결정하지 않음)이며, 전체 워크플로우 정의는 일반 텍스트로 유지되므로 코드와 마찬가지로 버전 관리, 차이 비교, 리뷰가 가능합니다.
왜 중요한가요 – 신뢰할 수 있는 AI 기반 파이프라인(코드 리뷰 봇, 연구 후 요약 루프, 계획 후 구현 사이클 등)을 구축하는 것은 대부분의 기존 솔루션이 일시적인 스크립트나 수동 프롬프트에 의존하기 때문에 어렵습니다. Conductor는 다음과 같은 장점을 제공합니다:
- 재현성 – 동일한 입력은 항상 동일한 경로를 따릅니다.
- 결정론적 라우팅 – Jinja2 기반 조건이 다음 에이전트를 결정하며, 오케스트레이션에 토큰을 소비하지 않습니다.
- 소스 컨트롤 친화성 – 워크플로우는 리뷰 가능한 YAML 파일입니다.
주요 기능
| 기능 | 기능 설명 |
|---|---|
| YAML 기반 워크플로우 정의 | 에이전트, 프롬프트, 라우팅, 하위 워크플로우를 읽기 쉬운 파일로 선언합니다. |
| 다수의 AI 프로바이더 지원 | GitHub Copilot, Anthropic Claude, Claude Agent SDK, NousResearch Hermes, Azure Container Apps sandbox(실험적). |
| 병렬 및 동적 실행 | 에이전트 그룹을 동시에 실행할 수 있으며, for_each를 통해 런타임에 목록을 확장할 수 있습니다. |
| 하위 워크플로우 조합 | 템플릿 기반 입력 매핑을 통해 워크플로우 조각을 재사용합니다. |
| 스크립트 및 스텝 설정 | LLM을 호출하지 않고도 쉘 명령어를 실행하거나 Jinja2 값을 계산할 수 있습니다. |
| 사람이 개입하는 게이트 | Markdown 프롬프트, 클릭 가능한 파일 링크, 또는 웹 대시보드를 통해 수동 결정을 일시 정지할 수 있습니다. |
| 안전성 제한 | 최대 반복 횟수 제한 및 타임아웃 강제로 무한 실행을 방지합니다. |
| 웹 대시보드 | 실시간 DAG 시각화, 에이전트 출력의 실시간 스트리밍, 브라우저 내 사람의 게이트. |
| 플릿 매니저 TUI | 실행 중인 모든 워크플로우 목록을 표시하고 상태, 토큰 사용량, 비용을 확인하며 게이트에 응답하거나 새로운 실행을 시작할 수 있습니다. |
| 검증 기능 | 누락된 입력, 오래된 템플릿 참조, 선언되지 않은 종속성에 대한 사전 실행 검사. |
일반적인 사용 사례
- 코드 리뷰 파이프라인 – Copilot 에이전트가 리뷰 작성, Claude 에이전트가 요약, 사람의 게이트를 통해 병합 전 승인.
- 연구 후 요약 – 한 에이전트가 자료 수집, 다른 에이전트가 보고서 초안 작성, 최종 에이전트가 형식화.
- 계획 후 구현 루프 – 에이전트가 설계 제안, 두 번째 에이전트가 격리된 Azure Container Apps 샌드박스에서 코드 작성, 세 번째 에이전트가 결과 검증.
설치 (빠른 방법)
# macOS / Linux
curl -sSfL https://aka.ms/conductor/install.sh | sh
# Windows (PowerShell)
irm https://aka.ms/conductor/install.ps1 | iex
스크립트는 필요 시 uv 패키지 매니저를 설치하고 최신 릴리스를 다운로드한 후 모든 종속성을 격리된 가상 환경에 설치합니다. 업데이트는 conductor update 또는 동일한 설치 스크립트에 --apply 옵션을 사용하여 수행합니다.
워크플로우 실행
- YAML 파일을 작성합니다 (예:
my-workflow.yaml). - 실행합니다:
conductor run my-workflow.yaml --input question="What is Python?"
- CLI는 최종 JSON 출력을 표시하며,
--web또는--web-bg옵션을 사용해 웹 대시보드를 시작하여 DAG를 실시간으로 시청할 수 있습니다.
예시 스니펫 (README에서)
workflow:
name: simple-qa
entry_point: answerer
agents:
- name: answerer
model: gpt-5.5
prompt: |
Answer the following question:
{{ workflow.input.question }}
output:
answer:
type: string
routes:
- to: $end
output:
answer: "{{ answerer.output.answer }}"
프로바이더 설정 – 파일 상단에 프로바이더를 설정합니다. 예:
workflow:
runtime:
provider: copilot # 또는 openai, claude, hermes, aca 등
default_model: gpt-5.5
인증은 일반적인 환경 변수 규칙을 따릅니다 (OPENAI_API_KEY, ANTHROPIC_API_KEY, Copilot용 GitHub CLI 로그인 등).
확장성 – Conductor는 Claude Code 및 GitHub Copilot CLI용 스킬을 제공하여 동일한 워크플로우 스키마를 해당 어시스턴트 내에서 사용할 수 있습니다. 실험적 프로바이더(Claude Agent SDK, Hermes, ACA)는 uv add 또는 pip install로 문서에 따라 추가할 수 있습니다.
결론 – Conductor는 LLM 기반 파이프라인을 테스트 가능한 소프트웨어 아티팩트로 전환합니다. 오케스트레이션을 결정론적이고 버전 관리함으로써 AI 보조 자동화를 CI/CD, 팀 협업, 프로덕션 수준 워크로드에 적합하게 만듭니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트