---
title: "OpenAI Agents API：迁移、成本与数据控制"
canonical: https://wavect.io/zh/blog/openai-agents-api-managed-harness-review/
language: zh
description: "对比 OpenAI Agents API 与 Agents SDK，核对发布数据、托管 Codex Harness 成本、欧盟数据要求，以及保留权限和验收测试的迁移路径。"
image: "https://wavect.io/img/blog/headers/header_openai-agents-api-managed-harness-review.png"
---

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

10 分钟 阅读 · 2026年9月13日 最近审核 2026年9月13日

[**下一篇**](/zh/blog/agent-harness-engineering/)

# OpenAI Agents API 评测：迁移、成本与数据控制

要点速览

OpenAI Agents API 提供托管 Codex Harness，不会替代业务权限或验收测试。Ciridae、SafetyKit 与 Hypha 报告的是不同工作流的改善，而非通用基准。应对比托管 API、由应用部署的 Agents SDK 和自建 Responses API 循环，并按合格任务核算模型、工具、计算和审核成本。上线前须核实具体端点的数据驻留、保留与环境控制。本次未能获取新端点概述，因此不会把美国限定或 Zero Data Retention 限制作为已验证事实。建议以合成数据、可逆流程、明确验收和先核对再重试的备用路径起步。

**OpenAI Agents API 把 Codex 的智能体执行循环变成托管服务，但不会替你承担产品权限、验收测试和数据义务。**采购时真正要问的是：哪些基础设施可以不再自建，同时保留客户需要的控制？

