📅 时间: 21:13
🌤️ 天气: 银川 4~17℃ 雾
穿针人在合欢楼,正月露、玉盘高泻。
— 严蕊 · 《鹊桥仙·碧梧初出》
OpenAI:构建智能体(Agents)实用指南
摘要: 大型语言模型(LLM)的发展解锁了能够独立执行多步骤任务的”智能体”(Agents) 本指南由 OpenAI 针对产品和工程团队编写,提炼了从众多客户部署中获取的实用最佳实践 文章详细探讨了智能体的核心定义、适用场景,并提供了涵盖模型选择、工具定义、指令配置的核心设计基础 此外,指南还深入分析了单智能体与多智能体的编排模式,并强调了通过护栏(Guardrails)和人工干预来确保系统安全稳定运行的重要性
什么是智能体?
传统的软件能够让用户简化并自动化工作流,而智能体则能够代表用户以高度的独立性执行这些相同的工作流 简而言之,智能体是能够独立代表您完成任务的系统
工作流是指为了达成用户目标而必须执行的一系列步骤(如解决客服问题、预订餐厅等) 如果一个应用程序集成了 LLM,但并没有使用它来控制工作流的执行,那么它就不能被称为智能体
智能体具备以下核心特征:
01:利用 LLM 来管理工作流的执行并做出决策 它能识别工作流何时完成,主动纠正行为,并在失败时将控制权交还给用户
02:可以访问各种工具与外部系统交互,动态选择合适的工具,且始终在明确定义的护栏内运行
何时应该构建智能体?
智能体非常适合那些传统确定性和基于规则的方法无法胜任的工作流 LLM 智能体的运作方式像是一位经验丰富的调查员,能评估上下文、考虑微妙模式并进行细致的推理
优先考虑以下场景 :
复杂的决策制定:涉及细微判断或上下文敏感决策的工作流(例如退款审批)
难以维护的规则:规则集庞大错综复杂,更新成本高昂(例如供应商安全审查)
严重依赖非结构化数据:涉及解释自然语言或与用户对话互动的场景(例如处理保险索赔)
智能体设计基础
智能体由三个核心组件构成 :
模型:驱动智能体推理和决策的 LLM
工具:智能体可以用来采取行动的外部函数或 API
指令:定义智能体行为方式的明确准则和护栏
选择模型
设置评估机制以建立性能基准
专注于使用现有最佳模型达到您的准确率目标
尽可能用较小的模型替换较大的模型,以优化成本和延迟
- 定义工具
工具通过使用底层应用程序或系统的 API 来扩展智能体的能力 智能体需要三种类型的工具:
数据:检索执行工作流所需的上下文和信息
行动:与系统交互以采取行动(如发邮件、更新记录)
编排:智能体本身也可以作为其他智能体的工具
- 配置指令
清晰的指令可以减少歧义并改善智能体的决策
使用现有文档:利用现有操作程序或政策文档创建例程
提示智能体分解任务:提供更小、更清晰的步骤
定义清晰的行动:确保每一步对应一个特定的行动或输出
捕捉边缘情况:预测常见变化并包含条件步骤
编排
编排模式主要分为两类 :
单智能体系统
单个智能体可以通过增量添加工具来处理许多任务,从而保持可控的复杂性 使用提示词模板是一种有效管理复杂性而不切换到多智能体框架的策略 当提示词包含许多条件语句或出现工具过载时,考虑创建多个智能体
多智能体系统
管理者模式:一个中央”管理者”智能体通过工具调用来协调多个专门的智能体,将任务委托给合适的智能体
去中心化模式:多个智能体作为对等方运作,根据各自的专长相互”交接”任务
护栏与安全
设计良好的护栏可以帮助管理数据隐私风险或声誉风险 使用多个专门的护栏可以创建更具弹性的智能体
护栏类型:包括相关性分类器、安全性分类器、PII 过滤器、审核、工具安全防护以及基于规则的保护
人工干预:在超过失败阈值或进行高风险操作时,触发人工监督是至关重要的保障措施
结论
要构建可靠的智能体,请从坚实的基础开始:将功能强大的模型与定义良好的工具和结构清晰的指令相结合 从小处着手,在实际用户中进行验证,随着时间的推移不断提升能力
a-practical-guide-to-building-agents.pdf↗
