Agent 编排层的分岔:开源框架分工与托管 Harness 的工程选型

引子:两条同时出现的信号

2026 年 9 月,Agent 工程领域出现两条方向相反、却互相印证的消息。

一条来自模型厂商:托管式 Agents API 上线,把驱动编程智能体的 harness(编排层)与 sandbox 一起打包成服务,一次 API 调用即可创建可连续运行数天的智能体,模型、工具(走 MCP)、执行环境均可指定,配套的 Codex harness 同步开源。

另一条来自开源社区:Pydantic AI v2、LangGraph 1.x、LlamaIndex Workflows 1.0、Strands Agents、Mastra 等框架密集发版,但没有一家再宣称要做唯一的通用框架,而是各自认领一条赛道。

两者合起来看,编排层正经历一次典型分层:通用编排能力下沉为运行时(runtime),框架上浮为特定执行模型的表达方式。

一、Harness 成为标准件之后,中间层还剩下什么

托管 harness 解决的是长时程任务的三个硬问题:上下文接近上限时自动压缩、同时保留继续干活所需的信息;按需加载工具定义(tool search)以节省 token 并保住 prompt 缓存;主代理拆分任务、子代理各带独立上下文并发执行。

这三项能力此前正是 LangGraph、CrewAI 一类框架的核心卖点。当它们变成随模型发布同步版本化的标配,中间层框架的差异化只剩一条:多模型中立。对已深度绑定单一模型生态的团队,自建编排的边际收益正在变薄。

但更准确的判断是:harness 标准化的是执行环境 ,不是流程语义。工单审批要几级回退、风控节点在什么条件下熔断、人工复核卡在哪一步------这些仍是业务资产,仍需要显式的流程表达。

二、开源框架的分工格局

框架 执行模型 最适配场景 语言 替换成本
LangGraph 1.x 显式状态图 + checkpoint 需审计与人机回环的长流程 Python / TS
Pydantic AI v2 类型化 agent loop 契约优先的 Python 单体栈 Python
LlamaIndex Workflows 1.0 事件驱动 async 组合 文档处理、多步流水线 Python / TS
Strands Agents 模型驱动 SDK 云厂商生态集成 Python
Mastra 工作流 + RAG + evals 全栈 TypeScript 产品 TypeScript

LangGraph 今年的更新值得单独说:节点缓存跳过重跑时的冗余计算;deferred nodes 先把并行分支收拢到屏障再触发下游;模型前后置 hook 把上下文裁剪、护栏、PII 脱敏收敛到模型边界;内容块流式 API 统一输出结构。加上节点级超时与类型化错误处理,它的定位已经很清晰------当你能把流程画成图并说清节点名,它就给你带崩溃恢复和时光回放的执行引擎。

python 复制代码
from typing import TypedDict
from langgraph.graph import StateGraph, START

class AgentState(TypedDict):
    ticket_id: str
        review_status: str      # 必须放进状态对象,否则条件边读不到
            draft: str
                citations: list[str]
def route(state: AgentState) -> str:
    return "publish" if state["review_status"] == "approved" else "revise"
builder = StateGraph(AgentState)
builder.add_node("intake", intake, cache=True)   # 节点缓存
builder.add_node("research", research)
builder.add_node("draft", draft)
builder.add_node("review", review)
builder.add_edge(START, "intake")
builder.add_conditional_edges(
    "review", route,
        {"publish": "publish", "revise": "draft"},
        )
        ```
Pydantic AI v2 走的是另一条路:把指令、工具、hook、设置收拢为单一原语 capability,围绕一个极小的可移植核心做组合。换来的是类型系统在真实项目里的收益------有团队在 90 天基准中统计到,类型检查提前拦下了 23 个此前要到运行时才暴露的问题。代价同样明确:生态规模约为 LangChain 体系的十五分之一。

## 三、选型的三个问题

1. **流程能不能画成图?** 能,且需要持久化、人机回环、审计链路------LangGraph。
2. **契约优先还是编排广度优先?** 输入输出与工具签名必须强类型------Pydantic AI。
3. **是不是事件驱动的多步管道?** 触发、拉取、转换、闸门、发布这类结构------Workflows 1.0 的心智模型与既有 webhook / cron 几乎一一对应,迁移成本最低。
另有两个协议应纳入架构决策:MCP 负责代理到工具的连接(给代理一双手),A2A 负责代理之间的协同(给代理一群同事)。它们让框架选择从"押注公司"退化为"挑选组件"------CrewAI 的 crew 可以复用 LangGraph 代理也在用的 MCP server。

## 四、两个容易踩的坑

**其一,状态对象的边界。** 图式框架要求所有节点间传递的数据都经过状态对象。把字段定义在状态之外,条件边会静默读不到值------这类问题不报错,只会让流程走错分支。建议在状态类上引入严格校验,并给每个条件边写单元测试。

**其二,迁移收益被高估或低估。** 公开案例数据可作参照:某审计流程迁移到托管 harness 后单案例成本下降约六成;把 harness 与环境分离后失败响应下降约 86%;启用子代理并发后延迟改善约四倍、评估分从 0.71 提升到 0.85。但这些数字都来自"自建编排迁移到托管"的场景。反过来说,如果你的复杂度还停在一段 API 调用加几次工具调用,**最该做的可能是不引入框架。**

## 结语

编排层的竞争,正从"谁的抽象更全"转向"谁的执行模型更贴合你的流程形状"。框架的名字不重要,重要的是先写清状态转移图,再决定把哪些环节交给托管运行时、哪些留在自己的代码里。保持可替换性,是这一轮技术周期里最划算的架构投资。

**技术标签**:#AI Agent #LangGraph #Pydantic AI #MCP #架构设计 #工程实践
相关推荐
元岳数字人小元4 小时前
数字人交互的用户体验设计与场景交互感受
运维·人工智能·开源·人机交互·交互
对象存储与RustFS4 小时前
用 Restic 把本地备份存进 RustFS:S3 兼容仓库实战
后端·rust·开源
拆房老料5 小时前
ONLYOFFICE 集群部署实战:9.3 多实例方案与 9.4 架构变化
开源·word·excel·开源软件·ppt
GitCode官方5 小时前
小鸿 AI 语音案例正式上线海思案例中心!首个适配 OpenHarmony 7.0 Release 全栈开源 AI 硬件
人工智能·开源·atomgit
麻花地6 小时前
MinerU 文档解析全指南:从 magic-pdf 到 3.4.5,PDF→Markdown 开源利器深度实战
pdf·开源
GitCode官方6 小时前
AtomGit 8 月:应用市场 App 上线、首页与工作台双改版、14 组织 32 项目加入 G-Star、五城 Meetup 收官
开源·atomgit
Databuff6 小时前
PuTTY 工具的开源平替来了,免费使用
运维·开源·ssh·开源软件
X54先生(人文科技)6 小时前
《元创力》纪实录 · 桥段 3.5-D《第一次协议的遗址》
人工智能·深度学习·架构·开源·ai写作