Skip to content

第十八章 产品比较:不要用一张总分表掩盖架构差异 ​

资料截面:2026-09-19。本章是架构与接入责任比较。五个主案例没有完成统一任务、模型、预算与权限条件下的实测,六轴均不填分数,也不构成产品排名。

产品选择首先要确定采购或自建的是哪一部分:开发者工具、可嵌入循环、组合框架,还是托管 Harness。随后再比较谁运行循环、谁执行工具、谁保存记录。相同品牌可能同时覆盖多个层次;相同“自管”标签也可能对应完全不同的数据流。

1. 五个主案例:公开事实与作者判断分列 ​

第二列归纳已核验的公开文档或固定源码,详情与版本见第十三至十七章;第三列是作者提出的采用条件和待测问题,没有同条件效能结论。

主案例公开接入面与源码边界作者的架构判断与首要验证问题
Claude Code 及相关 Claude 接入面CLI、Agent SDK;Managed Agents 另管持久会话与循环。Messages API 显式压缩又是不同接口;本轮未审计托管内部源码先选择自行运营或托管循环,再测扩展更新、逐调用权限与恢复缺口
OpenAI Codex开源 exec、TypeScript/Python SDK、App Server;Agents API 于 9 月 10 日 public beta,托管内部不由开源源码覆盖双向协议适合丰富客户端;托管路线另验数据留存、工具回传和退出成本
CursorIDE、云端 VM、自管 worker;Projects 于 9 月 10 日进入 beta;内部循环与上下文选择实现未开放供本轮审计自管执行适合贴近内部构建环境的需求,但前提是接受云端推理及相关数据流
DeepSeek Harnessprofile/bundle/SDK 与可检查的插件源码;当前 0.1.6-alpha.2,PTC 使用受平台 sandbox 约束的子进程适合研究配置和运行组件变体;先验证部分失败、Host 插件授权与会话迁移
OpenHands历史 0.62.0 Runtime;当前 Canvas 1.20.0、SDK 1.49.2、Agent Server 与执行环境分层,关键源码可定位适合需要控制执行与会话实现的团队;验证事件补取、容器身份和资源回收

托管差异见 Managed Agents 架构、Agents API 概览、Cursor 自管机器。开源边界见 dsh 固定架构 与 OpenHands 固定会话工厂。这些一手来源可支持功能和契约描述,不能因 URL 多就计作独立效能验证。

2. 成品、可嵌入运行时、框架与托管服务 ​

五个主案例不覆盖全部采购对象。下面补入 Deep Agents 和 Microsoft Harness,目的是说明可组合框架仍有独立位置,不把本篇扩成品牌榜单。分类允许重叠:

层次示例应比较的交付责任
成品工具与工作入口Claude Code、Cursor、OpenHands Canvas交互、工作组织、权限管理与产物交接
可嵌入 Agent 运行时Claude Agent SDK、Codex SDK/App Server、dsh、OpenHands SDK循环、会话、工具及进程生命周期由谁运营
组合框架Deep Agents、Microsoft Agent Framework Harness应用如何组合上下文、持久化、审批、委派和有界循环
托管 HarnessClaude Managed Agents、OpenAI Agents API、Cursor 云端循环服务商管理哪些运行状态,应用保留哪些执行与数据责任

Deep Agents 在 9 月 8 日的说明中提供 isolated 和 fork 两种子代理上下文模式:前者从任务说明开始,后者继承父状态,把尾部委派调用整理为子代理输入。继续已有调查的执行者可能减少重复读取;独立审阅者则可能更适合隔离上下文,以免继承父代理判断。两种模式都不是天然的费用或质量保证。Deep Agents 上下文模式

Microsoft Harness 复用 Agent Framework 的 chat client、会话、上下文提供者与中间件,组合每次模型调用后的历史持久化、todo、模式、审批、观测,以及可选的有界循环。它不是替所有应用规定一套最复杂配置。文档的 2026 年 9 月 15 日是更新时间,本轮没有据此证明功能首发日期。Microsoft Harness

3. 托管与自管,要按责任拆开 ​

这里把“产生决策并管理会话的组件”称为 Agent Runtime,把“实际执行命令、文件与工具操作的环境”称为 Execution Runtime。同一系统可以拆开运营二者;“runtime”一词本身不构成安全边界。

