1. OpenAI Agents SDK、Claude Agent SDK、LangGraph 的 Agent 抽象差异(handoff/subagent/graph)与选型依据?
OpenAI Agents SDK、Claude Agent SDK、LangGraph 的 Agent 抽象差异(handoff/subagent/graph)是什么?选型依据是什么?
- 三种抽象:handoff / subagent / graph 的语义
- 各 SDK 的抽象设计取向
- 选型依据:任务结构、生态、控制粒度
三种抽象的差异:Handoff(OpenAI Agents SDK 核心)——Agent 之间通过"移交"转交任务:当前 Agent 判断任务应由谁处理时,调用 handoff 把控制权(连同对话上下文)交给目标 Agent,类似"客服转接",实现轻量、代码量小,适合"多专业 Agent 接力处理、边界清晰"的场景;Subagent(Claude Agent SDK 等)——主 Agent 派生子 Agent 执行独立子任务,子任务完成后结果回传主 Agent,类似"委派",子 Agent 有独立上下文(隔离性好),适合"任务可拆解、子任务独立"的场景;Graph(LangGraph)——显式状态图定义节点、边与条件路由,执行路径完全确定,适合"流程结构固定、需要精确控制与持久化"的场景。
选型依据:控制粒度——需要精确控制每一步(分支、恢复、并行)→ graph;需要灵活委派但不想管图结构 → subagent;需要多专业角色接力对话 → handoff。状态与持久化——长任务、断点恢复 → LangGraph(checkpoint 原生);轻量会话 → SDK 的内置会话管理。生态与语言——Python 团队三者皆可,OpenAI Agents SDK 轻量易上手、Claude Agent SDK 与 Claude 生态(Skills、MCP)整合深、LangGraph 功能全但学习曲线陡。实践结论:没有绝对优劣——同一系统可混合(graph 编排主流程,节点内用 handoff/subagent 完成灵活子任务);选择看"任务的执行结构"(固定流程→graph、接力对话→handoff、独立子任务→subagent)与团队维护能力。
本题考察主流 SDK 的抽象差异。回答要讲清 handoff/subagent/graph 三种抽象的语义与适用场景,再从控制粒度、持久化、生态给选型依据。核心是"抽象决定执行结构,按任务结构选抽象"。