Conductor 是什么?3.2 万星的 Netflix 工作流引擎,如今专门给 AI Agent 上锁(基础篇)

Conductor 是什么?3.2 万星的 Netflix 工作流引擎,如今专门给 AI Agent 上锁(基础篇)

Agent 上线第一周最常见的死法,不是模型答错,是进程没了。

Python 进程一重启,跑了四十分钟的多步任务连上下文一起消失;想插一个人工审批,就得让某个进程挂着等两天。Orkes 拿 Netflix 2016 年开源的 Conductor 来补这个洞:Agent 定义先编译成一张工作流,交给服务端执行,worker 崩了换一台接着跑。2026 年 4 月,它刚拿了 6000 万美元 B 轮。

一、从 Netflix 的微服务引擎,变成 Agent 执行层

Conductor 最早是 Netflix 撑全球扩张写的微服务编排引擎,2016 年开源。转折在 2023 年 12 月:Netflix 不再维护开源版,Orkes 接手并 fork 出 conductor-oss/conductor。今天这个仓库 32,365 星、Apache-2.0、昨天还在推代码,README 标题已经从 microservices orchestrator 改成「Durable Execution for Workflows and Agents」——定位换了,内核没换:一次执行拆成任务节点,状态存服务端,算到第几步必须记着。

Orkes 由 Conductor 原班架构师在 2020 年成立,2022 年 stealth 拿 930 万美元,2024 年 A 轮 2000 万,2026 年 4 月 B 轮 6000 万(AVP 领投、Vertex Ventures US 参投)。官方口径:客户数自 A 轮翻了三倍,3000 家企业、数百万次安装。名单里有 LinkedIn、Twilio、Quest Diagnostics、United Wholesale Mortgage、Woodside Energy、Naveo Commerce;Conductor 的老用户还有 JPMorgan、Tesla、Atlassian、Oracle、Amex、GE Healthcare。Netflix 自己也在用,官方说内部用量近几个月涨了五倍。

二、它补的是哪个洞

自己写 Agent 的人一般会踩三个坑,Conductor 是照着这三个坑设计的。

第一,Agent 活在进程里。 多数框架默认内存执行,进程一死,跑到第 12 轮的工具调用全没了。checkpoint 能救一部分,存储和恢复逻辑得自己写。

第二,checkpoint 不等于持久化执行。 存了状态,不代表能跨机器接着跑,重试、超时、fan-out、补偿也没人替你管。

第三,人审最难受。 「等主管批一下」在工程上就是「一个进程挂两天」,会超时、会被 OOM、会在部署时被 kill。

答案很直接:执行搬到服务端,本地只留定义和 worker。

三、两条路:编译式 Agent 和自适应图

路线一:编译,不解释。 用 conductor-agent-sdk(Python / TypeScript / C#,MIT)写 Agent,工具用 @tool 装饰;注册时 SDK 把定义编译成静态 workflow JSON。之后每个工具调用变成 task,worker 长轮询领走;每个回合的模型调用是内置 LLM task,支持 15 家以上供应商;@tool(approval_required=True) 变成 Human Task,执行停在服务端等表单。官方 FAQ 说得很直白:一次执行可以为了人审、外部信号或定时器暂停几个月,恢复时从原位置继续,因为内存里没有状态可丢。

路线二:自适应图。 让 LLM 在运行时决定下一步:MCP 发现工具、推理、挑工具、执行,循环到完成。区别是这些选择(循环、分支、fan-out、审批、重试、取消)都落成可检查的持久化节点,而不是散在一个 Python while 循环里。

Orkes Conductor 执行拓扑:Agent 定义经 SDK 编译成 workflow JSON,Conductor Server 调度,工具在 Task Worker 执行,状态落库,人工审批停在 Human Task
Conductor 的执行拓扑:Agent 定义编译成 workflow JSON,状态和调度在服务端,工具跑在 worker,人审停在 Human Task

配套的还有:MCP Gateway 把内部 API 变成工具;事件源支持 cron、Kafka、SQS、AMQP、webhook、数据库变更,每次触发都是有完整历史的 execution;每个执行有 execution ID,任意机器上的任意进程都能拿它查状态、批准、暂停、恢复、取消。

四、上手

最省事是先看托管版:Orkes 的 Developer Playground 免费,注册就能画流程、跑 Agent,不用装东西。

本地起一套是两条命令的事:

npm install -g @conductor-oss/conductor-cli
conductor server start        # http://localhost:8080,自带 ui-next

或者直接跑容器(UI 在 5000,API 在 8080):

docker run -p 5000:5000 -p 8080:8080 conductoross/conductor:next

再装 Agent SDK,五行跑起来:

from conductor.ai.agents import Agent, AgentRuntime, tool

@tool
def get_weather(city: str) -> str:
    """查天气"""
    return f"{city} 晴,22 度"

agent = Agent(name="weatherbot", model="openai/gpt-4o", tools=[get_weather])
with AgentRuntime() as runtime:
    runtime.run(agent, "北京今天天气怎么样").print_result()

有个坑必须提醒:网上大量教程还在教你装 agentspan、跑 agentspan server start。AgentSpan 已在 2026 年 8 月 17 日并进 Orkes Conductor,原仓库归档只读,主线换成 conductor-agent-sdk。老包还能装,但别拿旧文档当准。

五、实话

1)它是执行引擎,不是画布工具。 没有拖拽界面,得写代码、懂 task 模型和 workflow DSL。想让业务同学点鼠标的,去看 Camunda 那类 BPMN 路线。

2)确定性是拿灵活性换的。 编译式 Agent 不能跑到一半改流程,只能靠 Plan-Execute 在计划阶段把话说清楚;自适应图给了自由,治理成本又回来。任务越探索,约束越难受。

3)开源版和企业版差在治理。 RBAC、SSO、审计、BYOK、跨区容灾、99.99% SLA 都在商业版。Apache-2.0 给的是引擎,不是运维团队。

4)价格不透明。 官网只写 Playground 免费、企业版 custom;第三方目录上的「825 美元/月」是旧价,真要买得让销售报价。

5)和 Temporal 不是一类东西。 Temporal 是代码即工作流,if/else 写在 SDK 里;Conductor 是 JSON 图加事件驱动,业务方能在 UI 里看到执行卡在哪一步。选哪个,取决于你更信代码还是更信图。

一句话:如果你已经有微服务、消息队列和一堆内部 API,想让 Agent 真进生产流程、还要人审和审计,Conductor + Orkes 是目前少见的「老引擎 + 新 Agent 层」组合;如果只是想让 Agent 帮你写个脚本,这套东西太重了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注