前言

北京时间3月12日凌晨,OpenAI 发布了一系列专为构建 AI Agents 而设计的全新工具包,来帮助开发者更方便地创建能自动完成任务的 AI Agents。

全新开发的工具包中包括,新Responses API、多款内置工具以及OpenAI首个开源Agents SDK。

OpenAI首席产品官Kevin Weil在直播中提到:“2025年将会是AI智能体爆发的一年,也是ChatGPT和我们开发者工具从‘仅仅回答问题’升级为‘真正能在现实世界里为你执行任务’的一年。”

AI Agents工具包

Responses API

Responses API 融合了Chat Completions API的简洁性和Assistants API的工具使用能力,为开发者提供了一个强大的基础架构。通过单次API调用,开发者就能使用多种工具和模型轮次解决复杂任务,极大地简化了开发流程。

Chat Completions API主要用来生成对话回复,Assistants API能让AI调用外部功能,比如查找资料、操作东西。

三大内置工具

包括Web搜索工具、文件搜索工具、计算机使用工具。

  • Web搜索工具支持GPT-4o和GPT-4o-mini模型,能够实时从互联网上抓取最新数据,并提供清晰且相关的引用来源。这就像给智能体配备了一个实时更新的知识库,让它们能够随时掌握最新的动态。开发者可以利用网络搜索构建多种应用场景,比如购物、研究和旅行预订agent。

  • 文件搜索工具支持多种文件格式,能优化查询、过滤元数据、自定义排序,支持向量存储与元数据过滤,能让开发者从大量文档中迅速检索关键信息。该搜索工具可应用于多种现实场景,比如帮助客服人员便捷获取常见问题解答,协助法律助理快速查阅过往案例以供专业参考。

  • 计算机使用工具则相当于在API中内置了Operator,由 Computer-Using Agent (CUA) 模型提供支持,可捕获模型生成的鼠标和键盘操作,让 AI 能像人一样操作电脑界面。可以自动控制计算机,实现点击、输入、拖动等复杂操作。这对于需要与传统系统交互的场景来说,是一个巨大的突破。

Agents SDK

Agents SDK 基于 Swarm 框架升级,是一个开源的多智能体工作流编排框架。它让开发者能够轻松定义智能体角色和工具,实现智能体之间的无缝交接任务,还提供了安全检查机制和实时监控功能,让智能体的协作更加高效、可控。适用于多种现实世界应用场景,包括客户支持自动化、多步骤研究、内容生成、代码审查以及销售线索挖掘。

开始开发

配置开发环境

  1. 登录到 https://platform.openai.com/account/api-keys;创建新的API密钥

  2. 配置环境变量:export OPENAI_API_KEY="your_api_key_here"

  3. 安装官方SDK

    1. 使用 Python:pip install openai

    2. 使用Java

      <dependency>

      <groupId>com.openai</groupId>

      <artifactId>openai-java</artifactId>

      <version>0.31.0</version>

      </dependency>

Responses API

OpenAI API:提供了一个简单的接口,用于访问最先进的 AI 模型,包括文本生成、自然语言处理、计算机视觉等。

文本提示简单示例

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="gpt-4o",
    input="Write a one-sentence bedtime story about a unicorn."
)

print(response.output_text)

模型生成的内容数组位于响应的 output 属性中。在这个简单的例子中,只有一个输出。output 数组通常包含多个元素,它可以包含工具调用、推理模型生成的推理标记数据以及其他项目。不能假设模型在 output[0].content[0].text 处有文本输出。

[
    {
        "id": "msg_67b73f697ba4819183a15cc17d011509",
        "type": "message",
        "role": "assistant",
        "content": [
            {
                "type": "output_text",
                "text": "Under the soft glow of the moon, Luna the unicorn danced through fields of twinkling stardust, leaving trails of dreams for every child asleep.",
                "annotations": []
            }
        ]
    }
]

消息指令instructions参数为模型提供高级指令,说明它在生成响应时应如何表现,包括语气、目标和正确响应的示例。通过这种方式提供的任何指令都将优先于 input 参数中的提示。

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="gpt-4o",
    instructions="Talk like a pirate.",
    input="Are semicolons optional in JavaScript?",
)

print(response.output_text)

角色说明(role)

  1. developer:应用开发者提供的指令,其权重高于 user 消息。

  2. user:用户提供的指令消息,权重低于 developer 消息。

  3. assistant:模型生成的消息具有 assistant 角色。

内置工具

使用内置工具,如网络搜索和文件搜索,以扩展模型的功能。帮助模型从网络或您的文件中访问额外的上下文和信息。

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="gpt-4o",
    tools=[{"type": "web_search_preview"}],
    input="What was a positive news story from today?"
)