OpenAI 于 2026 年 9 月 10 日宣布公开测试。其 [Agents API 发布说明](https://openai.com/index/introducing-the-agents-api/) 介绍了自动上下文压缩、工具搜索、程序化工具调用和并行子智能体，并允许选择不同执行环境。本文评估这个具体产品的迁移决策；通用架构由我们的 [AI 智能体 Harness 指南](/zh/blog/agent-harness-engineering/) 解释。

## 发布数据到底证明了什么？

这些数字来自 OpenAI 公告中的不同客户。它们值得作为试验动机，但不是同一套基准，也不是对你业务负载的保证。

| 客户 | 客户报告的结果 | 不能据此推断 |
| --- | --- | --- |
| Ciridae | 评测得分从 0.71 到 0.85；延迟改善四倍 | 通用准确率，或所有任务都快四倍 |
| SafetyKit | 保持原有表现，每个案例的成本降低 60% | 全部智能体基础设施费用打四折 |
| Hypha | 失败的智能体回复减少 86% | 改善 86 个百分点，或已知绝对失败率 |

这些客户评价没有提供统一任务集、样本量和独立复现。Ciridae 的变化是绝对增加 0.14 分；没有评分标准，就不能把它包装成面向所有客户的准确率。更有价值的下一步，是让新旧方案处理同一批你能够独立验收的任务。

## Agents API、Agents SDK 与 Responses API 有什么不同？

名称相似，运维责任不同。OpenAI 的 [SDK 对比说明](https://developers.openai.com/api/docs/guides/agents) 区分了由 SDK 运行循环和应用自行编写编排逻辑。托管 Agents API 又增加了一种部署选择。

| 方案 | 谁运行循环？ | 适用理由 |
| --- | --- | --- |
| Responses API | 应用围绕模型请求实现编排 | 范围较窄，需要自定义分支和直接控制 |
| Agents SDK | SDK 在你的应用部署中运行循环 | 希望在代码层控制状态、工具、审批和基础设施 |
| 托管 Agents API | OpenAI 运行 Codex Harness，你选择执行环境 | 减少长时间运行智能体所需的通用基础设施维护 |

对于自定义函数， [Responses 的工具调用流程](https://developers.openai.com/api/docs/guides/function-calling) 仍然把执行交给应用：接收拟调用操作，运行代码，再返回结果。更换 API 客户端不会自动迁移函数、身份认证和审批流程。先列清楚现有 Harness 的职责，再决定删掉什么。

这也不同于 [Ramp Inspect 每个会话一个沙箱的架构](/zh/blog/ramp-inspect-background-coding-agent-infrastructure-2026/) 。沙箱提供执行地点；托管 Harness 还提供编排。购买其中一个，不代表另一个也已经被替代。

## 比演示更重要的三个部署检查

**把 Harness 的运行地点、工具执行地点和状态保存地点分开看。**沙箱位于你的网络内，并不意味着 OpenAI 的托管 Harness 也迁入该网络。工具参数和结果仍可能跨越边界。OpenAI 的 [数据控制文档](https://developers.openai.com/api/docs/guides/your-data) 区分应用状态、滥用监控数据保留以及各端点的适用资格。某个端点获批，不等于另一个端点也获批。

| 检查项 | 需要取得的证据 | 暂停上线的理由 |
| --- | --- | --- |
| 数据驻留与处理 | 具体端点、模型、会话状态、工具和执行环境的区域支持 | 项目要求全程在欧盟处理，但无法确认数据路径 |
| 保留与删除 | Agents API 对你的保留协议是否适用，以及会话、文件、追踪和备份的生命周期 | 必须采用 Zero Data Retention，却无法证明该功能具备资格 |
| 隔离与清理 | 凭据、挂载、网络、子智能体共享资源、取消和沙箱释放机制 | 无法证明租户隔离，或无法停止并核对中断任务 |

**本次审阅的证据限制，2026 年 9 月 13 日：**发布公告和通用数据指南可以访问，但公告新链接的 Agents API 概述未能在本次审阅中获取。因此，本文不会把“仅限美国”“不支持 Zero Data Retention”或某个具体会话保留期限当作已经核实的端点事实。迁移敏感数据前，应重新检查最新概述，并取得针对实际部署的书面确认。

这不等于所有欧洲业务或受监管业务都被禁止使用。它意味着，必要控制未被证实时，不应先批准生产上线。使用合成数据的试点可以解决工程问题，而不用提前替采购审查下结论。我们的 [欧盟 AI 数据驻留指南](/zh/blog/eu-data-residency-ai-apps-2026/) 涵盖更广泛的架构选择。

## 没有平台附加费，不等于每个合格任务成本为零

公告表示，Agents API 不收取额外使用费。仍需根据 [当前定价文档](https://developers.openai.com/api/docs/pricing) ，分别核算模型、工具和执行资源。不能把另一家沙箱厂商的价格，或聊天产品订阅中的额度，直接当成 API 预算。

```
每个已验收任务的成本 =
  (模型 + 工具 + 计算 + 重试 + 审核 + 运维)
  / 独立验收通过的任务数
```

以下是示意计算，不是 OpenAI 报价：100 次尝试花费 30 欧元机器成本和 70 欧元审核成本，80 项通过验收，则每项为 1.25 欧元。如果机器成本降到 12 欧元，但审核升到 100 欧元，只有 70 项通过，则每项变为 1.60 欧元。单次调用变便宜，整体流程仍可能变贵。

子智能体尤其需要这样衡量。试点先限制并发，统计完整任务的总用量，并区分墙钟时间与计算消耗。并行可以缩短等待，也可能增加购买的工作量。上下文压缩同样需要质量测试：缩短之后，仍要保留满足验收条件所必需的信息。

## 不连接生产系统的最小示例

下面的 JavaScript 沿用发布公告中的会话创建结构。输入完全虚构，不接入业务连接器，并要求显式开启付费执行。它只是起点，不是完整服务。本文的安装脚本不会运行此示例，也不会在你的业务系统内安装智能体。

```
import OpenAI from "openai";

// Opt in explicitly: this example can incur API and compute charges.
if (process.env.RUN_PAID_AGENTS_DEMO !== "yes") {
  throw new Error("Set RUN_PAID_AGENTS_DEMO=yes to enable this demo.");
}
if (!process.env.OPENAI_API_KEY) {
  throw new Error("OPENAI_API_KEY is required on the server.");
}

const client = new OpenAI({ maxRetries: 0 });
if (!client.beta?.agents?.sessions?.create) {
  throw new Error("Install an OpenAI SDK version supporting Agents API beta.");
}

try {
  const session = await client.beta.agents.sessions.create({
    agent: {
      model: process.env.OPENAI_AGENT_MODEL || "gpt-6-astra",
      multi_agent: { enabled: true, max_concurrent_subagents: 2 },
    },
    environment: { type: "openai_hosted" },
    input:
      "Use only these fictional facts: Service A had 4 errors in 100 requests; " +
      "Service B had 9 errors in 300 requests. Compare the error rates, " +
      "have a second agent check the arithmetic, and save a short report " +
      "under /workspace/outputs. Do not contact external services.",
  });
  console.log(JSON.stringify({ session_id: session.id }));
} catch (error) {
  // Do not dump prompts, credentials or the complete server response.
  console.error("Session creation failed. Reconcile its status before retrying.");
  process.exitCode = 1;
}
```

选择提供 beta 资源的 SDK 版本，验证后固定版本。仅在服务器端、使用获批项目和模型运行。打印会话 ID 不代表报告已完成。还需单独实现文档所规定的会话观察、取消、产物获取与清理。示例关闭创建请求的自动重试，防止网络结果不确定时盲目启动重复任务。“不联系外部服务”的自然语言指令，也不能替代强制执行的出站网络策略。

## 保留业务控制的迁移路径

先建立清晰的适配边界：输入一个任务，输出会话引用，最终返回产物。业务任务 ID、授权决定、工具权限、审批记录与验收结论应保存在模型指令之外。OpenAI 的 [MCP 安全指南](https://developers.openai.com/api/docs/guides/tools-connectors-mcp) 强调外部服务器信任、提示注入和敏感操作审批。托管循环没有取消这些问题。应采用实际 API 支持的审批契约，而不是复制另一端点的字段。

| 阶段 | 变更 | 验收证据 |
| --- | --- | --- |
| 建立基线 | 固定代表性任务与现有实现 | 通过结果、审核时间、延迟分布和完整成本 |
| 影子运行 | 新路径使用合成数据或已批准的只读数据 | 没有意外写入，产物可比较且带来源 |
| 小范围上线 | 启用一个可逆且权限有限的流程 | 租户隔离、重试核对和人工审批测试通过 |
| 扩大范围 | 重复验收后再增加流量 | 质量和成本稳定，并验证返回旧路径的能力 |

分开做两个实验。保持模型和工具不变，更有助于隔离编排差异。比较新旧两套最佳可行系统，可以回答商业问题，但不能把全部改善归因于 Harness。OpenAI 的 [评测最佳实践](https://developers.openai.com/api/docs/guides/evaluation-best-practices) 建议任务专用测试和持续评估。加入你的实际失败案例，不要只看一段有说服力的演示。

我们建议的验收集包括：写入可能已经成功后的工具超时、重复输入、过期凭据、相互矛盾的子智能体输出、检索文档内隐藏的指令、客户端连接中断，以及必须跨压缩保留的事实。启用备用路径前，要先核对原任务的真实状态。否则所谓恢复可能再次执行已经成功的操作。

## 七种值得考虑的有限权限试点

以下是建议，不是在宣称 Wavect 或 OpenAI 已经逐一完成生产验证。每个试点都有可审核产物，也都可以从不授予自主业务写入权限开始。

| 试点 | 产物 | 初始边界 |
| --- | --- | --- |
| 汇总事故证据 | 带日志来源的时间线 | 只读脱敏遥测，不修改部署 |
| 评估仓库变更 | 影响报告与测试建议 | 获批代码快照，不提供合并凭据 |
| 调查客服工单 | 带来源的答复草稿 | 限定记录，由人发送答复 |
| 核对文档 | 差异与未解决的矛盾 | 获批文档，不更新权威记录 |
| 审查供应商证据 | 缺失证据清单 | 不签发合规认证，不作采购决定 |
| 检查发布准备情况 | 以测试结果为依据的清单 | 没有发布或部署权限 |
| 研究公开资料 | 来源可追溯的简报 | 不含机密提示，不自动对外发布 |

## 什么时候迁移，什么时候保留自己的 Harness？

当长期编排维护占用大量工程时间，并且数据、工具和商业要求能够满足时，值得评估托管 API。如果现有路径简单可靠、关键行为不受支持，或所需部署控制仍未确认，就保留原方案。一次吸引人的发布，不足以证明重写稳定事务流程有价值。

OpenAI 的 [生产实践指南](https://developers.openai.com/api/docs/guides/production-best-practices) 涵盖运行容量、费用管理和安全。针对本次迁移，应为版本变更、回归评测、用量核对和事故处理指定负责人。保留配置清单，以及导出任务状态和已验收产物的退出路径。厂商专属会话 ID 不应成为唯一业务记录。

Wavect 的 [AI 咨询与实施服务](/zh/services/artificial-intelligence/) 可以协助限定数据路径、工具契约和验收测试。 [Twinsoft AI 案例](/zh/case-studies/twinsoft-ai/) 提供相关交付背景，并非 Agents API 基准。可通过 [定制软件与现成方案对比](/zh/software-development-guide/custom-software-vs-off-the-shelf/) 评估所有权取舍，或带上工作流、现有成本与必要控制， [讨论一次范围明确的 Agents API 迁移评审](/zh/contact/) 。

## 常见问题

### Agents API 会替代 Agents SDK 吗？

两者分配责任的方式不同。托管 API 替你运行 Harness，SDK 则在你的应用部署中运行循环。应按控制需求、数据要求和维护成本选择。

### 4 倍、60% 和 86% 属于同一个基准吗？

不是。Ciridae 报告评分与延迟，SafetyKit 报告每个案例的成本，Hypha 报告失败回复减少。它们是不同客户的评价，不保证你的结果。

### OpenAI Agents API 免费吗？

公告说明不收取额外 Agents API 费用。模型、工具和执行仍可能收费，审核、恢复和运维也应计入预算。

### 自托管沙箱是否让全部数据留在本地？

不一定。工具可以在你的基础设施执行，而 Harness 仍由 OpenAI 托管。需分别检查提示、输出、会话状态、日志和工具流量。

### 是否适用于所有欧盟或受监管业务？

公告不能证明普遍许可或普遍禁止。本次未能独立核实新端点的资格页面。敏感生产数据上线前，应确认驻留、保留和合同控制。

### 怎样开始第一次迁移？

使用合成或获批的只读数据，选择一个可逆任务，独立验收并限制并发。在允许重要写入之前，测试中断和状态核对。

智能体工程

## 继续浏览此集群

编程智能体、MCP、上下文系统、评估与可靠自动化控制。

[从核心文章开始**AI 智能体的图工程：知识图谱什么时候值得做？**](/zh/blog/graph-engineering-ai-agents/)

- [Valyu 的 0.6B 多智能体路由器：研究结果、指标边界与落地判断](/zh/blog/valyu-slm-multi-agent-router/)
- [Spotify shunt 评测：安装、Token 节省与限制](/zh/blog/spotify-shunt-claude-code-token-routing/)
- [OpenBot 评测：自托管 AI 同事的成本与权限](/zh/blog/openbot-self-hosted-ai-coworkers-review/)
- [Ramp Inspect 架构 2026：如何扩展后台编码 Agent](/zh/blog/ramp-inspect-background-coding-agent-infrastructure-2026/)
- [Model Hardware Standard 企业指南：MHS 与实体 AI](/zh/blog/model-hardware-standard-enterprise-guide/)

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

10 分钟 阅读 · 2026年9月13日 最近审核 2026年9月13日

[**下一篇**](/zh/blog/agent-harness-engineering/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/zh/blog/openai-agents-api-managed-harness-review/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-09-13",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-09-13",
      "url": "https://wavect.io/zh/blog/openai-agents-api-managed-harness-review/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "OpenAI Agents API 提供托管 Codex Harness，不会替代业务权限或验收测试。Ciridae、SafetyKit 与 Hypha 报告的是不同工作流的改善，而非通用基准。应对比托管 API、由应用部署的 Agents SDK 和自建 Responses API 循环，并按合格任务核算模型、工具、计算和审核成本。上线前须核实具体端点的数据驻留、保留与环境控制。本次未能获取新端点概述，因此不会把美国限定或 Zero Data Retention 限制作为已验证事实。建议以合成数据、可逆流程、明确验收和先核对再重试的备用路径起步。",
  "articleBody": " 博客概览/AI 与智能体/智能体工程 OpenAI Agents API 评测：迁移、成本与数据控制 要点速览 OpenAI Agents API 提供托管 Codex Harness，不会替代业务权限或验收测试。Ciridae、SafetyKit 与 Hypha 报告的是不同工作流的改善，而非通用基准。应对比托管 API、由应用部署的 Agents SDK 和自建 Responses API 循环，并按合格任务核算模型、工具、计算和审核成本。上线前须核实具体端点的数据驻留、保留与环境控制。本次未能获取新端点概述，因此不会把美国限定或 Zero Data Retention 限制作为已验证事实。建议以合成数据、可逆流程、明确验收和先核对再重试的备用路径起步。 OpenAI Agents API 把 Codex 的智能体执行循环变成托管服务，但不会替你承担产品权限、验收测试和数据义务。采购时真正要问的是：哪些基础设施可以不再自建，同时保留客户需要的控制？ OpenAI 于 2026 年 9 月 10 日宣布公开测试。其 Agents API 发布说明介绍了自动上下文压缩、工具搜索、程序化工具调用和并行子智能体，并允许选择不同执行环境。本文评估这个具体产品的迁移决策；通用架构由我们的 AI 智能体 Harness 指南解释。 发布数据到底证明了什么？ 这些数字来自 OpenAI 公告中的不同客户。它们值得作为试验动机，但不是同一套基准，也不是对你业务负载的保证。 客户客户报告的结果不能据此推断 Ciridae评测得分从 0.71 到 0.85；延迟改善四倍通用准确率，或所有任务都快四倍 SafetyKit保持原有表现，每个案例的成本降低 60%全部智能体基础设施费用打四折 Hypha失败的智能体回复减少 86%改善 86 个百分点，或已知绝对失败率 这些客户评价没有提供统一任务集、样本量和独立复现。Ciridae 的变化是绝对增加 0.14 分；没有评分标准，就不能把它包装成面向所有客户的准确率。更有价值的下一步，是让新旧方案处理同一批你能够独立验收的任务。 Agents API、Agents SDK 与 Responses API 有什么不同？ 名称相似，运维责任不同。OpenAI 的 SDK 对比说明区分了由 SDK 运行循环和应用自行编写编排逻辑。托管 Agents API 又增加了一种部署选择。 方案谁运行循环？适用理由 Responses API应用围绕模型请求实现编排范围较窄，需要自定义分支和直接控制 Agents SDKSDK 在你的应用部署中运行循环希望在代码层控制状态、工具、审批和基础设施 托管 Agents APIOpenAI 运行 Codex Harness，你选择执行环境减少长时间运行智能体所需的通用基础设施维护 对于自定义函数，Responses 的工具调用流程仍然把执行交给应用：接收拟调用操作，运行代码，再返回结果。更换 API 客户端不会自动迁移函数、身份认证和审批流程。先列清楚现有 Harness 的职责，再决定删掉什么。 这也不同于 Ramp Inspect 每个会话一个沙箱的架构。沙箱提供执行地点；托管 Harness 还提供编排。购买其中一个，不代表另一个也已经被替代。 比演示更重要的三个部署检查 把 Harness 的运行地点、工具执行地点和状态保存地点分开看。沙箱位于你的网络内，并不意味着 OpenAI 的托管 Harness 也迁入该网络。工具参数和结果仍可能跨越边界。OpenAI 的 数据控制文档区分应用状态、滥用监控数据保留以及各端点的适用资格。某个端点获批，不等于另一个端点也获批。 检查项需要取得的证据暂停上线的理由 数据驻留与处理具体端点、模型、会话状态、工具和执行环境的区域支持项目要求全程在欧盟处理，但无法确认数据路径 保留与删除Agents API 对你的保留协议是否适用，以及会话、文件、追踪和备份的生命周期必须采用 Zero Data Retention，却无法证明该功能具备资格 隔离与清理凭据、挂载、网络、子智能体共享资源、取消和沙箱释放机制无法证明租户隔离，或无法停止并核对中断任务 本次审阅的证据限制，2026 年 9 月 13 日：发布公告和通用数据指南可以访问，但公告新链接的 Agents API 概述未能在本次审阅中获取。因此，本文不会把“仅限美国”“不支持 Zero Data Retention”或某个具体会话保留期限当作已经核实的端点事实。迁移敏感数据前，应重新检查最新概述，并取得针对实际部署的书面确认。 这不等于所有欧洲业务或受监管业务都被禁止使用。它意味着，必要控制未被证实时，不应先批准生产上线。使用合成数据的试点可以解决工程问题，而不用提前替采购审查下结论。我们的 欧盟 AI 数据驻留指南涵盖更广泛的架构选择。 没有平台附加费，不等于每个合格任务成本为零 公告表示，Agents API 不收取额外使用费。仍需根据 当前定价文档，分别核算模型、工具和执行资源。不能把另一家沙箱厂商的价格，或聊天产品订阅中的额度，直接当成 API 预算。 每个已验收任务的成本 = (模型 + 工具 + 计算 + 重试 + 审核 + 运维) / 独立验收通过的任务数 以下是示意计算，不是 OpenAI 报价：100 次尝试花费 30 欧元机器成本和 70 欧元审核成本，80 项通过验收，则每项为 1.25 欧元。如果机器成本降到 12 欧元，但审核升到 100 欧元，只有 70 项通过，则每项变为 1.60 欧元。单次调用变便宜，整体流程仍可能变贵。 子智能体尤其需要这样衡量。试点先限制并发，统计完整任务的总用量，并区分墙钟时间与计算消耗。并行可以缩短等待，也可能增加购买的工作量。上下文压缩同样需要质量测试：缩短之后，仍要保留满足验收条件所必需的信息。 不连接生产系统的最小示例 下面的 JavaScript 沿用发布公告中的会话创建结构。输入完全虚构，不接入业务连接器，并要求显式开启付费执行。它只是起点，不是完整服务。本文的安装脚本不会运行此示例，也不会在你的业务系统内安装智能体。 import OpenAI from \"openai\"; // Opt in explicitly: this example can incur API and compute charges. if (process.env.RUN_PAID_AGENTS_DEMO !== \"yes\") { throw new Error(\"Set RUN_PAID_AGENTS_DEMO=yes to enable this demo.\"); } if (!process.env.OPENAI_API_KEY) { throw new Error(\"OPENAI_API_KEY is required on the server.\"); } const client = new OpenAI({ maxRetries: 0 }); if (!client.beta?.agents?.sessions?.create) { throw new Error(\"Install an OpenAI SDK version supporting Agents API beta.\"); } try { const session = await client.beta.agents.sessions.create({ agent: { model: process.env.OPENAI_AGENT_MODEL || \"gpt-6-astra\", multi_agent: { enabled: true, max_concurrent_subagents: 2 }, }, environment: { type: \"openai_hosted\" }, input: \"Use only these fictional facts: Service A had 4 errors in 100 requests; \" + \"Service B had 9 errors in 300 requests. Compare the error rates, \" + \"have a second agent check the arithmetic, and save a short report \" + \"under /workspace/outputs. Do not contact external services.\", }); console.log(JSON.stringify({ session_id: session.id })); } catch (error) { // Do not dump prompts, credentials or the complete server response. console.error(\"Session creation failed. Reconcile its status before retrying.\"); process.exitCode = 1; } 选择提供 beta 资源的 SDK 版本，验证后固定版本。仅在服务器端、使用获批项目和模型运行。打印会话 ID 不代表报告已完成。还需单独实现文档所规定的会话观察、取消、产物获取与清理。示例关闭创建请求的自动重试，防止网络结果不确定时盲目启动重复任务。“不联系外部服务”的自然语言指令，也不能替代强制执行的出站网络策略。 保留业务控制的迁移路径 先建立清晰的适配边界：输入一个任务，输出会话引用，最终返回产物。业务任务 ID、授权决定、工具权限、审批记录与验收结论应保存在模型指令之外。OpenAI 的 MCP 安全指南强调外部服务器信任、提示注入和敏感操作审批。托管循环没有取消这些问题。应采用实际 API 支持的审批契约，而不是复制另一端点的字段。 阶段变更验收证据 建立基线固定代表性任务与现有实现通过结果、审核时间、延迟分布和完整成本 影子运行新路径使用合成数据或已批准的只读数据没有意外写入，产物可比较且带来源 小范围上线启用一个可逆且权限有限的流程租户隔离、重试核对和人工审批测试通过 扩大范围重复验收后再增加流量质量和成本稳定，并验证返回旧路径的能力 分开做两个实验。保持模型和工具不变，更有助于隔离编排差异。比较新旧两套最佳可行系统，可以回答商业问题，但不能把全部改善归因于 Harness。OpenAI 的 评测最佳实践建议任务专用测试和持续评估。加入你的实际失败案例，不要只看一段有说服力的演示。 我们建议的验收集包括：写入可能已经成功后的工具超时、重复输入、过期凭据、相互矛盾的子智能体输出、检索文档内隐藏的指令、客户端连接中断，以及必须跨压缩保留的事实。启用备用路径前，要先核对原任务的真实状态。否则所谓恢复可能再次执行已经成功的操作。 七种值得考虑的有限权限试点 以下是建议，不是在宣称 Wavect 或 OpenAI 已经逐一完成生产验证。每个试点都有可审核产物，也都可以从不授予自主业务写入权限开始。 试点产物初始边界 汇总事故证据带日志来源的时间线只读脱敏遥测，不修改部署 评估仓库变更影响报告与测试建议获批代码快照，不提供合并凭据 调查客服工单带来源的答复草稿限定记录，由人发送答复 核对文档差异与未解决的矛盾获批文档，不更新权威记录 审查供应商证据缺失证据清单不签发合规认证，不作采购决定 检查发布准备情况以测试结果为依据的清单没有发布或部署权限 研究公开资料来源可追溯的简报不含机密提示，不自动对外发布 什么时候迁移，什么时候保留自己的 Harness？ 当长期编排维护占用大量工程时间，并且数据、工具和商业要求能够满足时，值得评估托管 API。如果现有路径简单可靠、关键行为不受支持，或所需部署控制仍未确认，就保留原方案。一次吸引人的发布，不足以证明重写稳定事务流程有价值。 OpenAI 的 生",
  "articleSection": "工程",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "citation": [
    {
      "@type": "WebPage",
      "name": "Agents API 发布说明",
      "url": "https://openai.com/index/introducing-the-agents-api/"
    },
    {
      "@type": "WebPage",
      "name": "SDK 对比说明",
      "url": "https://developers.openai.com/api/docs/guides/agents"
    },
    {
      "@type": "WebPage",
      "name": "Responses 的工具调用流程",
      "url": "https://developers.openai.com/api/docs/guides/function-calling"
    },
    {
      "@type": "WebPage",
      "name": "数据控制文档",
      "url": "https://developers.openai.com/api/docs/guides/your-data"
    },
    {
      "@type": "WebPage",
      "name": "当前定价文档",
      "url": "https://developers.openai.com/api/docs/pricing"
    },
    {
      "@type": "WebPage",
      "name": "MCP 安全指南",
      "url": "https://developers.openai.com/api/docs/guides/tools-connectors-mcp"
    },
    {
      "@type": "WebPage",
      "name": "评测最佳实践",
      "url": "https://developers.openai.com/api/docs/guides/evaluation-best-practices"
    },
    {
      "@type": "WebPage",
      "name": "生产实践指南",
      "url": "https://developers.openai.com/api/docs/guides/production-best-practices"
    }
  ],
  "dateModified": "2026-09-13",
  "datePublished": "2026-09-13",
  "description": "OpenAI Agents API 提供托管 Codex Harness，不会替代业务权限或验收测试。Ciridae、SafetyKit 与 Hypha 报告的是不同工作流的改善，而非通用基准。应对比托管 API、由应用部署的 Agents SDK 和自建 Responses API 循环，并按合格任务核算模型、工具、计算和审核成本。上线前须核实具体端点的数据驻留、保留与环境控制。本次未能获取新端点概述，因此不会把美国限定或 Zero Data Retention 限制作为已验证事实。建议以合成数据、可逆流程、明确验收和先核对再重试的备用路径起步。",
  "headline": "OpenAI Agents API 评测：迁移、成本与数据控制",
  "image": "https://wavect.io/img/blog/headers/header_openai-agents-api-managed-harness-review.png",
  "inLanguage": "zh",
  "keywords": "AI 智能体, OpenAI Agents API",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/zh/blog/openai-agents-api-managed-harness-review/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/zh/blog/openai-agents-api-managed-harness-review/",
  "wordCount": 535
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/",
      "name": "首页",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/overview/",
      "name": "博客概览",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/topics/ai-agents/",
      "name": "AI 与智能体",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/clusters/agent-engineering/",
      "name": "智能体工程",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/openai-agents-api-managed-harness-review/",
      "name": "OpenAI Agents API：迁移、成本与数据控制",
      "position": 5
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "两者分配责任的方式不同。托管 API 替你运行 Harness，SDK 则在你的应用部署中运行循环。应按控制需求、数据要求和维护成本选择。"
      },
      "name": "Agents API 会替代 Agents SDK 吗？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "不是。Ciridae 报告评分与延迟，SafetyKit 报告每个案例的成本，Hypha 报告失败回复减少。它们是不同客户的评价，不保证你的结果。"
      },
      "name": "4 倍、60% 和 86% 属于同一个基准吗？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "公告说明不收取额外 Agents API 费用。模型、工具和执行仍可能收费，审核、恢复和运维也应计入预算。"
      },
      "name": "OpenAI Agents API 免费吗？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "不一定。工具可以在你的基础设施执行，而 Harness 仍由 OpenAI 托管。需分别检查提示、输出、会话状态、日志和工具流量。"
      },
      "name": "自托管沙箱是否让全部数据留在本地？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "公告不能证明普遍许可或普遍禁止。本次未能独立核实新端点的资格页面。敏感生产数据上线前，应确认驻留、保留和合同控制。"
      },
      "name": "是否适用于所有欧盟或受监管业务？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "使用合成或获批的只读数据，选择一个可逆任务，独立验收并限制并发。在允许重要写入之前，测试中断和状态核对。"
      },
      "name": "怎样开始第一次迁移？"
    }
  ]
}
```
