跳到正文

AI Know · 技术研究笔记

Codex 的 harness 首次以 API 形式对外开放

单次调用即可托管运行 Agent 全流程;输入、执行、评测三段全部云端托管;开发者不必自建沙箱与调度层

听书暂不可用,请阅读正文。

00

三分钟读懂

先看结论,再决定是否深读

  1. Codex 的 harness 首次以 API 形式对外开放
  2. 单次调用即可托管运行 Agent 全流程
  3. 输入、执行、评测三段全部云端托管
  4. 开发者不必自建沙箱与调度层
  5. 公测阶段能力与配额仍有边界
01 / DEEP DIVE

核心原理

过去一年多,Agent 的工程难点从来不在"模型会不会规划",而在"规划之后谁来执行"。文件系统、进程隔离、超时控制、重试、上下文压缩、工具调用的错误恢复,这些脏活构成了一个 harness。OpenAI 在 Codex 上打磨出的正是这套东西——它让一个模型可以在真实仓库里读文件、跑测试、改代码、再跑测试,直到任务收敛。

这次 Agents API 公测版的意义,是把这套 harness 连同它背后的基础设施封装成一个云端端点。开发者不再需要自己拼装沙箱、写调度循环、管理会话生命周期,只需一次 API 调用,就能把"给一个目标、让它自己迭代到完成"这件事托管出去。换句话说,OpenAI 卖的不再只是推理能力,而是"推理 + 执行 + 环境"的整套运行时。

这个转变值得重视:它把 Agent 从"框架问题"变成了"服务问题"。以前你要选 LangGraph 还是自己写状态机,现在多了一个选项——直接调 API。代价是控制权外移,收益是上线速度。

02 / DETAILS

技术细节

输入侧。 调用方提交的是任务描述加环境上下文:目标指令、可用的工具集合、初始文件或仓库快照、以及约束条件(比如允许写哪些路径、单步超时多久)。关键设计在于 harness 把"环境"当成一等公民——你给的不是一段 prompt,而是一个可操作的工作区。上下文压缩、历史裁剪由服务端负责,开发者不必手工管理 token 预算。

推理与执行侧。 云端 harness 负责把任务拆成步骤,逐步调用工具、观察结果、修正计划。执行发生在隔离沙箱内,文件读写、命令执行、网络访问都受策略约束。这一层是 Codex 积累最深的部分:失败重试、循环检测、上下文溢出时的摘要回退,都是工程细节而非模型能力。对开发者而言,这一层是黑盒,只能通过配置项和观测输出间接影响。

输出与评测侧。 返回的不只是最终答案,而是完整轨迹:每一步的动作、观察、耗时,以及最终产物(补丁、文件、结构化结果)。这使评测成为可能——你可以按任务成功率、步数、token 消耗、墙钟时间四个维度打分,也可以对轨迹做回归比对。轨迹可见是这套 API 相对"黑盒 Agent"的最大优势,它让调试从猜测变成读日志。

03 / IMPLEMENTATION

工程实践

建议一:先把任务边界写死。 别一上来就给它开放式目标。选定一类高重复、可验证的任务,比如"修复失败的测试"或"按模板生成迁移脚本",用明确的完成条件约束它。可验证性是 Agent 能收敛的前提,没有测试或校验步骤的任务,失败率会高得离谱。

建议二:把评测跑在接入之前。 用返回的轨迹建立基线:同一批任务跑三次,记录成功率与方差。方差大说明任务描述有歧义,而不是模型不行。先修 prompt 和环境,再考虑换模型或加工具。建议用下表做最小评测框架。

维度 观测指标 用途
效果 任务成功率 判断能力是否够用
稳定 多次运行方差 识别描述歧义
成本 token 与步数 控制预算上限
时延 端到端耗时 判断能否进交互链路

建议三:权限最小化 + 全程留痕。 沙箱能写哪些路径、能调哪些外部接口,按最小必要授予。同时把每次调用的轨迹落盘归档,出问题时能回溯是哪一步越了界。别把生产密钥直接塞进环境。

05 / FAILURE MODES

风险边界

成本。 Agent 是多次推理的串联,单次任务可能触发几十步调用。token 消耗随步数线性增长,遇到不收敛的任务会持续烧钱。必须设置步数上限与预算熔断,否则一个死循环就能吃掉整月配额。

幻觉。 轨迹可见不等于轨迹正确。模型可能"自信地"声称某个测试通过了,而实际命令返回的是失败。凡是关键结论,都要在 harness 之外做独立校验,不能只信它自己汇报的结果。

越权调用。 Agent 会主动寻找达成目标的路径,这包括你没预料到的路径。如果沙箱策略过宽,它可能删除不该删的文件、调用不该碰的接口。权限边界必须由平台侧强制,而非依赖提示词约束。

长尾输入与延迟。 超大仓库、非标准构建系统、需要交互式输入的命令,都会让 Agent 卡住或超时。这类长尾场景在 demo 里见不到,在生产里占比却很高。上线前应准备降级路径:超时即回退到人工,而不是无限等待。

公测版的价值在于验证流程,而非直接扛生产流量。先把一类任务跑通、跑稳、跑便宜,再谈扩展。

完整信源

事实从哪里来