首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >OpenAI Agents SDK

OpenAI Agents SDK

修改于 2026-08-20 16:29:19
53
概述

OpenAI Agents SDK 是 OpenAI 官方推出的开源智能体开发框架,采用 MIT 许可协议,是其早期实验项目 Swarm 的生产级升级版本。该框架围绕 Agent智能体)、Handoff(任务转移)、Guardrail(安全防护)三个核心原语构建,辅以 Sessions(会话管理)和 Tracing(追踪)能力,支持 PythonTypeScript 两种语言。它默认使用 OpenAI 的 Responses API,同时可通过 LiteLLM 适配 100 多种第三方大模型,具备提供商无关的特性。2026 年 4 月的重大更新引入了原生沙箱执行、文件系统工具和可恢复的会话快照,使其从多智能体编排框架演进为完整的智能体运行时基础设施。

一、OpenAI Agents SDK 的核心设计原则是什么?

1. 精简原语优先

框架遵循两项核心设计原则:一是提供足够丰富、值得使用的功能,二是保持原语精简以便快速上手。整个 SDK 仅保留极少量的基础抽象,开发者无需学习复杂的专有概念,即可用原生 Python 或 TypeScript 语法编排智能体。

2. 开箱即用与可定制并重

SDK 默认配置即可投入生产使用,同时允许开发者精确自定义模型、工具、指令和执行环境。这种设计使框架既能快速搭建原型,也能逐步演进为复杂的生产级系统。

3. 生产级可靠性导向

作为 Swarm 的生产级替代方案,SDK 在设计上强调可靠性、可观测性和安全性,内置追踪、会话持久化、安全防护和人在回路等企业级能力,而非仅停留在实验演示层面。

二、OpenAI Agents SDK 的 Agent 组件是如何工作的?

1. 内置智能体循环

Agent 是配备指令和工具的大语言模型。SDK 内置了智能体循环(Agent Loop),会自动处理工具调用、将结果反馈给模型,并持续运行直到任务完成,开发者无需手动编写循环逻辑。

2. 工具自动转换

任意 Python 函数都可一键转换为工具,SDK 会自动生成参数 schema 并通过 Pydantic 进行输入校验,降低了工具开发的成本。

3. 运行生命周期管理

通过 Runner 组件管理一次运行的完整生命周期,支持同步执行、流式输出和断点恢复等策略,并在运行结束时返回最终输出、历史记录和可恢复状态。

三、OpenAI Agents SDK 的工具系统包含哪些类型?它们各自的特点是什么?

1. 函数工具(Function Tools)

将本地 Python 函数直接注册为工具,自动生成 schema 并由 Pydantic 完成参数校验,适合封装业务逻辑和内部系统调用。

2. MCP 服务工具

内置对模型上下文协议(MCP)的支持,可连接外部 MCP 服务器,将第三方数据源和工具以统一方式接入智能体,使用方式与函数工具一致。

3. 托管工具(Hosted Tools)

由 OpenAI 平台提供的托管能力,如网络搜索、文件搜索和计算机使用等,开发者无需自行实现即可调用。

4. 智能体即工具

一个智能体可被封装为另一个智能体的工具,实现能力的复用和层级化组合。

四、OpenAI Agents SDK 中的 Handoff(任务转移)机制是如何实现的?

1. 任务转移的基本原理

Handoff 允许一个智能体将当前任务委派给另一个更合适的专门化智能体。当某个智能体判断当前任务更适合由其他智能体处理时,可将控制权转移出去,接收方会获得完整的对话上下文并继续处理。

2. 转移的触发方式

开发者在智能体上声明 handoff 列表后,框架会将目标智能体暴露为一个特殊的转移工具。当模型决定调用该工具时,运行器会切换当前活跃智能体,并以新智能体的指令和工具重新运行循环。

3. 所有权与控制权选择