print(response.output_text)
  1. Computer-Using Agent(CUA):结合了 GPT-4o 的视觉能力与高级推理,以模拟控制计算机界面和执行任务。

  2. 如何工作

    1. 工具在一个连续循环中运行。它发送计算机操作,如 click(x,y)type(text) ,您的代码在计算机或浏览器环境中执行这些操作,然后将结果截图返回给模型。

    2. 代码模拟了人类使用计算机界面的行为,而我们的模型使用截图来理解环境状态并建议下一步操作。

    3. 这个循环可以自动化许多需要点击、输入、滚动等操作的任务。例如,预订航班、搜索产品或填写表格。

      1. 第一步发送请求给模型:此请求应包括有关您环境的详细信息,以及一个初始输入提示。指定显示大小和环境,以及可以在第一个请求中包含环境的初始状态截图。

      2. 第二步收到模型响应:检查响应中是否包含任何 computer_call 项。此工具调用包含一个建议采取的动作以向指定目标迈进。这些动作可能是点击指定位置、输入文本、滚动,甚至是等待。

      3. 第三步执行请求的操作:通过代码在您的计算机或浏览器环境中执行相应的操作。

      4. 第四步捕获更新后的状态:执行动作后,以截图形式捕获环境的更新状态。

      5. 第五步重复:以 computer_call_output 作为更新后的状态发送新的请求,并重复此循环,直到模型停止请求操作或您决定停止。

函数调用(Function Calling)

通过函数调用让模型访问自己定义的代码。根据系统提示和消息,模型可能会决定调用这些函数。

  1. 将定义好的函数注册给大模型,包括用户输入的信息。
  2. 模型根据输入和已经注册的函数,返回决定调用的函数名称和入参。

  3. 执行函数,解析模型响应返回的函数所需入参并调用函数。

  4. 将模型返回的函数注册结果及函数调用结果传给模型,模型生成最终结果。

  5. 解析模型响应,输出最终结果。

Agents SDK

Agnets SDK 简介

构建代理涉及组装多个领域的组件(例如模型、工具、知识和记忆、护栏和编排) ,并且 OpenAI 为每个领域提供了可组合的原语。

Domain

Description

OpenAI Primitives

Models 模型

核心智能能够推理、决策和处理不同模式。

o1, o3-mini, GPT-4.5, GPT-4o, GPT-4o-mini

Tools 工具

与世界接口,与环境交互,函数调用,内置工具等。

Function calling, Web search, File search, Computer use

Knowledge & memory 知识与记忆

利用外部和持久的知识来增强代理。

Vector stores, File search, Embeddings

Guardrails 护栏

防止不相关的、有害的或不良的行为。

Moderation, Instruction hierarchy
适度,教学 层次

Orchestration 编排

开发、部署、监控和改进代理。

Agents SDK, Tracing, Evaluations, Fine-tuning
Agents SDK追踪评估微调

  1. 模型:大型语言模型 (LLMs) 是代理系统的核心,负责做出决策并与世界互动。OpenAI 的模型支持多种功能:

    • 高智商:能够推理和计划以解决最困难的任务。

    • 工具:调用您的函数并利用 OpenAI 的内置工具

    • 多模式:原生理解文本、图像、音频、代码和文档。

    • 低延迟:支持实时音频对话和更小、更快的模型。

    Model

    Agentic Strengths 代理优势

    o1 & o3-mini

    最适合长期规划、艰巨任务和推理。

    GPT-4.5

    最适合代理执行。

    GPT-4o

    代理能力和延迟之间的良好平衡。

    GPT-4o-mini

    最适合低延迟。

  2. 工具:工具使代理能够与世界互动。OpenAI 支持函数调用以连接您的代码,并支持内置工具来执行网络搜索和数据检索等常见任务。

    Tool 工具

    Description 描述

    Function calling 函数调用

    Interact with developer-defined code.
    与开发人员定义的代码交互。

    Web search 网络搜索

    Fetch up-to-date information from the web.
    从网络获取最新信息。

    File search 文件搜索

    Perform semantic search across your documents.
    在您的文档中执行语义搜索。

    Computer use 计算机使用

    Understand and control a computer or browser.
    了解并控制计算机或浏览器。

  3. 知识和记忆

    知识和记忆可帮助代理存储、检索和利用其初始训练数据以外的信息。向量存储使代理能够以语义方式搜索文档并在运行时检索相关信息。同时,嵌入可以有效地表示数据以便快速检索,为动态知识解决方案和长期代理记忆提供支持。

  4. 护栏,护栏可确保您的代理安全、一致地在预期的范围内运行,这对于生产部署至关重要。使用 OpenAI 的免费Moderation API自动过滤不安全的内容。利用指令层次结构进一步控制代理的行为,该层次结构优先考虑开发人员定义的提示并减轻不必要的代理行为。

  5. 编排,构建代理是一个过程。OpenAI 提供工具来有效地构建、部署、监控、评估和改进代理系统。

    Phase 阶段

    Description 描述

    OpenAI Primitives OpenAI 原语

    Build & Deploy 构建和部署

    使用 Agents SDK 快速构建代理、执行护栏并处理对话流。

    Agents SDK

    Monitor 监视器

    实时观察代理行为,调试问题并通过跟踪获得见解。

    Tracing 追踪

    Evaluate & Improve 评估和改进

    衡量代理商的绩效,找出需要改进的领域,并优化您的代理商。

    Evaluations 评估
    Fine-tuning 微调

