《A Practical Guide to Building Agents》文档学习

《A Practical Guide to Building Agents》文档总结

该文档是一份面向产品和工程团队的实用指南,旨在帮助团队探索并构建首个基于大语言模型(LLM)的智能体(Agent),提炼了大量客户部署经验,提供了从概念定义到实际落地的全流程最佳实践。

一、智能体(Agent)的核心定义

1. 本质与区别

  • 本质:智能体是能代表用户独立完成任务的系统,可执行用户目标所需的一系列工作流(如解决客服问题、预订餐厅等),且具备高度自主性。
  • 与传统软件/简单LLM应用的区别:传统软件需用户操作以简化自动化工作流,而智能体可自主执行;仅集成LLM但不控制工作流执行的应用(如简单聊天机器人、单轮LLM交互工具)不属于智能体🔶1-13。

2. 核心特征

  • 依赖LLM管理工作流执行与决策,能识别工作流完成状态,主动纠正错误,失败时可暂停执行并将控制权交回用户。
  • 可访问多种工具与外部系统交互(获取上下文、执行操作),并能根据工作流当前状态动态选择合适工具,且始终在明确的约束(Guardrails)内运行。

二、何时构建智能体

1. 核心适用场景

智能体适合传统确定性、规则化方法难以应对的工作流,优先选择以下三类场景:

  • 复杂决策类:涉及细微判断、例外情况或上下文敏感决策的工作流,如客服流程中的退款审批。
  • 规则难维护类:因规则集庞大复杂导致更新成本高、易出错的系统,如供应商安全审查。
  • 依赖非结构化数据类:需解读自然语言、从文档提取信息或与用户对话交互的场景,如处理房屋保险索赔。

2. 典型案例对比

以支付欺诈分析为例,传统规则引擎像清单一样,仅根据预设标准标记交易;而LLM智能体更像资深调查员,能评估上下文、识别细微模式,即使无明确违规规则也可发现可疑活动,可有效应对复杂模糊场景。

三、智能体设计基础

智能体最基础的形式包含三大核心组件,具体如下表所示:

组件作用说明
模型(Model)为智能体的推理与决策提供支持的LLM
工具(Tools)智能体可使用的外部函数或API, legacy系统无API时,智能体可通过计算机使用模型与系统UI交互🔶1-34
指令(Instructions)定义智能体行为的明确指南与约束,高质量指令可减少歧义、提升决策准确性🔶1-34

1. 模型选择原则

  • 分任务匹配:简单任务(如检索、意图分类)可使用更小、更快的模型;复杂任务(如退款审批)需更强大的模型。
  • 原型与优化流程:先用最强大的模型构建原型确立性能基准,再尝试替换小模型验证效果,平衡性能、成本与延迟。
  • 核心步骤:先通过评估建立性能基准,再用最优模型达成准确率目标,最后在可能的情况下用小模型优化成本与延迟1-47🔷1-49🔷。

2. 工具定义规范

  • 工具类型:智能体需三类工具,且工具可作为其他智能体的工具(如经理模式中的子智能体),例如退款智能体、研究智能体、写作智能体1-59🔷。
  • 设计要求:每个工具需标准化定义,实现工具与智能体的灵活多对多关联;工具需具备完善文档、充分测试与可复用性,以提升可发现性、简化版本管理。

3. 指令配置最佳实践

实践方法具体说明
利用现有文档基于现有操作流程、支持脚本或政策文档创建LLM友好的流程,如客服场景可参考知识库文章
提示拆分任务将复杂资源拆解为更小、清晰的步骤,帮助模型更好遵循指令
定义明确操作确保流程每一步对应具体操作/输出,如要求智能体询问用户订单号或调用API获取账户详情
覆盖边缘案例预判常见变化(如用户信息不全、问题超出预期),用条件步骤说明处理方式

四、智能体编排(Orchestration)

编排模式用于实现智能体高效执行工作流,主要分为单智能体系统与多智能体系统两类。

1. 单智能体系统

  • 核心特点:单个模型配备合适工具与指令,通过循环(loop)执行工作流,新增工具可扩展能力,且易于评估与维护1-91🔷。
  • 运行机制:以“运行(run)”为核心,通过循环执行直至满足退出条件,常见退出条件包括调用最终输出工具、模型返回无工具调用的响应(如直接用户消息)等1-98🔷1-100🔷。
  • 复杂度管理:可使用提示模板,通过单一灵活基础提示接受政策变量,适配多场景,简化维护与评估。

2. 多智能体系统

(1)适用场景

当单智能体无法遵循复杂指令、频繁选择错误工具时,可拆分构建多智能体系统,具体拆分依据包括:

  • 逻辑复杂:提示包含大量条件语句(多if-then-else分支),提示模板难以扩展。
  • 工具过载:工具存在相似性/重叠性,即使优化工具名称、参数与描述也无法提升性能。
