
图片来自于官方README.md
OpenAI Agents SDK是一个轻量级但功能强大的框架,专为构建多智能体工作流而设计。作为OpenAI之前实验项目Swarm的生产级升级版本,该SDK提供了极少但高效的抽象概念,使开发者能够快速搭建复杂的智能应用。
该SDK的核心理念是:足够简单易学,同时又足够强大实用。它内置了智能体循环、交接机制、安全护栏和全面的追踪功能,让开发者可以专注于应用逻辑而非底层实现。
OpenAI Agents SDK主要包含四个核心概念:
- 智能体(Agents):配备了指令、工具、护栏和交接功能的大语言模型(LLM)
- 交接(Handoffs):允许智能体将控制权转移给其Agent 智能体他智能体处理特定任务
- 护栏(Guardrails):用于输入和输出验证的可配置安全检查
- 追踪(Tracing):内置的智能体运行跟踪功能,便于查看、调试和优化工作流
值得注意的是,这个SDK与任何支持OpenAI聊天补全API格式的模型提供商兼容,不仅限于OpenAI自己的模型。
OpenAI Agents SDK适用于多种场景,包括但不限于:
- 客户服务自动化:创建能够理解查询并提供准确回答的智能客服系统
- 多步骤任务处理:处理需要多个步骤或专业知识的复杂任务
- 信息检索与分析:结合搜索工具和分析能力,提供基于事实的回答
- 专业领域咨询:构建在特定领域(如法律、医疗、财务等)具有专业知识的顾问系统
- 内容创建与编辑:自动化创建和编辑文本、代码或其他内容
1. Hello World示例
这个简单示例展示了如何创建一个基本智能体并运行它。通过指定名称和指令,我们告诉智能体它的角色和行为方式。然后使用方法同步运行智能体并获取结果。
2. 交接(Handoffs)示例
这个示例展示了智能体之间的交接功能。分流智能体(triage_agent)根据输入的语言决定将请求交给西班牙语或英语智能体处理。当收到西班牙语输入时,分流智能体会将请求交给西班牙语智能体处理。
3. 函数工具示例
这个示例展示了如何为智能体添加工具函数。通过使用装饰器,我们可以轻松地将普通Python函数转换为智能体可调用的工具。当用户询问特定城市的天气时,智能体会自动调用相应的工具函数获取信息。
当调用方法时,SDK会运行一个循环直到获得最终输出:
- 调用LLM,使用智能体上的模型、设置和消息历史
- LLM返回响应,可能包含工具调用
- 如果响应包含最终输出,返回并结束循环
- 如果响应包含交接,将智能体切换为新智能体并返回步骤1
- 处理工具调用(如果有)并添加工具响应消息,然后返回步骤1
可以使用参数限制循环执行的次数。
最终输出的确定方式
最终输出是智能体在循环中产生的最后一个结果:
- 如果在智能体上设置了,最终输出是LLM返回该类型数据时的结果(使用结构化输出)
- 如果没有设置(即纯文本响应),则第一个没有工具调用或交接的LLM响应被视为最终输出
1. 护栏(Guardrails)
护栏允许你在用户输入上运行检查和验证,与智能体并行运行。例如,你可以筛选用户输入的相关性或安全性。
这个示例创建了一个数学作业检测护栏,如果用户请求解决数学作业,护栏将触发并阻止请求被处理。
2. 上下文管理
SDK支持两类上下文:
- 本地代码上下文:在工具函数运行、回调等过程中可用的数据和依赖项
- LLM上下文:LLM在生成响应时可见的数据
使用类和其中的属性可以方便地管理本地上下文:
3. 多智能体协调
可以通过两种主要方式协调多个智能体:
- 通过LLM决策:利用LLM的智能进行规划、推理和决策
- 通过代码协调:通过代码确定智能体的流程
常见的代码协调模式包括:
- 使用结构化输出生成格式良好的数据
- 将一个智能体的输出转换为下一个智能体的输入
- 在评估循环中运行智能体
- 并行运行多个智能体
下面是一个完整的智能客服系统示例,包含分流、专业回答和内容安全检查:
这个示例构建了一个智能客服系统,包含分流智能体、账单专家和技术支持。系统还包含内容安全检查护栏,确保用户输入不包含不适当内容。分流智能体根据用户的问题性质将请求转发给适当的专家智能体处理。
OpenAI Agents SDK提供了构建复杂智能体系统所需的基础组件,同时保持了简单易用的设计理念。通过智能体、交接、护栏和追踪这四个核心概念,开发者可以轻松构建从简单到复杂的智能应用。
该SDK的主要优势在于:
- 简单清晰的API:少量抽象概念,易于学习和掌握
- 强大的扩展性:可以自定义各个组件和行为
- 内置追踪:自动记录智能体运行情况,便于调试和优化
- 模型兼容性:支持任何遵循OpenAI API格式的模型提供商
- 生产就绪:设计用于生产环境,不仅限于原型开发
随着人工智能技术的不断发展,智能体框架将在未来发挥越来越重要的作用。OpenAI Agents SDK作为一个轻量级但功能强大的框架,为开发者提供了构建下一代智能应用的工具。
无论是构建客户服务系统、智能助手还是复杂的决策系统,OpenAI Agents SDK都能提供所需的工具和抽象,帮助开发者更快地将想法转化为现实。
- OpenAI Agents SDK 官方文档
- GitHub 仓库
- 示例目录
要开始使用,只需通过pip安装SDK并设置OpenAI API密钥即可开始构建您的第一个智能体系统。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/237237.html原文链接:https://javaforall.net
