「Agent/智能体」可说是当今 AI 领域最炙手可热的话题。今天凌晨,OpenAI 发布了一系列可让开发者通过 API 构建智能体的新工具,其中最大的看点便是 Responses API,这是对之前的 Chat Completions API 的一轮大升级,使其获得了 Assistants API 般使用工具的能力,从而可以帮助开发者构建智能体。目前,Responses API 已经内置了网络搜索、文件搜索和计算机使用(computer use)能力。
OpenAI CEO Sam Altman 表示 Chat Completions API 是有史以来设计最完善、最实用的 API 之一。
熟悉大模型应用开发的人都知道,当今不少大模型提供商的服务都兼容 OpenAI 之前提出的 Chat Completions API,其对行业标准化做出了非常大的贡献。而今发布的 Responses API 或许也将成为智能体响应标准化的重要组成部分。
Chat Completions API 的一个简单示例
除此之外,OpenAI 还发布了用于编排单智能体和多智能体工作流的 Agents SDK 以及用于跟踪和检查智能体工作流程执行情况的 observability tools。
OpenAI 表示:「这些新工具简化了核心智能体逻辑、编排和交互,使开发者能够更轻松地开始构建智能体。在接下来的几周和几个月内,我们计划发布更多工具和功能,以进一步简化和加速在我们的平台上构建智能体应用的过程。」
相关文档链接如下:
- Responses API:https://platform.openai.com/docs/quickstart?api-mode=responses
- 网络搜索:https://platform.openai.com/docs/guides/tools-web-search
- 文件搜索:https://platform.openai.com/docs/guides/tools-file-search
- computer use:https://platform.openai.com/docs/guides/tools-computer-use
- Agents SDK:https://platform.openai.com/docs/guides/agents
- observability tools:https://platform.openai.com/docs/guides/agents#orchestration
另外,OpenAI 还准备了 PlayGround 供开发者尝试:https://platform.openai.com/playground/prompts?preset=ks7kayjX55ehTBR9oyUviuJe
下面来具体看看 OpenAI 今天发布的东西。
Responses API 是什么?
简单来说,Responses API 是一种 API 新原语,其作用是使用 OpenAI 内置工具来构建智能体。OpenAI 表示它将 Chat Completions 的简单性与 Assistants API 的工具使用功能结合到了一起。「随着模型功能的不断进化,我们相信 Responses API 将为开发者构建智能体应用提供更灵活的基础。只需一次 Responses API 调用,开发者就能够使用多个工具和模型轮次来解决越来越复杂的任务。」
首先,Responses API 将支持新的内置工具,如网络搜索、文件搜索和 computer use。这些工具可以协同工作,将模型连接到现实世界,从而让模型可以完成更加有用的任务。Responses API 还包含一些可用性改进,包括统一的基于事项(item)的设计、更简单的多态性、直观的流式事件和 SDK 助手(如可帮助轻松获取模型的文本输出的 response.output_text)。
对于希望轻松将 OpenAI 模型和内置工具结合到其应用中的开发者,Responses API 可提供一个统一的接口,而无需集成多个 API 或外部供应商。
该 API 还使在 OpenAI 上存储数据变得更加容易,因此开发者可以使用跟踪和评估等功能来评估智能体性能。OpenAI 还特别指出:「即使数据存储在 OpenAI 上,我们也不会默认使用业务数据来训练我们的模型。」
Responses API 即日可用,并且不会单独收费 ——token 和工具按照 OpenAI 定价页面上指定的标准费率计费。
现有的 API 呢?
Chat Completions API:OpenAI 表示,Chat Completions 仍然是他们最广泛采用的 API,他们也会让新模型和新功能支持它。无需内置工具的开发者可以放心地继续使用 Chat Completions。只要 Chat Completions 的功能不依赖于内置工具或调用多个模型,OpenAI 表示就会继续发布支持 Chat Completions 的新模型。而 Responses API 是 Chat Completions 的超集,具有同样出色的性能,因此对于新的集成,OpenAI 建议从 Responses API 开始。
Assistants API:根据开发者对 Assistants API beta 的反馈,OpenAI 在 Responses API 中加入了一些关键改进,使其更加灵活、更快、更易于使用。OpenAI 表示正在努力实现 Assistants 和 Responses API 之间的完全功能对等,包括对类似 Assistant 和类似 Thread 的对象以及代码解释器工具的支持。OpenAI 表示,完成这个过程后,就会正式宣布弃用 Assistants API,目标截止日期为 2026 年中期。弃用后,OpenAI 将提供从 Assistants API 到 Responses API 的迁移指南,使开发者能够保留所有数据并迁移其应用。而在正式宣布弃用之前,OpenAI 将继续让新模型支持 Assistants API。
OpenAI 表示:「Responses API 代表了在 OpenAI 上构建智能体的未来方向。」
Responses API 的内置工具
网络搜索
开发者现在可以从网络上获得快速、最新的答案,同时还带有清晰且相关的引文。在 Responses API 中,使用 gpt-4o 和 gpt-4o-mini 时,网络搜索可用作工具使用,并且可以与其他工具或函数调用搭配使用。
Responses API 中的网络搜索使用了 ChatGPT 搜索一样的模型。OpenAI 也发布了基准测试结果:在 SimpleQA 评估 LLM 回答简短事实问题的准确性的基准)上,GPT-4o search preview 和 GPT-4o mini search preview 分别得分 90% 和 88%。
使用该 API 中的网络搜索生成的响应会包含指向新闻文章和博客文章等来源的链接,为用户提供了一种了解更多信息的方式。
任何网站或发布者都可以选择是否在该 API 中的网络搜索中显示。
目前,网络搜索工具已在 Responses API 中以预览版形式提供给所有开发者。OpenAI 还支持开发者通过 gpt-4o-search-preview 和 gpt-4o-mini-search-preview 直接访问 Chat Completions API 中经过微调的搜索模型。GPT‑4o search 和 4o-mini search 的定价分别为每千次查询 30 美元和 25 美元。
文件搜索
开发者现在可以使用经过改进的文件搜索工具轻松地从大量文档中检索相关信息。其支持多种文件类型、查询优化、元数据过滤和自定义重新排名,并能提供快速、准确的搜索结果。同样,使用 Responses API,只需几行代码即可完成集成。
文件搜索工具可用于各种实际用例,包括使客服智能体轻松访问常见问题解答、帮助法律助理快速参考合格专业人员的过去案例以及协助编程智能体查询技术文档。
此工具在 Responses API 中可供所有开发者使用。使用价格为每千次查询 2.50 美元,文件存储价格为 0.10 美元/GB /天,首 GB 免费。
该工具也将继续在 Assistants API 中提供。最后,OpenAI 表示还向 Vector Store API 对象添加了一个新的搜索端点,开发者可直接将其用于查询自己的数据,然后用于其他应用和 API。
Computer Use
为了构建能够在计算机上完成任务的智能体,开发者现在可以使用 Responses API 中的 Computer Use 工具,该工具使用了 Computer-Using Agent(CUA)模型 —— 与 Operator 一样。
而此研究预览版(research preview)模型创下了新的 SOTA 记录:在 OSWorld 的全 Computer Use 任务上实现了 38.1% 的成功率,在 WebArena 上实现 58.1% 的成功率,在 WebVoyager 的基于 Web 的交互任务上实现 87% 的成功率。
内置的 Computer Use 工具可捕获模型生成的鼠标和键盘操作,使开发者能够通过将这些操作直接转换为其环境中的可执行命令来自动执行 Computer Use 任务。
开发者可以使用 Computer Use 工具来自动化基于浏览器的工作流程,例如在 Web 应用上执行质量验证任务或跨旧系统执行数据输入任务。
OpenAI 表示,在去年推出支持 Operator 的 CUA 之前,他们进行了广泛的安全测试和红队测试,解决了三个关键风险领域:误用、模型错误和前沿风险。
而通过 API 中的 CUA 将 Operator 的功能扩展到本地操作系统也会引入新的风险,为此 OpenAI 进行了额外的安全评估和红队测试。
OpenAI 还为开发者添加了缓解措施,包括防止提示词注入的安全检查、敏感任务的确认提示、帮助开发者隔离其环境的工具以及增强对潜在政策违规行为的检测。虽然这些缓解措施有助于降低风险,但该模型仍然容易受到无意错误的影响,尤其是在非浏览器环境中。
例如,CUA 在 OSWorld(旨在衡量 AI 智能体在实际任务中的表现的基准)上的表现目前为 38.1%,这表明该模型对于在操作系统上自动执行任务还不够可靠。在这些情况下,OpenAI 建议进行人工监督。
更多详情可访问已更新的系统卡:https://openai.com/index/operator-system-card/
从今天开始,Computer Use 工具将作为研究预览版在 Responses API 中提供给使用等级为 3-5 的选定开发者。
使用价格为 3 美元/100 万输入 token 和 12 美元/100 万输出 token。
Agents SDK
除了构建智能体的核心逻辑并让它们能够访问有用的工具之外,开发者还需要编排智能体工作流。
OpenAI 开源发布的 Agents SDK 可简化多智能体工作流的编排,并且相比于 Swarm 有了显著的改进。Swarm 是 OpenAI 去年发布的实验性 SDK 并已被开发者社区广泛采用,可参阅机器之心报道《OpenAI 今天 Open 了一下:开源多智能体框架 Swarm》。
- 智能体:易于配置的 LLM,具有清晰的说明和内置工具。
- 交接:在智能体之间智能地转移控制权。
- 护栏:可配置的安全检查,用于输入和输出验证。
- 跟踪和可观察性:可视化智能体执行跟踪以调试和优化性能。
智能体 SDK 适用于各种实际应用,包括客户支持自动化、多步骤研究、内容生成、代码审查和销售潜在客户挖掘。
Agents SDK 可与 Responses API 和 Chat Completions API 配合使用。只要其他提供商提供 Chat Completions 样式的 API 端点,该 SDK 还可以与其他提供商的模型配合使用。
开发者可以立即将其集成到他们的 Python 代码库中,Node.js 支持也即将推出。
OpenAI 还提到未来可能会开源 Agents SDK:「在设计 Agents SDK 时,我们的团队受到了社区中其他人的出色工作的启发,包括 Pydantic、Griffe 和 MkDocs。我们致力于继续将 Agents SDK 构建为开源框架,以便社区中的其他人可以扩展我们的方法。」
最后,OpenAI 称:「我们相信智能体很快就会成为劳动力不可或缺的一部分,从而显著提高各行业的生产力。随着公司越来越多地寻求利用 AI 来完成复杂的任务,我们致力于为开发者和企业提供构建模块,使他们能够有效地创建可产生实际影响的自动系统。」
Responses API 背后的故事
Responses API 背后的设计者之一、OpenAI 的 Atty Eleti 还在 𝕏 上分享了 Responses API 背后的故事。
他表示,Responses API 是他设计 OpenAI API 2 年的经验累积的成果。
两年前,他们与 GPT-3.5 Turbo 团队一起推出了 Chat Completions。而这个 API 是他与 Rachel Lim 在一个周末内完成的:周五设计,周二发布 GA。如今,Chat Completions 已成为事实上的行业标准,为数十万个应用提供支持,并被每个主要模型提供商所采用。
当年晚些时候,他们发布了 Assistants API 的 beta 版,这是构建智能体原语的初稿。其运行在后台进行,并能根据需要调用工具。
许多开发者喜欢它,因为它易于上手(只需使用 OpenAI 作为自己的数据库!)并且通过「file_search」工具内置了强大的 RAG。
但从那时起,很多事情都发生了变化:今天的模型是多模态的(文本、图像、音频)、智能体形式的(调用一个或多个工具),并且在说话前会思考。
Chat Completions 不是为此设计的;它是无状态的(会迫使你传回大量图像和音频),不支持工具,并且存在许多可用性问题(特别是,流式传输很难正确实现。)
Assistants 支持工具,但它太抽象了。你需要了解六个概念才能开始使用,而且后台处理意味着它默认很慢。
这些 API 的形式成为了开发者调用底层功能的障碍。
Responses API 则将上述两种 API 的优势整合到了一起。
只需 4 行代码即可开始使用,只需一个参数即可包含文件搜索、网络搜索、函数调用和结构化输出等功能。
Responses 具有多种状态。
默认情况下,所有 Responses 都会被存储,用户可以在仪表板中查看它们,以便以后进行调试。你可以使用「previous_response_id」继续对话 —— 无需一次又一次地发送大载荷。
Responses 也是状态机(state-machines),可以更好地模拟不完整、中断和失败的模型输出。
Responses 的核心概念是事项(item):表示用户输入或模型输出的多态对象。事项可以表示消息、推理、函数调用、Web 搜索调用等。
Chat Completions 是消息来来回回的列表,而 Responses 则是事项来来回回的列表。
托管工具(Hosted tools)是 Responses 的杀手级功能。
只需一行代码,你就可以在应用中获得一流的网页搜索、文件搜索以及即将推出的代码解释器。
至于 Responses 这个起名。Atty Eleti 指出「Responses 显然与 HTTP Responses 冲突。」
「但我们坚信这个名字完美地平衡了优雅和描述性。我们在日常使用中都会问『模特的 Responses 是什么?』」
Eleti 表示他们还考虑过 Tasks、Generations、Messages、Interactions、Conversations 等名称。
他也总结了 OpenAI 的 API 设计哲学:交付能力,而非抽象。(Ship capabilities, not abstractions.)
最后,顺带一提,OpenAI CEO Sam Altman 在 𝕏 表示他们已经训练出了一个擅长创意写作的模型,不过发布时间待定。他说:「这是我第一次真正被 AI 写的东西所震撼;它恰到好处地传达了元小说的氛围。」
下面是他分享的提示词和小说,感兴趣的读者可访问这里自行评鉴:https://x.com/sama/status/1899535387435086115
你对 OpenAI 今天的发布怎么看?