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 中运行该管道。编排本身是确定性的:路由决策使用 Jinja2 模板表达,而非 LLM,因此相同的输入始终遵循相同的路径。
您为何可能在意 – 如果您构建或实验多步骤 AI 系统(代码审查机器人、研究后合成循环、规划后实现周期),您通常会编写难以版本化、测试或共享的临时脚本。Conductor 为您提供:
- 可重复、版本控制的工作流(可在 PR 中进行 diff 的纯 YAML)
- 提供商无关的代理 – Copilot、Anthropic Claude、Claude-Agent SDK、NousResearch Hermes 或 Azure Container Apps 沙箱执行。
- 并行处理与子工作流 – 使用
for_each进行扇出、可重用的子工作流,以及并行代理组。 - 人机回环门控 – 暂停运行,让用户回答 Markdown 提示。
- 可观测性 – Web 仪表板(实时 DAG 视图、流式代理输出)和 TUI“Fleet Manager”,可监控每个运行中的工作流、显示令牌使用量,并让您无需离开终端即可回答门控。
- 安全限制 – 最大迭代上限、超时和明确终止步骤。
- OpenTelemetry – 导出追踪至 Jaeger/Tempo 以进行更深入分析。
工作原理
- 编写 YAML,声明
workflow、agents列表(模型、提示、输出结构)以及它们之间的路由(routes)。Jinja2 表达式可以计算值、决定下一步运行哪个步骤,或为子工作流构建输入映射。 - 运行它,使用
conductor run my-workflow.yaml --input key=value …。CLI 解析 YAML、启动所选提供商的 API 客户端,并执行每个步骤 – 代理、脚本、set步骤、MCP 工具调用等。 - 观看它 – 添加
--web以获取交互式浏览器 UI,或--web‑bg以无头模式运行并稍后打开仪表板。使用conductor fleet(TUI)查看所有活动运行、回答人类门控,或从表单启动新运行。 - 观察与调试 – 会发出日志、令牌/成本计数器和可选的 OpenTelemetry spans;您也可以导出运行的 JSON 输出。
安装 – 项目提供一行安装程序,通过 curl … | sh(或 Windows 上的 PowerShell)拉取最新版本。它在底层使用 uv 创建隔离的虚拟环境,处理镜像、代理和完整性检查。您也可以通过 uv tool install、pipx 或纯 pip 安装。
关键概念
- 提供商 – 在
workflow.runtime.provider中选择 AI 后端(copilot、openai、claude等)。每个提供商的模型名称使用default_model设置。 - 步骤 –
agent– 使用提示调用 LLM。script– 运行 shell 命令,可根据退出码或解析的 JSON 进行路由。set– 使用 Jinja2 计算值(无 LLM、无子进程)。mcp– 直接调用工具服务器,绕过 LLM 令牌使用。terminate– 以状态结束工作流。
- 路由 – 第一个匹配的 Jinja2 条件获胜;您可以根据代理输出、脚本退出或任何上下文变量进行路由。
- 人类门控 – 步骤可以暂停并呈现 Markdown 提示;用户通过仪表板、CLI 或 TUI 回答。
- 并行组 /
for_each– 静态组一起运行;动态组在列表上扇出,每个实例可以调用子工作流。
典型使用案例
workflow:
name: simple-qa
entry_point: answerer
runtime:
provider: copilot
default_model: gpt-5.5
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 }}"
使用以下命令运行:
conductor run my-workflow.yaml --input question="What is Python?"
CLI 会打印 JSON 结果,如果添加 --web,则会在仪表板中流式代理的推理过程。
谁应该使用它 –
- 构建 AI 增强的开发者工具、代码审查机器人或研究助理的团队。
- 原型化 多代理管道 的研究人员,需要可重现性和可观测性。
- 想要在 CI/CD 中运行此类管道的 DevOps 人员(确定性路由意味着运行是可预测且可追踪成本的)。
限制 / 状态 – 核心 CLI 稳定,但几个提供商(Claude Agent SDK、Hermes、Azure Container Apps)标记为 实验性。项目积极维护(CI 徽章、版本化发布),并提供升级工具(conductor update)。
以上所有信息直接取自存储库的 README;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目
- 项目