← 返回 FEED
AGENT2026-04-21

从零构建企业级 Agent Harness:OpenAI Agents SDK + Modal Sandboxes 实战

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 接收这个目标后:

  1. 主 Agent 制定实验计划,定义候选架构方向。
  2. 并行启动多个子 Agent,每个在独立 GPU Sandbox 里编写 PyTorch 训练脚本并运行。
  3. 子 Agent 汇报实验结果(验证集性能 vs 参数量)。
  4. 主 Agent 根据结果调整方向,再次并行实验。

这个模式——计划、并行执行、汇总、再计划——是 Agent 在研究类任务中的标准作战流程。

完整代码已开源在 GitHub,可作为自建企业 Agent Harness 的起点。