OpenAI推出智能体新Responses API


OpenAI 发布了新的 Responses API,简化了工具使用、代码执行和状态管理的工作流程,支持消息列表格式和 HTML 表单编码,并引入了三种内置工具:网络搜索、文件搜索和计算机使用代理。新的 API 比 Assistants API 更自然,后者将在 2026 年淘汰。Responses API 能管理服务器上的对话状态,解决了 Chat Completions API 需要手动维护对话记录的繁琐问题。


OpenAI 今天早上发布了一些新的 API 平台功能,标题是“构建代理的新工具”(他们把“agents代理”解释为“能代表用户独立完成任务的系统”)。

一个特别重要的变化是推出了新的 Responses API,这个 API 和他们过去几年提供的 Chat Completions API 有点不一样,而 Chat Completions API 已经被行业内很多人模仿,成了临时的标准。

在这篇指南里,他们解释了这些不同,并且保证:

  • Chat Completions API 是构建 AI 应用的行业标准,我们打算一直支持这个 API。
  • 我们推出 Responses API 是为了简化那些涉及工具使用、代码执行和状态管理的工作流程。

即将淘汰的 API
即将淘汰的API是Assistants API,它是 2023 年在 OpenAI DevDay 上首次发布的永久测试版。新的响应 API 可以有效地解决同样的问题,但效果更好,而助手将在“2026 年上半年”淘汰。

两者之间差异的最好例证是对GitHub 存储库openai-python 的这个巨大提交,它一次性更新了所有示例代码。

Responses  API 的最重要功能(与旧版Assistants  API 相同)是可以为您管理服务器上的对话状态。

Chat Completions  API 的一个奇怪之处在于,您需要维护自己的当前对话记录,并在每次新提示时发回完整副本。最终,您需要调用类似下面这样的 API(来自他们的示例):

<pre class="displaycode"><code>json
{
   
"model": "gpt-4o-mini",
   
"messages": [
        {
           
"role": "user",
           
"content": "knock knock.",
        },
        {
           
"role": "assistant",
           
"content": "Who's there?",
        },
        {
           
"role": "user",
           
"content": "Orange.",
        }
    ]
}
</code></pre>

这些对话可能会变得很长,尤其是当涉及到图片等附件时,但真正的挑战是当你开始集成工具时:在使用工具的对话中,你需要保持完整的状态,并且插入一些消息来显示模型请求的工具的输出。处理这些并不简单。

新的 Responses API 仍然支持这种消息列表格式,但你也可以选择完全把这个交给 OpenAI 处理:你可以添加一个新的 "store": true 属性,然后在后续的消息中包含一个 "previous_response_id": response_id 的键来继续这个对话。

这比 Assistants API 感觉自然多了,Assistants API 要求你通过线程、消息和运行来实现同样的效果。

我们相信这个新的 API 原语会让我们更有效地增强 OpenAI 平台。

还有一点有趣的是:Responses API 现在除了支持 JSON,还支持 HTML 表单编码:

<pre class="displaycode"><code>bash
curl https:
//api.openai.com/v1/responses \
  -u :$OPENAI_API_KEY \
  -d model=
"gpt-4o" \
  -d input=
"What is the capital of France?"
</code></pre>

我在一个很棒的 Twitter 线程中发现了这个,这个线程提供了 OpenAI 的 Atty Eleti 关于新 API 设计决策的背景信息。这里有一个 nitter 链接,给那些没有 Twitter 账号的人。

新的内置工具

今天可能更令人兴奋的变化是引入了默认default工具,你可以在使用新的 Responses API 时请求这些工具。一共有三个,都可以在 "tools": [...] 数组中指定。

- {"type": "web_search_preview"} -
和 ChatGPT 提供的搜索功能一样。文档没有说明使用的是哪个底层搜索引擎——最初以为是 Bing,但工具文档链接到了这个 OpenAI 爬虫概述页面,所以可能现在完全是自研的?网络搜索的价格在每千次查询 25 到 50 美元之间,具体取决于你使用的是 GPT-4o 还是 GPT-4o mini,以及你配置的“搜索上下文”大小。

- {"type": "file_search", "vector_store_ids": [...]}
提供了与最新版本的文件搜索向量存储的集成,主要用于 RAG(检索增强生成)。“使用费用为每千次查询 2.50 美元,文件存储费用为每天每 GB 0.10 美元,第一个 GB 免费”。

- {"type": "computer_use_preview", "display_width": 1024, "display_height": 768, "environment": "browser"}
这是最让我惊讶的:这是他们为 Operator 产品构建的计算机使用代理系统的工具访问权限。这个工具会很有趣。工具的文档中有一个关于提示注入风险的警告。不过仔细看下来,我觉得这可能更像Claude 的计算机使用功能,你需要自己运行沙盒环境,而不是把这部分复杂的任务交给他们。

为什么使用 Responses API?
Responses API 是我们最新的核心 API 和代理 API 原语,结合了 Chat Completions 的简单性和执行更多代理任务的能力。随着模型功能的发展,Responses API 是构建面向操作的应用程序的灵活基础,具有内置工具:

如果您是新用户,我们建议您使用 Responses API。