在多智能体场景中,开发者可在两种模式间灵活选择:使用 Handoff 时由专门化智能体接管最终回复的所有权;使用 agent.as_tool 时则由主智能体保持集中编排,子智能体仅作为工具被调用。

五、OpenAI Agents SDK 的多智能体协作模式有哪些?Router-Specialist 架构如何工作?

1. 协作模式类型

SDK 支持两种主要的多智能体编排模式:一是基于 Handoff 的任务转移模式,由专门化智能体直接接管回复;二是 Manager 风格的集中编排模式,由协调智能体统一调度多个子智能体。

2. Router-Specialist 架构

在 Router-Specialist 架构中,请求首先进入承担路由职责的协调智能体,由其判断任务类型并分发到对应的专门化智能体(如研究智能体、执行智能体),最后由协调层汇总结果并通过 Guardrails 完成输出校验。

3. 职责边界划分

该架构强调先分责、再协作:每个智能体都有明确的职责边界,避免将所有能力堆叠进一个超大智能体,从而提升系统的可维护性和可靠性。

六、OpenAI Agents SDK 是否仅支持 OpenAI 模型?它对其他 LLM 提供商的支持情况如何?

1. 提供商无关的设计

尽管名称中包含 OpenAI,该 SDK 实际上是提供商无关的。它默认使用 OpenAI 的 Responses API,但可通过官方 LiteLLM 扩展接入 100 多种大模型,包括 Anthropic、Google、Mistral 等,也可对接任何兼容 Chat Completions 格式的接口。

2. 功能差异与权衡

需要注意的是,Responses API、托管工具和默认追踪能力均为 OpenAI 优先设计。使用第三方提供商时通常走 Chat Completions 路径,部分提供商可能缺少结构化输出等高级特性,追踪质量也可能有所下降。

3. 本地模型支持

通过 LiteLLM 集成,SDK 还可对接 Ollama 等兼容端点运行本地模型,满足数据不出内网或成本敏感等场景的需求。

七、OpenAI Agents SDK 的沙箱执行(Sandbox Execution)功能是什么?它解决了什么问题?

1. 功能定义

沙箱执行是 2026 年 4 月更新引入的原生能力,允许智能体在受控的隔离环境中运行,拥有独立的文件系统、命令执行、依赖安装和端口访问,从而安全地读写文件、运行代码和管理工件。

2. 解决的核心问题

在无人监管的环境中让智能体运行代码、读写文件是企业级应用的刚需,也是最大的安全风险点。沙箱执行将计算层与编排层分离,使凭证和敏感信息始终停留在 Harness 层,永不进入模型生成代码的执行环境。

3. 多后端与可移植性

SDK 通过统一的 Manifest 抽象层接入多家沙箱提供商,支持本地 UnixDocker 以及 Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel 等托管选项。开发者只需切换配置即可在不同沙箱间迁移,无需重写代码。

八、OpenAI Agents SDK 的文件系统工具(如 apply_patch、shell)是如何工作的?

1. 类 Codex 的文件系统工具

更新后的 Harness 引入了类似 Codex 的文件系统工具集,包括 shell 命令执行、文件编辑和补丁应用等,使智能体能够在真实代码库上完成多步骤的编码任务。

2. apply_patch 工具

apply_patch 工具允许模型生成最小化的差异补丁而非重写整个文件,再由稳健的解析器原子化地应用修改,从而减少 token 消耗、降低回归风险并保证编辑的原子性。

3. 工作区与权限控制

通过 Manifest 定义工作区布局后,模型可拥有对特定目录的只读或读写权限(例如对数据目录只读、对输出目录可写),底层映射为标准 Unix 文件系统权限,确保工具访问范围可控。

九、OpenAI Agents SDK 中的 Guardrails(安全防护措施)是如何工作的?

1. 并行验证与快速失败

Guardrails 是与智能体执行并行的安全防护层,对输入和输出进行实时验证,一旦触发安全边界便立即快速失败,而非事后补救。触发时会抛出类型化的异常,而非静默改变智能体行为。

