OpenAI Agents SDK Python:轻量级多智能体工作流框架完全指南

【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 【免费下载链接】openai-agents-python 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-python

OpenAI Agents SDK Python是一个轻量级但功能强大的多智能体工作流框架,专为构建复杂的AI应用而设计。这个开源框架支持OpenAI Responses和Chat Completions API,以及100+其他LLM提供商,是开发者构建智能代理系统的终极工具。

🚀 快速入门指南

环境配置与安装

首先确保你的Python环境是3.9或更新版本,然后安装OpenAI Agents SDK包:

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install openai-agents

对于语音支持,安装可选voice组:pip install 'openai-agents[voice]'。对于Redis会话支持,安装可选redis组:pip install 'openai-agents[redis]'

第一个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)

# 代码中的代码,
# 函数调用自身,
# 无限循环的舞蹈。

🎯 核心概念解析

1. 智能体(Agents)

智能体是配置了指令、工具、护栏和交接的LLM。每个智能体都可以独立执行特定任务,并通过协作完成复杂工作流。

2. 交接(Handoffs)

交接是一种专门的工具调用,用于在智能体之间转移控制权。这使得智能体能够将任务委托给专门的子智能体。

3. 护栏(Guardrails)

可配置的安全检查,用于输入和输出验证,确保智能体的行为符合预期和安全标准。

4. 会话(Sessions)

自动跨智能体运行管理对话历史,消除手动处理.to_input_list()的需求。

5. 追踪(Tracing)

内置的智能体运行跟踪功能,允许你查看、调试和优化工作流。

🔧 多智能体工作流实践

智能体交接示例

from agents import Agent, Runner
import asyncio

spanish_agent = Agent(
    name="Spanish agent",
    instructions="You only speak Spanish.",
)

english_agent = Agent(
    name="English agent", 
    instructions="You only speak English",
)

triage_agent = Agent(
    name="Triage agent",
    instructions="Handoff to the appropriate agent based on the language of the request.",
    handoffs=[spanish_agent, english_agent],
)

async def main():
    result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
    print(result.final_output)
    # ¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?

if __name__ == "__main__":
    asyncio.run(main())

函数工具集成

import asyncio
from agents import Agent, Runner, function_tool

@function_tool
def get_weather(city: str) -> str:
    return f"The weather in {city} is sunny."

agent = Agent(
    name="Weather Assistant",
    instructions="You are a helpful weather assistant.",
    tools=[get_weather],
)

async def main():
    result = await Runner.run(agent, input="What's the weather in Tokyo?")
    print(result.final_output)
    # The weather in Tokyo is sunny.

if __name__ == "__main__":
    asyncio.run(main())

📊 会话管理功能

SQLite会话示例

from agents import Agent, Runner, SQLiteSession

# 创建智能体
agent = Agent(
    name="Assistant",
    instructions="Reply very concisely.",
)

# 创建会话实例
session = SQLiteSession("conversation_123")

# 第一轮对话
result = await Runner.run(
    agent,
    "What city is the Golden Gate Bridge in?",
    session=session
)
print(result.final_output)  # "San Francisco"

# 第二轮对话 - 智能体自动记住之前的上下文
result = await Runner.run(
    agent,
    "What state is it in?",
    session=session
)
print(result.final_output)  # "California"

🎪 高级功能特性

智能体循环机制

当调用Runner.run()时,框架会运行一个循环直到获得最终输出:

  1. 调用LLM,使用智能体上的模型和设置,以及消息历史
  2. LLM返回响应,可能包含工具调用
  3. 如果响应有最终输出,返回并结束循环
  4. 如果响应有交接,将智能体设置为新智能体并回到步骤1
  5. 处理工具调用(如果有)并附加工具响应消息,然后回到步骤1

结构化输出支持

框架支持结构化输出,允许智能体生成格式良好的数据,你可以在代码中检查这些数据。这对于分类任务和基于代码的编排特别有用。

🔍 调试与优化

追踪功能

OpenAI Agents SDK自动追踪你的智能体运行,使跟踪和调试智能体行为变得容易。追踪是可扩展的设计,支持自定义跨度和各种外部目的地,包括Logfire、AgentOps、Braintrust、Scorecard和Keywords AI。

💡 最佳实践建议

  1. 投资于好的提示:明确说明可用的工具、如何使用它们以及必须操作的参数
  2. 监控应用并迭代:查看问题所在,并迭代你的提示
  3. 允许智能体内省和改进:例如,在循环中运行它,让它自我批评
  4. 使用专门化的智能体:让每个智能体擅长一项任务,而不是期望一个通用智能体什么都擅长
  5. 投资评估:训练你的智能体改进并更好地完成任务

🚀 部署与扩展

框架支持多种部署选项:

  • Redis会话:用于可扩展的分布式部署
  • 自定义会话实现:你可以实现自己的会话内存
  • Temporal集成:运行持久的长运行工作流,包括人在环任务

OpenAI Agents SDK Python框架为开发者提供了一个强大而灵活的工具集,用于构建下一代AI应用。无论你是构建简单的对话助手还是复杂的多智能体系统,这个框架都能提供所需的工具和功能。

【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 【免费下载链接】openai-agents-python 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-python

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