跳过内容

OpenAI Agents SDK

The OpenAI Agents SDK 使您能够使用轻量级、易于使用的软件包构建具有代理能力的 AI 应用程序,且抽象程度非常低。它是我们之前关于代理的实验的生产级升级版本,即 Swarm。Agents SDK 具有非常少量的基本组件

  • Agents(代理),即配备指令和工具的 LLM
  • Handoffs(交接),允许代理将特定任务委托给其他代理
  • Guardrails(护栏),用于验证代理的输入和输出
  • Sessions(会话),自动维护跨代理运行的对话历史记录

结合 Python,这些基本组件足以表达工具和代理之间的复杂关系,并允许您构建实际应用程序,而无需陡峭的学习曲线。此外,SDK 带有内置的 tracing(追踪) 功能,可让您可视化和调试代理流程,以及评估它们甚至为您的应用程序微调模型。

为什么使用 Agents SDK

SDK 有两个主要的驱动设计原则

  1. 具有足够的功能使其值得使用,但基本组件足够少,使其易于学习。
  2. 开箱即用,效果很好,但您可以自定义发生的确切情况。

以下是 SDK 的主要功能

  • 代理循环:内置代理循环,处理调用工具、将结果发送到 LLM 以及循环直到 LLM 完成。
  • Python 优先:使用内置语言功能来编排和链接代理,而不是需要学习新的抽象概念。
  • Handoffs:一种强大的功能,用于协调和在多个代理之间委托任务。
  • Guardrails:并行运行输入验证和检查,如果检查失败则提前中断。
  • Sessions:自动会话历史记录管理,跨代理运行,无需手动状态处理。
  • 函数工具:将任何 Python 函数转换为工具,并自动生成模式和由 Pydantic 驱动的验证。
  • Tracing:内置追踪,可让您可视化、调试和监控您的工作流程,以及使用 OpenAI 的评估、微调和知识蒸馏工具套件。

安装

pip install openai-agents

Hello world 示例

from agents import Agent, Runner

agent = Agent(name="Assistant", instructions="You are a helpful assistant")

result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)

# Code within the code,
# Functions calling themselves,
# Infinite loop's dance.

(如果运行此代码,请确保设置 OPENAI_API_KEY 环境变量)

export OPENAI_API_KEY=sk-...