具体部署路线循环与会话工具执行与凭证必须另查的数据边界
Claude Managed Agents厂商披露将 Harness 与持久日志分离通过执行环境/工具接口访问;工程文描述沙箱外凭证库及代理按所选环境核对事件、工具输出与存储规则,不能套用 Code 本机假设
OpenAI Agents APIOpenAI 管理编排、压缩与恢复可用托管或自管 sandbox,应用接入工具当前仅美国数据驻留、不支持 ZDR;自管 sandbox 不改变此限制
Cursor 云端 Agent + 自管 worker循环、推理与规划仍在 Cursor 云端企业机器执行工具,经出站 HTTPS 回传结果代码可能随输出回传,转录可能云端处理及存储
自行部署 Codex/dsh/OpenHands 等所部署组件由组织运营,持久化依版本配置组织选择执行环境与凭证控制若仍调用外部模型或工具服务,相关数据仍可能出网

上表前三行依据上一节所引官方资料;第四行是部署责任的作者归纳,不能替代每个版本的协议检查。业务验收由采用组织依据具体合同指定,可以采购实现或采用人工审阅;它不会仅因执行环境托管就自动消失。

功能层、管理平面与信任域也应分开:插件管理、实验和发布可以同属演化功能,但候选插件不应因此获得评价数据或发布凭证。高风险场景要用身份与读写权限建立隔离;低风险场景可以在较简单的部署内实现受限职责。第十六章的插件图和第十七章的执行容器分别是不同控制点,不能把它们都映射为一个万能 runtime 开关。

4. 六个评价坐标,需要六类证据 ​

以下是待执行的比较协议,不是本书已测出的结果。所有产品在这些坐标上的本书分数均为“未测量”。

坐标同条件试验应收集什么
任务匹配度全部分配任务的完成、失败、超时与取消;按任务族和风险切片
控制力身份、网络、审批、撤销和取消的故障测试记录
证据性原始动作、结果、产物与权限决定能否完整关联
耐久性中断后状态恢复、迟到事件处理和不确定副作用对账
可替换性导出未完成工作与产物后,替代接入面能否承接必要语义
运营经济性模型、计算、存储、人工复核、重试、维护与迁移费用

应固定任务合同、工作区快照、权限和预算,采用多次试运行并披露选择与停止规则(见第十二章)。若产品无法使用同一模型,就比较“模型+Harness+环境”的系统组合,不把差异归因给 Harness 单一组件。Cursor Keep Rate、84% 权限提示下降、46.9% token 下降衡量不同对象,均不能填进这张表作为统一分数。

下面是本书自定义的比较工作表,由自建评测器解释,不是厂商配置,不能直接交给任何 CLI/SDK;任务集名、版本、次数与预算都是教学占位值:

yaml
comparison:
  task_suite: repo-maintenance-v3
  workspace_snapshot: fixed
  trials_per_case: 5
  budgets: {wall_minutes: 30, model_usd: 8}
  permissions: code-medium-v4
  verifier: clean-room-v6
  report_slices: [task_type, repo_size, risk, runtime, model]

5. 共同契约应保留产品差异 ​

平台可以统一 Task、Action、Observation、Artifact、Approval 与验证结果,但应保留原始供应商 payload、版本和身份映射。业务 task、供应商 session/thread、一次 turn 及平台 attempt 的生命周期不同;收到“本轮结束”不能自动标记业务验收通过。这一共同原则由本节集中定义,各案例不再用同一段话代替具体机制。

验收的独立程度由任务风险决定:交付建议可人工审阅,提交代码可用封存产物上的固定检查,外部写入还须授权与结果回读。验证器移到另一进程也不自动独立;它所用数据、身份与可写范围仍需明确(见第十章)。

适配器不能为追求统一丢掉原生语义:Codex 要区分 item 类型及增量,dsh 要区分瞬态流与已落盘 attempt,OpenHands 要区分持久 Event 与 socket envelope。缺少关键能力时应显示“不支持”,降低自动提交范围或更换接入面,不能伪造通用成功事件。

6. 有条件的采用与退出 ​

在现成产品覆盖关键边界、接入和退出成本可控时,采购已有组件是值得先测的路线;若离线、特殊执行环境或数据流约束没有可采购方案,也应比较受限自研、确定性工作流与人工处理。任务量大小不是唯一条件,多 Runtime 也不是成熟的必要条件。

作者建议在同一统计窗口计算:

text
总成本 = 建设与迁移固定成本
       + 任务量 ×(模型、计算、存储及人工复核的单位成本)
       + 维护、失败重试、风险损失与双运行过渡成本

单位成本若已包含重试,就不应在后项重复计入。改变任务量、人工介入率和供应商价格做敏感性分析,再预先约定质量下界、费用上限、不可接受的数据流与退出触发条件。本轮没有这组测量,故不宣布某产品最便宜,也不替所有组织指定“买或建”的结论。第二十六至二十九章将沿这些责任与条件展开参考设计。

公开阅读版本