Runtime Adapter¶
Runtime Adapter 用于隔离底层智能体框架差异。
为什么需要 Adapter¶
Claude Code、Codex、OpenAI Agents SDK 各自优势不同:
- Claude Code / Claude Agent SDK:适合复杂代码任务、subagents、hooks、MCP 工具调用。
- Codex SDK:适合程序化控制 Codex thread/run,集成到研发工作流和内部工具。
- OpenAI Agents SDK:适合自己掌控 orchestration、tools、handoffs、guardrails、tracing。
如果业务层直接依赖某个 SDK,后续会很难切换或混用。因此需要抽象一层统一接口。
建议接口¶
text
AgentRuntime
- start_session(context)
- run_task(session_id, instruction, tools, policy)
- continue_task(session_id, message)
- cancel_task(session_id)
- get_trace(session_id)
- export_artifacts(session_id)
Adapter 应该处理什么¶
- session/thread 生命周期。
- prompt 和上下文注入。
- 工具注册与工具调用协议转换。
- sandbox / permission 配置。
- trace / log 标准化。
- 错误处理与重试。
- token、成本和延迟统计。
Adapter 不应该处理什么¶
- 不应该承载业务流程。
- 不应该硬编码部门规则。
- 不应该直接访问内部系统。
- 不应该绕过 policy 层。
初始支持建议¶
第一阶段可以只做两个 adapter:
codex_adapter:用于研发服务类任务。openai_agents_adapter或claude_adapter:用于通用企业流程类任务。
等 harness 层稳定后,再补充更多 runtime。