OpenAI Agents SDK(JavaScript/TypeScript)
轻量但强大的 JavaScript/TypeScript 多智能体工作流与语音智能体框架。
证据显示仓库提供了安全策略(SECURITY.md)和协调披露政策,但未详细说明权限最小化、用户确认、数据流透明等具体机制。依赖安全方面,package.json 中列出了依赖但未提供安全审计或漏洞扫描证据。外部影响方面,示例展示了工具调用(如 shell、文件操作),但未明确权限控制。回滚方面,未提及。来源归属方面,仓库属于 OpenAI 官方组织,但未提供具体作者或维护者信息。因此,多数标准得分较低,仅来源归属因官方组织而得分较高。
仓库包含大量测试(如 ReactNativeWebRTCTransport.test.ts),表明内部一致性较好。依赖可用性方面,package.json 列出了依赖,但未提供锁定文件或镜像信息。失败消息方面,测试中显示了错误处理,但未系统化。因此,自洽性和失败消息得分为2,依赖可用性得分为2。
README 描述了多种使用场景(文本、沙盒、实时),并提供了示例,表明受众广泛。能力边界方面,文档提到了沙盒代理和实时代理,但未明确限制。触发精度方面,示例展示了精确的指令和工具调用。环境适配方面,支持 Node.js、Deno、Bun 等,但实验性支持 Cloudflare Workers。因此,各标准得分为2。
信息架构清晰,README 提供了核心概念和快速开始。安装说明明确。命名稳定性方面,包名和 API 名称一致。示例和 FAQ 丰富。已知限制方面,沙盒代理标记为 beta,但未详细说明。许可证为 MIT,版本控制使用 changesets,但未提供 changelog 文件。维护责任方面,有 CI 和发布脚本。因此,多数标准得分为2,已知限制和版本控制得分为1。
输出可用性方面,示例展示了清晰的输出(如 finalOutput)。边际价值方面,提供了多代理工作流和实时代理等高级功能。成本效益方面,作为开源框架,免费使用,但需要 API 密钥。因此,各标准得分为2。
声明可追溯性方面,README 中的功能描述与代码和示例一致。跨来源佐证方面,仅依赖仓库内部证据,未提供外部验证。事实与推断分离方面,文档区分了功能描述和示例。因此,声明可追溯性和事实推断分离得分为2,跨来源佐证得分为1。
- 静态审查无法验证实际运行行为,所有结论基于源代码和文档。
- 沙盒代理和实时代理可能涉及敏感操作,需仔细审查权限和数据处理。
- 依赖安全未提供审计证据,建议检查依赖漏洞。
这个 Agent 能做什么,适合哪些场景?
该 SDK 是 OpenAI 官方推出的 JavaScript/TypeScript 框架,用于构建多智能体工作流,支持文本、沙箱和实时语音三种智能体模式。其核心概念包括智能体(Agents)、沙箱智能体、实时智能体、智能体作为工具、交接(Handoffs)、工具、护栏、人在环路、会话和追踪。SDK 是提供商无关的,但主要依赖 OpenAI API,运行时要求 Node.js 22+、Deno 或 Bun,实验性支持 Cloudflare Workers(需开启 nodejs_compat)。它提供内置的追踪能力,帮助开发者调试和优化工作流。MIT 许可证,且附带丰富的示例目录。安装简单,通过 npm 安装 @openai/agents 和 zod 即可开始。
该 SDK 提供了编程接口来创建和运行智能体。文本智能体通过 Agent 类和 run() 函数执行任务,处理指令和工具调用。沙箱智能体在文件系统工作区中运行,可执行命令、管理文件状态,支持本地和 Docker 等客户端。实时智能体通过 WebRTC 在浏览器中实现低延迟语音交互。它还支持工具定义(包括 MCP)、护栏、交接和会话管理,并内置追踪系统记录智能体运行过程。典型流程:开发者定义智能体(指令、工具、护栏),然后调用 run() 或连接实时会话,SDK 负责调度、追踪和输出最终结果。
- 开发者构建需要多步骤、多智能体协作的复杂工作流,例如代码审查、数据分析或自动化报告生成。
- 团队需要在隔离的沙箱环境中运行代码或命令,智能体可以安全地操作文件系统并执行命令。
- 产品需要语音交互功能,例如语音助手、客服机器人或实时语音翻译,可利用 RealtimeAgent 实现。
- 开发者希望将智能体作为其他智能体的工具,实现模块化任务委派,例如一个智能体负责数据提取,另一个负责总结。
- 需要保证输出质量,通过护栏进行输入输出验证,或通过人在环路机制进行人工审批。
这个 Agent 有哪些优点和局限?
- 官方 OpenAI 出品,保证与 OpenAI API 的兼容性和未来更新。
- 提供三种智能体模式(文本、沙箱、实时),覆盖不同场景需求。
- 内置追踪系统,便于调试和优化工作流。
- 支持交接、护栏、工具等高级功能,简化多智能体编排。
- MIT 许可证,开放源代码,社区可贡献。
- 依赖 OpenAI API,核心功能(如沙箱和实时)可能不适用于其他提供商。
- 沙箱智能体目前处于测试阶段,功能可能不稳定。
- 对运行时要求较高(Node.js 22+),可能限制旧环境部署。
- 实验性支持 Cloudflare Workers,需要额外配置,可能存在问题。
- 实时智能体需要处理 WebRTC 和临时令牌,增加前端实现的复杂性。
如何安装或部署这个 Agent?
需要 Node.js 22 或更高版本。使用 npm 安装:npm install @openai/agents zod。如果使用沙箱智能体,可能需要额外安装 Docker 或配置本地客户端。对于实时智能体,需要浏览器支持 WebRTC,并在服务器端设置 OPENAI_API_KEY 以获取临时令牌。
如何使用这个 Agent?
- 安装依赖:npm install @openai/agents zod。2. 设置环境变量 OPENAI_API_KEY。3. 创建文本智能体:导入 Agent 和 run,定义智能体,然后运行。4. 对于沙箱智能体,导入 SandboxAgent 和客户端,配置工作区。5. 对于实时智能体,导入 RealtimeAgent 和 RealtimeSession,连接 WebRTC。示例代码见 README 和 examples 目录。