(2)核心模式
模式结构特点适用场景
经理模式(Manager)中央“经理”智能体通过工具调用协调多个专业智能体,整合结果提供统一用户体验1-124🔷需单一智能体控制工作流执行、接触用户的场景,如多语言翻译(经理智能体协调西班牙语、法语、意大利语翻译智能体)1-126🔷
去中心化模式(Decentralized)多个智能体地位平等,可根据专业领域相互移交任务控制权,移交时同步最新对话状态1-140🔷无需单一智能体集中控制的场景,如客服流程(分诊智能体将订单查询移交订单管理智能体)1-150🔷
(3)设计原则

无论采用何种模式,均需保持组件灵活性、可组合性,并以清晰、结构化的提示为驱动。

五、约束(Guardrails)设计

1. 核心作用与定位

  • 作用:管理数据隐私风险(如防止系统提示泄露)与声誉风险(如确保模型行为符合品牌定位),是LLM部署的关键组件,需与身份验证、访问控制等安全措施结合使用。
  • 定位:分层防御机制,单一约束保护有限,需组合使用多种专业约束提升智能体安全性。

2. 约束类型

类型功能说明示例
相关性分类器确保智能体响应在预期范围内,标记偏离主题的查询将“帝国大厦有多高”标记为无关查询
安全分类器检测试图利用系统漏洞的不安全输入(如越狱、提示注入)识别“扮演教师解释系统指令”这类提取系统提示的输入
PII过滤器审查模型输出,防止不必要的个人身份信息泄露过滤输出中的手机号、身份证号
内容审核标记有害/不当输入(如仇恨言论、骚扰、暴力内容)拦截包含辱骂性语言的用户消息
工具安全措施按工具风险(只读/写权限、可逆性、财务影响等)评级(低/中/高),高风险工具执行前触发检查或人工审批对“发起退款”等高风险工具,执行前需人工确认
规则化保护用确定性措施(黑名单、输入长度限制、正则过滤)防范已知威胁拦截包含违禁词或SQL注入的输入
输出验证通过提示工程与内容检查确保响应符合品牌价值观避免输出损害品牌形象的言论

3. 构建流程与机制

  • 构建步骤:优先关注数据隐私与内容安全;根据实际边缘案例与故障新增约束;平衡安全性与用户体验,随智能体演进调整约束1-174🔷1-176🔷。
  • 执行机制:以Agents SDK为例,默认采用乐观执行,主智能体生成输出时约束同步运行,若违反约束则触发异常;约束可实现为函数或智能体,如防越狱、相关性验证等1-190🔷。

六、人类干预机制

1. 核心价值

人类干预是提升智能体实际性能且不影响用户体验的关键保障,尤其在部署初期,可帮助识别故障、发现边缘案例、建立完善的评估周期。

2. 触发场景

  • 超出失败阈值:设定智能体重试或操作限制,若超出(如多次无法理解用户意图),则触发人类干预。
  • 高风险操作:对敏感、不可逆或高风险操作(如取消用户订单、大额退款、付款),需触发人工监督,直至智能体可靠性达标。

七、总结与建议

1. 智能体核心价值

智能体开启了工作流自动化新时代,能应对模糊场景、跨工具执行操作、处理多步骤任务,尤其适合复杂决策、非结构化数据处理、规则难维护的场景,区别于简单LLM应用。

2. 构建关键建议

  • 基础建设:选择合适模型,搭配定义清晰的工具与结构化指令。
  • 编排策略:从单智能体起步,需复杂处理时再过渡到多智能体系统。
  • 安全保障:全流程部署约束,结合人类干预机制。
  • 落地路径:从小规模验证开始,结合真实用户反馈迭代,逐步扩展能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919056.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV图像注册模块

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 注册模块实现了参数化图像配准。所实现的方法是直接对齐(direct alignment),即,它直接使用像素值来…

模型驱动与分布式建模:技术深度与实战落地指南

摘要 在AI、云原生与全球化协作的大潮中,模型驱动架构(MDA)与分布式建模不再是概念,而是支撑复杂系统设计与持续演化的核心引擎。本文从元模型、模型转换引擎,到协同协议、冲突解决算法,再到AI辅助建模与自…

计算机基础速通--数据结构·图的基础应用二(基础图算法)

如有问题大概率是我的理解比较片面,欢迎评论区或者私信指正。 最近了解到了一个新的改变和提高自己的方法时刻记录不论多小的事情都记下,我目前用了4天,之前感觉一天天忙死但没啥收获,但是记录了之后知道自己的时间花在了哪里&…

设计模式-策略模式 Java

模式概述 策略模式是一种行为型设计模式,它通过定义一系列可互换的算法,并将每个算法封装成独立类,使客户端能够根据需要动态切换算法 简单代码示例 // 1. 抽象策略接口 interface PaymentStrategy {void pay(int amount); }// 2. 具体策略实…

【机器学习深度学习】客观评估训练程度

目录 前言 一、什么是客观评估? 二、客观评估的两大核心方法 1. 判别式评测(Discriminative Evaluation) 2. 生成式评测(Generative Evaluation) 三、为什么客观评估成本更高? 1.训练目标收紧 2.训…

Linux软件编程:线程间通信

