构建智能体的新工具
我们正在改进我们的平台,帮助开发者和企业构建实用且可靠的智能体。
一个简洁、极简的界面,展示了AI智能体的任务列表,包括'triage_agent'、'guardrail'和'update_salesforce_record',背景是流动的蓝色抽象图案。
今天,我们发布了第一套构建模块,帮助开发者和企业构建实用且可靠的智能体。我们将智能体视为能够代表用户独立完成任务的系统。在过去的一年中,我们引入了新的模型能力——如高级推理、多模态交互和新的安全技术——为我们的模型奠定了基础,使其能够处理构建智能体所需的复杂的多步骤任务。然而,客户反馈表明,将这些能力转化为生产就绪的智能体可能具有挑战性,通常需要大量的提示词迭代和自定义编排逻辑,而没有足够的可见性或内置支持。
为了解决这些挑战,我们推出了一套新的API和工具,专门设计用于简化智能体应用程序的开发:
- 新的Responses API,结合了Chat Completions API的简洁性和Assistants API的工具使用能力,用于构建智能体
- 内置工具,包括网络搜索、文件搜索和计算机使用
- 新的Agents SDK,用于编排单一智能体和多智能体工作流程
- 集成的可观察性工具,用于跟踪和检查智能体工作流执行情况
这些新工具简化了核心智能体逻辑、编排和交互,使开发者更容易开始构建智能体。在未来几周和几个月中,我们计划发布更多工具和功能,进一步简化和加速在我们的平台上构建智能体应用程序。
介绍Responses API
Responses API是我们的新API特性,用于利用OpenAI的内置工具构建智能体。它结合了Chat Completions的简洁性和Assistants API的工具使用能力。随着模型能力的不断发展,我们相信Responses API将为开发者构建智能体应用程序提供更灵活的基础。通过单个Responses API调用,开发者将能够使用多种工具和模型回合解决越来越复杂的任务。
首先,Responses API将支持新的内置工具,如网络搜索、文件搜索和计算机使用。这些工具旨在共同将模型连接到现实世界,使它们在完成任务时更有用。它还带来了几项可用性改进,包括统一的基于项目的设计、更简单的多态性、直观的流式事件,以及SDK助手,如response.output_text,以便轻松访问模型的文本输出。
Responses API专为那些希望轻松将OpenAI模型和内置工具组合到应用程序中的开发者设计,无需集成多个API或外部供应商的复杂性。该API还使在OpenAI上存储数据变得更加容易,因此开发者可以使用跟踪和评估等功能评估智能体性能。提醒一下,默认情况下,即使数据存储在OpenAI上,我们也不会基于业务数据训练我们的模型。该API从今天开始向所有开发者开放,不单独收费——令牌和工具按照我们定价页面上指定的标准费率计费。查看Responses API快速入门指南了解更多信息。
这对现有API意味着什么
Chat Completions API :Chat Completions仍然是我们最广泛采用的API,我们完全致力于用新模型和功能支持它。不需要内置工具的开发者可以继续使用Chat Completions。当新模型的功能不依赖于内置工具或多次模型调用时,我们将继续向Chat Completions发布新模型。然而,Responses API是Chat Completions的超集,具有相同的出色性能,因此对于新的集成,我们建议从Responses API开始。
Assistants API :基于开发者对Assistants API测试版的反馈,我们在Responses API中纳入了关键改进,使其更加灵活、更快速、更易于使用。我们正在努力实现Assistants和Responses API之间的完全功能对等,包括支持类似Assistant和Thread的对象,以及代码解释器工具。完成后,我们计划正式宣布Assistants API的弃用,目标是在2026年中期停止使用。弃用后,我们将提供从Assistants API到Responses API的明确迁移指南,允许开发者保留所有数据并迁移其应用程序。在我们正式宣布弃用之前,我们将继续向Assistants API提供新模型。Responses API代表了在OpenAI上构建智能体的未来方向。
在Responses API中引入内置工具
网络搜索
开发者现在可以通过网络获取快速、最新的答案,并附有清晰且相关的引用。在Responses API中,当使用gpt-4o和gpt-4o-mini时,网络搜索作为工具可用,可以与其他工具或函数调用配对。
const response = await openai.responses.create({
model: "gpt-4o",
tools: [ { type: "web_search_preview" } ],
input: "What was a positive news story that happened today?",
});
console.log(response.output_text);
在早期测试中,我们看到开发者使用网络搜索构建各种用例,包括购物助手、研究智能体和旅行预订智能体——任何需要来自网络的及时信息的应用程序。
例如,Hebbia利用网络搜索工具帮助资产管理者、私募股权和信贷公司以及法律实践从广泛的公共和私人数据集中快速提取可操作的洞见。通过将实时搜索能力集成到他们的研究工作流程中,Hebbia提供更丰富、更具上下文特定性的市场情报,并不断提高其分析的精确性和相关性,超越当前的基准。
API中的网络搜索由与ChatGPT搜索相同的模型提供支持。在SimpleQA(一个评估LLMs在回答简短事实性问题的准确性的基准)上,GPT-4o搜索预览和GPT-4o mini搜索预览的得分分别为90%和88%。
API中使用网络搜索生成的响应包括指向来源的链接,如新闻文章和博客帖子,让用户有方法了解更多。通过这些清晰的内联引用,用户可以以新的方式参与信息,而内容所有者有机会接触更广泛的受众。
任何网站或发布者都可以选择出现在API的网络搜索中。
网络搜索工具作为预览版在Responses API中向所有开发者开放。我们还通过gpt-4o-search-preview和gpt-4o-mini-search-preview为开发者在Chat Completions API中直接访问我们的微调搜索模型。GPT-4o搜索和4o-mini搜索的价格分别从每千次查询30美元和25美元起。在Playground中查看网络搜索,并在我们的文档中了解更多信息。
文件搜索
开发者现在可以使用改进的文件搜索工具轻松从大量文档中检索相关信息。通过支持多种文件类型、查询优化、元数据过滤和自定义重排序,它可以提供快速、准确的搜索结果。同样,使用Responses API,只需几行代码即可集成。
const productDocs = await openai.vectorStores.create({
name: "Product Documentation",
file_ids: [file1.id, file2.id, file3.id],
});
const response = await openai.responses.create({
model: "gpt-4o-mini",
tools: [{
type: "file_search",
vector_store_ids: [productDocs.id],
}],
input: "What is deep research by OpenAI?",
});
console.log(response.output_text);
文件搜索工具可用于各种现实世界用例,包括使客户支持代理轻松访问常见问题解答,帮助法律助手快速引用过去的案例供合格专业人士参考,以及帮助编码代理查询技术文档。例如,Navan在其AI驱动的旅行代理中使用文件搜索,快速为用户提供来自知识库文章(如公司的旅行政策)的精确答案。通过内置的查询优化和重排序,他们能够建立强大的RAG(检索增强生成)管道,无需额外调整或配置。通过为每个用户组创建专用的向量存储,Navan能够根据个人账户设置和用户角色定制答案,为客户和员工节省时间,同时提供准确、个性化的支持。
这个工具在Responses API中向所有开发者开放。使用价格为每千次查询2.50美元,文件存储为0.10美元/GB/天,前1GB免费。该工具继续在Assistants API中可用。最后,我们还为Vector Store API对象添加了一个新的搜索端点,用于直接查询您的数据,以便在其他应用程序和API中使用。在我们的文档中了解更多信息,并在Playground中开始测试。
计算机使用
为了构建能够在计算机上完成任务的智能体,开发者现在可以在Responses API中使用计算机使用工具,由与Operator相同的计算机使用智能体(CUA)模型提供支持。这个研究预览模型创下了新的最先进记录,在OSWorld上完整计算机使用任务的成功率达到38.1%,在WebArena上达到58.1%,在WebVoyager上基于网络的交互达到87%。
内置的计算机使用工具捕获由模型生成的鼠标和键盘操作,使开发者能够通过直接将这些操作转换为其环境中的可执行命令来自动化计算机使用任务。
const response = await openai.responses.create({
model: "computer-use-preview",
tools: [{
type: "computer_use_preview",
display_width: 1024,
display_height: 768,
environment: "browser",
}],
truncation: "auto",
input: "I'm looking for a new camera. Help me find the best one.",
});
console.log(response.output);
开发者可以使用计算机使用工具来自动化基于浏览器的工作流程,例如对Web应用程序执行质量保证,或在传统系统中执行数据输入任务。例如,Unify是一个用于增加收入的行动系统,使用智能体来识别意图、研究账户并与买家互动。使用OpenAI的计算机使用工具,Unify的智能体可以访问以前无法通过API获取的信息,例如使房地产管理公司能够通过在线地图验证企业是否扩大了其房地产足迹。这种研究作为一个定制信号,触发个性化外联,使面向市场的团队能够精确且大规模地与买家互动。
作为另一个例子,Luminai集成了计算机使用工具,为大型企业自动化复杂的操作工作流程,这些企业的传统系统缺乏API可用性和标准化数据。在最近与一家主要社区服务组织的试点中,Luminai仅用几天时间就自动化了应用程序处理和用户注册过程,而传统的机器人流程自动化(RPA)在努力数月后仍然难以实现这一目标。
在去年通过Operator推出CUA之前,我们进行了广泛的安全测试和红队测试,解决了三个关键风险领域:滥用、模型错误和前沿风险。为了解决通过API中的CUA将Operator的功能扩展到本地操作系统相关的风险,我们进行了额外的安全评估和红队测试。我们还为开发者添加了缓解措施,包括安全检查以防范提示注入、敏感任务的确认提示、帮助开发者隔离其环境的工具,以及增强对潜在政策违规的检测。虽然这些缓解措施有助于降低风险,但模型仍然容易发生无意的错误,特别是在非浏览器环境中。例如,CUA在OSWorld(一个设计用来衡量AI智能体在真实世界任务上的表现的基准)上的表现目前为38.1%,表明该模型在自动化操作系统上的任务时尚未高度可靠。在这些场景中建议人工监督。有关我们特定于API的安全工作的更多详情可以在我们更新的系统卡片中找到。
| 基准类型 | 基准 | 计算机使用(通用接口)OpenAI CUA | 之前的SOTA | 网络浏览智能体之前的SOTA | 人类 |
|---|---|---|---|---|---|
| 计算机使用 | OSWorld | 38.1% | 22.0% | - | 72.4% |
| 浏览器使用 | WebArena | 58.1% | 36.2% | 57.1% | 78.2% |
| WebVoyager | 87.0% | 56.0% | 87.0% | - |
评估详情在此描述
从今天开始,计算机使用工具作为研究预览版在Responses API中向使用层级3-5的选定开发者开放。使用价格为3美元/1M输入令牌和12美元/1M输出令牌。在我们的文档中了解更多信息,并查看示例应用程序,说明如何使用此工具进行构建。
Agents SDK
除了构建智能体的核心逻辑并给予它们访问工具的能力以使其有用外,开发者还需要编排智能体工作流程。我们新的开源Agents SDK简化了多智能体工作流程的编排,相比去年我们发布的实验性SDK Swarm有了重大改进,Swarm已被开发者社区广泛采用并成功部署于多个客户。
改进包括:
- 智能体:易于配置的LLMs,具有清晰的指令和内置工具。
- 交接:智能地在智能体之间转移控制权。
- 护栏:可配置的安全检查,用于输入和输出验证。
- 跟踪和可观察性:可视化智能体执行跟踪,以调试和优化性能。
from agents import Agent, Runner, WebSearchTool, function_tool, guardrail
@function_tool
def submit_refund_request(item_id: str, reason: str):
# 你的退款逻辑在这里
return "success"
support_agent = Agent(
name="Support & Returns",
instructions="You are a support agent who can submit refunds [...]",
tools=[submit_refund_request],
)
shopping_agent = Agent(
name="Shopping Assistant",
instructions="You are a shopping assistant who can search the web [...]",
tools=[WebSearchTool()],
)
triage_agent = Agent(
name="Triage Agent",
instructions="Route the user to the correct agent.",
handoffs=[shopping_agent, support_agent],
)
output = Runner.run_sync(
starting_agent=triage_agent,
input="What shoes might work best with my outfit so far?",
)
Agents SDK适用于各种现实世界应用,包括客户支持自动化、多步骤研究、内容生成、代码审查和销售前景。例如,Coinbase使用Agents SDK快速原型设计并部署了AgentKit,这是一个工具包,使AI智能体能够与加密钱包和各种链上活动无缝交互。短短几小时内,Coinbase就将他们开发者平台SDK的自定义操作集成到了功能完整的智能体中。AgentKit的简化架构使添加新的智能体操作的过程变得简单,让开发者更多地关注有意义的集成,而不是导航复杂的智能体设置。
在几天内,Box能够快速创建利用网络搜索和Agents SDK的智能体,使企业能够搜索、查询和从Box和公共互联网来源存储的非结构化数据中提取洞见。这种方法允许客户不仅访问最新信息,还能以安全的方式搜索其内部专有数据,遵守其内部权限和安全策略。例如,一家金融服务公司可以构建一个自定义智能体,调用Box AI智能体,将存储在Box中的内部市场分析与来自网络的实时新闻和经济数据集成,为其分析师提供全面的投资决策视图。
Agents SDK与Responses API和Chat Completions API配合使用。SDK还将与其他提供商的模型合作,只要它们提供Chat Completions风格的API端点。开发者可以立即将其集成到他们的Python代码库中,Node.js支持即将推出。在我们的文档中了解更多信息。
在设计Agents SDK时,我们的团队受到了社区中其他优秀工作的启发,包括Pydantic、Griffe和MkDocs。我们致力于继续将Agents SDK构建为一个开源框架,以便社区中的其他人可以扩展我们的方法。
下一步:构建智能体平台
我们相信智能体很快将成为劳动力的重要组成部分,显著提高各行业的生产力。随着公司越来越寻求利用AI完成复杂任务,我们致力于提供构建模块,使开发者和企业能够有效地创建自主系统,实现现实世界的影响。
通过今天的发布,我们引入了第一批构建模块,使开发者和企业能够更轻松地构建、部署和扩展可靠、高性能的AI智能体。随着模型能力变得越来越智能化,我们将继续投资于我们的API之间的更深层次集成和新工具,以帮助在生产中部署、评估和优化智能体。我们的目标是为开发者提供无缝的平台体验,构建能够帮助完成任何行业各种任务的智能体。我们期待看到开发者接下来会构建什么。要开始使用,请浏览我们的文档,并保持关注更多即将推出的更新。