OpenAI Agents SDK 发布日,Modal 同步发布了一份完整的工程教程,展示如何用这两者搭建企业级 Agent Harness。
为什么需要自建 Harness
目前市面上有现成的 Agent 产品:Codex、Claude Code、OpenCode 等。但对很多企业来说,这些开箱即用的产品无法满足定制化需求。
Ramp 是一个真实案例。Ramp 用 Modal 部署了一套自定义后台编程 Agent 团队,目前这些 Agent 负责生成超过 50% 的 PR。他们选择自建而不是直接用现成工具,是因为要把 Agent 深度整合进自己的 CI/CD 流水线、代码仓库上下文管理和任务分配系统。
OpenAI Agents SDK 给了这条自建路径更好的"积木"。
Coding Agent 的最小定义
文章给出了 Coding Agent 最简洁的定义:
Agent = for 循环 + LLM + 工具集
一个 Agent 就是一个 for 循环,让 LLM 反复决策调用哪些工具(读文件、写代码、运行命令、执行测试),直到任务完成或满足退出条件。
最简单的实现只需要几行代码。但最简单的实现也有最大的风险:一旦有恶意 Prompt 或模型判断失误,在主机上直接运行代码会导致严重后果。
Modal Sandboxes 解决的问题
Agent 需要一台真实的计算机来运行代码。Modal Sandboxes 就是这台计算机:
隔离执行:每个 Agent 任务在独立容器里运行,彼此隔离,即使代码有问题也不会影响宿主系统。
按需 GPU:Sandbox 可以直接声明需要特定 GPU 配置,任务完成后自动释放,没有常驻费用。
秒级启动:GPU 在几秒内可用,不需要预留集群。
代替在主机直接运行危险命令,Agent 通过 Modal API 启动一个隔离环境,在里面安全地进行代码实验。
并行化:从单任务到多 Agent 协同
OpenAI Agents SDK 的一个关键设计是 Agent 可以将任务"移交"给其他 Agent(Handoffs)。结合 Modal 的扩缩容能力,这让并行架构变得自然:
主 Agent 接收任务(比如:在 Parameter Golf 挑战中找到最优的小模型架构),将任务拆解成多个独立子任务。
多个子 Agent 并行启动,每个在独立的 Modal Sandbox(含 GPU)里运行,分别尝试不同的超参数组合或架构方向。
汇总:主 Agent 收集子 Agent 的实验结果,综合判断下一步方向,再次迭代。
这个架构让原本需要串行跑数天的实验,可以在几小时内完成。
Agents SDK 提供的核心构建块
Agents SDK 在 Agent 循环之上提供了几个关键抽象:
Agent 定义:声明性地定义 Agent 的名称、指令、允许的工具集。
Handoffs:Agent 可以把特定子任务移交给另一个专用 Agent(比如:代码调试 Agent 移交给测试运行 Agent)。
Tracing:内置任务追踪,可以看到 Agent 调用链的完整记录,便于调试。
Guardrails:在输入/输出层设置安全检查,减少因模型判断失误导致的危险操作。
实战案例:Parameter Golf
Modal 用 OpenAI 的 Parameter Golf 挑战演示了完整架构。
目标:用尽可能少的参数训练出能通过智能基线的小模型。
Agent Harness 接收这个目标后:
- 主 Agent 制定实验计划,定义候选架构方向。
- 并行启动多个子 Agent,每个在独立 GPU Sandbox 里编写 PyTorch 训练脚本并运行。
- 子 Agent 汇报实验结果(验证集性能 vs 参数量)。
- 主 Agent 根据结果调整方向,再次并行实验。
这个模式——计划、并行执行、汇总、再计划——是 Agent 在研究类任务中的标准作战流程。
完整代码已开源在 GitHub,可作为自建企业 Agent Harness 的起点。