Agent SDK 特点

1.轻量但强大设计

此 SDK 遵循极简主义设计理念,大多数 AI 工具需要重量级的框架和复杂的 API,但 OpenAI 保持了轻量级且高度灵活。

  • 仅需少量核心组件,即可实现强大功能

  • 轻量级架构,支持复杂的 AI 工作流

  • 从第一天起即可投入生产使用

这不仅仅是一个实验性工具,而是专为现实世界的 AI 应用打造的框架。

OpenAI Agents SDK 架构

Runner:负责协调 Agent 的执行。

Agent:内容包括:指令、工具、交接、验证规则(Guardrails)、模型设置和输出类型。

Models(模型):接口包括:LLM API 的接口、OpenAIChatCompletions、OpenAIResponses

Tools(工具):可扩展工具包括:函数工具(FunctionTool)、网络搜索工具(WebSearchTool)、文件搜索工具(FileSearchTool)、计算工具(ComputerTool)

Guardrails(验证规则):提供输入与输出的验证。

Run Artifacts(运行结果):包括:、运行结果(RunResult)、消息输出项(MessageOutputItem)、工具调用项(ToolCallItem)、交接调用项(HandoffCallItem)、使用信息(Usage Info)

Tracing(追踪):包含:跟踪、时间跨度(Traces, Spans)、agent_span()、function_span()、generation_span()、导出及处理器(Exporters & Processors)

Handoffs(交接):负责代理之间的控制转移。

Agent Loop(代理循环):

  1. 使用消息调用 LLM

  2. 处理响应:工具调用或最终输出

  3. 运行工具或交接到另一个代理

  4. 重复以上步骤直至得到最终输出

2.内置代理循环

以往,开发者需要手动编写数百行代码来实现 AI 代理循环,包括:调用正确的工具;处理 AI 生成的响应;维护任务循环逻辑;监测任务是否完成。

Agent SDK 自动化了这些流程,开发者无需再手动编写循环逻辑。它支持:

  • 无需手动编写循环逻辑

  • 代理智能调用工具并处理结果;

  • 自动化多步骤 AI 工作流;

极大缩短开发时间,提高 AI 代理的执行效率。

3.函数工具:将任何 Python 函数转换为 AI 工具

使用简单的 Python 装饰器,您可以将任何函数转换为 AI 驱动的工具。这意味着无需重写现有代码——可以立即使现有的功能具备 AI 能力。

  • 瞬时模式生成(Instant schema generation

  • 使用 Pydantic 进行自动输入验证

  • 无缝 AI 集成

这对使人工智能在实际应用中变得实用来说意义重大。

4.Handoffs Between Agents

AI 代理不再是单独运行的个体,使用 Agent SDK,不同的专业代理可以无缝交接任务——就像一支 AI 专家团队共同协作。Agent SDK 让多个 AI 代理能够无缝交接任务。想象一个工作流程,其中:

  • Agent 1 负责收集信息

  • Agent 2 进行信息总结

  • Agent 3 进行事实核查

  • Agent 4 负责格式化报告

这种 AI 代理协作模式曾经难以实现,如今已成为 SDK 的内置功能:

  • AI 代理可以委派任务

  • 专用的 AI 组件协同工作

  • 支持强大的多智能体工作流程

这是自动化和人工智能驱动生产力方面的一项重大突破。

5.内置安全防护措施

人工智能最大的问题之一是幻觉和不稳定的输出。Agent SDK 通过提供实时验证和安全检查来解决这一问题。

  • 在 AI 处理请求之前进行输入验证

  • 并行检查以在数据传播之前捕捉到不良数据

  • 提前退出以防止打断工作流程

这意味着人工智能应用将更加可靠和安全,不再有不可预测的 AI 输出——安全防护已内置。

6.跟踪和调试变得简单

调试 AI 工作流程过去一直是一场噩梦。Agent SDK 包含内置跟踪工具,让你可以:

  • 实时监控执行情况

  • 可视化展示 AI agents 和 tools 工具间的交互

  • 快速调试和优化工作流程

你可以清楚地看到 AI 在每一步都在做什么,并快速修复任何问题。这极大地提高了人工智能开发的效率。

7.极其简单易上手

不需要高级 AI 知识就可以开始:一行安装、首个可以工作的AI Agent分钟级搞定、完全开源且面向开发者友好。开发者已经在发布后数小时内构建自动化代理、AI 驱动的工具和研究助手。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