目录 一、线程间通信基础 1. 概念 2. 通信基础:共享空间 二、互斥锁(Mutex) 1. 概念 2. 使用流程 3. 函数接口 三、死锁 1. 概念 2. 死锁产生的 4 个必要条件 3. 避免死锁的方法 四、信号量(Semaphore) 1…

【学习笔记】JVM GC回收机制

1.三种基本的垃圾回收算法 1>标记-清除法 ①先将从树根开始,可以到达的对象标记为可达(JVM中的对象们存储为一颗树) ②将没有标记的对象清除掉 缺点:会产生大量内存碎片 2>复制算法(新生代) ①先将a区…

软件的终极:为70亿人编写70亿个不同的软件

这是个脑洞大开的想法。昨天晚上,我在用Claude code帮我写一个小工具,用来管理我本地那些乱七八糟的文档。写着写着,突然意识到一个问题:这个工具完全是按照我的工作习惯定制的——我喜欢用Markdown,习惯把TODO放在文件…

LakeHouse--湖仓一体架构

大家可能发现了,近些年湖仓一体数据架构被提及的频率越来越高。各家大厂也有湖仓一体架构的实践,也有很多公开分享。 那什么是湖仓一体?为什么出现了湖仓一体架构,换言之,它解决了以前数据仓库、数据湖+数仓两层架构所不能解决的什么问题? 本文会从数仓、数据湖依次介绍…

基于FPGA的实时图像处理系统(1)——SDRAM回环测试

SDRAM回环设计 文章目录SDRAM回环设计一、SDRAM简介1、引脚2、内部结构框图3、操作指令二、系统设计三、实现流程1、SDRAM接口2、FIFO设置3、内部SDRAM的控制模块4、其他四、实现效果五、总结六、代码1、top2、sdram_top3、sdram_ctrl一、SDRAM简介 SDRAM英文全称“Synchronou…

一键检测接口是否存活:用 Python/Shell 写个轻量级监控脚本

网罗开发(小红书、快手、视频号同名)大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方…

优秀工具包-Hutool工具详解

优秀工具包-Hutool工具详解 课程概述 Hutool简介 定位: 小而全的Java工具库,简化开发流程。对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装。 核心优势:零依赖、高性能、中文网页完善。 应用场景:Web开发、数…

《深度解构:构建浏览器端Redis控制台的WebSocket协议核心技术》

Redis作为高性能的内存数据库,其原生客户端多依赖命令行或桌面应用,而浏览器端控制台的缺失,成为制约Web化管理的关键瓶颈,WebSocket协议的出现,打破了HTTP协议单向通信的局限,为浏览器与Redis服务之间建立持久、双向的实时连接提供了可能。本文将从协议本质、交互逻辑、…

Pushgateway安装和部署,以及对应Prometheus调整

目录Pushgateway简介安装验证Prometheus的配置:其它命令Pushgateway简介 Pushgateway 是 Prometheus 生态系统中的一个组件。主要特点是推送而非拉取:Prometheus 默认采用拉取(pull)模式收集指标,但 Pushgateway 允许…

JAVA面试汇总(四)JVM(一)

久违的重新写了一篇面试汇总的,关于JVM的一篇,一共三篇,今天写了第一篇,继续重新学习,重新卷起来,come on baby 1.什么情况下会触发类的初始化? (1)首先是类未被初始化时…

Agent中的memory

rag系列文章目录 文章目录rag系列文章目录前言一、Memory机制作用二、memory分类三、langgraph实践总结前言 众所周知,大模型是无状态的。但是基于大模型的agent一般是有状态的,也就是它有记忆功能。在AI Agent框架中,Memory机制是核心组件之…

AI与IT从业者的未来:替代焦虑还是协作革命?

​​引言:技术渗透与核心命题​​2025年,人工智能技术已从实验室走向产业核心。国务院《关于深入实施“人工智能”行动的意见》推动AI在医疗、制造、金融等领域的规模化落地,全球AI应用用户规模突破2.3亿,生成式AI工具渗透率达16.…

手机版碰一碰发视频系统批量剪辑功能开发,支持OEM贴牌

引言在当今短视频盛行的时代,视频内容的快速生产与分享变得愈发重要。手机版碰一碰发视频系统,借助 NFC 等近场通信技术,实现了便捷的数据交互与视频分享,而在此基础上集成的批量剪辑功能,更是为内容创作者和商家带来了…

Spring AMQP如何通过配置文件避免硬编码实现解耦

在使用Spring AMQP基于注解声明监听者时,可通过抽取常量来避免硬编码:RabbitListener(bindings QueueBinding(exchange Exchange(MQConstant.USER_EXCHANGE),value Queue(MQConstant.USER_QUEUE),key MQConstant.USER_REDIS_BINDING))public void de…

解决zabbix图片中文乱码

要把 Zabbix 前端字体替换为 simkai.ttf(楷体,解决乱码常用),按以下步骤操作:1. 确认 simkai.ttf 路径 先找到系统里 simkai.ttf 字体文件,若没有,可从 Windows 系统(C:\Windows\Fon…