2. 输入防护

输入防护在用户消息进入智能体时运行,默认与模型调用并行执行以最小化延迟,适用于主题限制、越权拦截等场景。

3. 输出防护

输出防护在智能体生成最终回复后运行,始终在完成后执行,适用于敏感信息检测、合规筛查等需要查看完整回复后再放行的场景。

4. 工具级防护

工具级防护是最细粒度的选项,直接附加在具体函数工具上,无论多智能体工作流中由哪个智能体调用该工具都会触发,适合拦截密钥泄露、越权操作等风险。

十、OpenAI Agents SDK 的会话管理(Sessions)和持久化记忆功能是如何实现的?

1. 持久化记忆层

Sessions 提供了一个持久化的记忆层,用于在多次智能体运行之间维护工作上下文,自动管理对话历史,免去开发者手动处理状态序列化的负担。

2. 多种存储后端

会话状态可存储在开发者自有的后端,支持 SQLAlchemy、SQLite、加密存储以及 Redis 等多种持久化方案,满足从轻量原型到生产部署的不同需求。

3. 与 Memory 的区别

需要区分的是,Sessions 维护的是跨运行的对话历史上下文,而 Memory 机制(详见下一节)则让未来的运行从先前的运行中学习和积累经验,二者在职责上相互独立。

十一、OpenAI Agents SDK 中的 Memory 机制有哪些模式和配置选项?

1. 机制定位

Memory 是沙箱智能体的一项能力,允许未来的运行从先前的运行中学习,将历史经验沉淀为可复用的知识,从而减少反馈循环漂移并提升长期任务的表现。

2. 读写分离的模式配置

Memory 支持策略感知的配置方式,可将检索先前记忆与写入新记忆拆分开来,例如通过 generate 和 read 参数分别控制写入和读取,满足合规性和稳定性要求。

3. 多轮分组与实时更新

Memory 支持多轮对话分组,并能在发现过期记忆时进行实时更新,确保智能体引用的历史信息始终保持有效。

十二、OpenAI Agents SDK 如何支持快照(Snapshot)和恢复(Rehydrate)功能?

1. 快照机制

SDK 内置快照功能,可捕获沙箱容器的完整状态,包括文件系统、环境变量和工具调用历史,将智能体的工作状态外部化保存。

2. 状态恢复与续跑

当沙箱容器因过期、崩溃或工作流暂停而丢失时,SDK 可在全新容器中恢复会话状态,并从上一个检查点继续执行,避免长时运行任务因中断而丢失进度。

3. 调试与并行探索

基于快照的机制还支持回放某次运行中特定步骤的精确状态以辅助调试,并可从同一快照出发并行探索多种解决方案,提升复杂任务的容错和试错效率。

十三、OpenAI Agents SDK 内置的追踪(Tracing)功能能提供什么能力?

1. 全流程可视化

Tracing 内置于框架之中,可对每一次模型调用、工具调用、Handoff 和 Guardrail 触发进行追踪,开发者可通过可视化界面查看、调试和监控整个智能体工作流。

2. 第三方导出与集成

追踪数据除可发送到 OpenAI 仪表盘外,还支持通过 OpenTelemetry 以及 Logfire、Langfuse、W&B 等第三方导出器进行集成,满足多样化的可观测性需求。

3. 评估与优化闭环

借助追踪数据,开发者可将失败轨迹作为训练数据,对接 OpenAI 的评估、微调和蒸馏工具套件,形成从调试到优化的完整闭环。

十四、OpenAI Agents SDK 的企业级安全特性有哪些?如何保障 Agent 运行的安全性?

1. Harness 与 Compute 分离

SDK 将智能体运行拆分为 Harness 层(控制流、模型调用、工具路由)和 Compute 层(文件读写、命令运行、依赖安装)。敏感凭证和 API Key 始终停留于 Harness 层,即使沙箱被完全控制也不会泄露。

2. 沙箱隔离与最小权限

通过沙箱和工作区清单将智能体限制在明确授权的文件和工具范围内,结合标准 Unix 权限模型,防止智能体越权访问相邻路径或发起不受约束的网络调用。

3. 分层防护与人在回路

输入、输出和工具三级 Guardrails 与人在回路机制相结合,对高风险操作进行实时拦截或暂停审批,确保智能体行为在安全边界内。

4. 抗提示注入设计

OpenAI 明确建议以应对提示注入和数据外泄的假设来设计智能体系统,通过分离编排与计算、外部化状态等方式降低攻击面。

十五、OpenAI Agents SDK 在实际生产环境中有哪些典型应用场景?

1. 代码生成与审查

借助沙箱执行和文件系统工具,SDK 适合构建能够在真实代码库上编码、测试、应用补丁的编码智能体,用于自动化代码生成、审查和重构。

2. 文档与数据分析

智能体可在受控工作区中检索证据、分析文件并生成结构化报告,适用于尽调数据室分析、临床记录处理、研究助理等场景。

3. 客户服务与工作流自动化

结合多智能体协作、Handoff 和人在回路,SDK 可用于构建客户支持机器人、多步研究助理和工作流自动化工具,在需要时请求人工审批。

4. 部署与落地方式

在生产落地时,智能体工作流可运行于本地环境或各类云基础设施之上,团队可结合自身的算力、托管和存储需求选择合适的部署方案。

十六、OpenAI Agents SDK 的计费方式是什么?它与 OpenAI API 计费的关联如何?

1. 框架本身免费

OpenAI Agents SDK 在 MIT 许可协议下完全开源,框架本身没有任何许可费用、订阅费或按智能体计费,开发者可免费安装和使用。

2. 按底层服务计费

实际生产中的费用来自框架所驱动的底层服务:一是模型 API 的 token 消耗,按 OpenAI 的计量费率结算;二是所调用的托管工具,如文件搜索、网络搜索等按调用次数或存储量单独计费。

3. 运行次数非计费单位

一次 Runner.run 调用并不对应固定的美元金额,因为单次运行可能包含多次模型请求、多次工具调用和多次 Handoff,费用随实际消耗而累积。

4. 沙箱与基础设施自理

SDK 不收取平台费,但沙箱计算资源需由开发者自行提供或选择托管提供商,相应的算力和存储成本不在框架费用之内。

十七、OpenAI Agents SDK 的开源协议是什么?GitHub 社区活跃度和贡献情况如何?

1. MIT 开源协议

SDK 采用 MIT 许可协议,代码完全开源,允许开发者自由使用、修改和分发,商业使用亦无许可成本。

2. 社区规模

截至 2026 年 8 月,Python 版本仓库在 GitHub 上已积累约 29,000 颗星标和 4,000 余次派生,官方 TypeScript 移植版本也拥有数千颗星标,社区关注度较高。

3. 迭代与贡献

项目由 OpenAI 官方维护,保持约每周一次的发布节奏,拥有数百名贡献者。截至 2026 年 8 月最新版本为 v0.20.x,框架仍处于 0.x 版本阶段,尚未发布 1.0 正式版。

4. 环境要求

Python 版本要求 Python 3.10 及以上,可通过 pip 安装;TypeScript 版本需 Node.js 22 或更高版本,通过 npm 安装。

相关文章
  • OpenAI拥抱MCP!Agents SDK已经接入MCP
    1.7K
  • 采用 OpenAI Agents SDK 之前,先写运行契约
    276
  • OpenAI Agents SDK 中文文档 中文教程 (8)
    616
  • OpenAI Agents SDK 中文文档 中文教程 (5)
    1.3K
  • OpenAI Agents SDK 中文文档 中文教程 (4)
    2.6K
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券