update 7.4 agent

This commit is contained in:
KMnO4-zx
2025-04-24 22:51:52 +08:00
parent 81bc97f434
commit b034735b42
2 changed files with 28 additions and 23 deletions

View File

@@ -2,38 +2,43 @@
## 7.4.1 什么是 LLM Agent
LLM Agent即基于大型语言模型LLM构建的智能代理是一种能够自主进行推理、规划、行动并与环境交互的 AI 系统. 与传统的聊天机器人不同LLM Agent 具备独立决策能力,能够利用各种工具,记住之前的交互信息,并执行复杂的任务流程,而这一切只需要最少的人工干预. 这种自主性使得 LLM Agent 非常适合处理需要多步骤推理和规划、与 API 和工具进行实时交互、感知环境变化并做出适应以及在不确定性下自主执行的任务。
简单来说大模型Agent是一个以LLM为核心“大脑”并赋予其自主规划、记忆和使用工具能力的系统。 它不再仅仅是被动地响应用户的提示Prompt而是能够
例如,当用户提出“在中国合同违约可能有哪些法律后果?”这样的问题时,一个 LLM Agent 可以自主地完成以下步骤:搜索法律数据库,提取相关信息,总结案例,并最终呈现潜在的法律结果,而无需人工的逐步指导
1. 理解目标Goal Understanding 接收一个相对复杂或高层次的目标(例如,“帮我规划一个周末去北京的旅游行程并预订机票酒店”)
2. 自主规划Planning 将大目标分解成一系列可执行的小步骤例如“搜索北京景点”、“查询天气”、“比较机票价格”、“查找合适的酒店”、“调用预订API”等
3. 记忆Memory 拥有短期记忆(记住当前任务的上下文)和长期记忆(从过去的交互或外部知识库中学习和检索信息)。
4. 工具使用Tool Use 调用外部API、插件或代码执行环境来获取信息如搜索引擎、数据库、执行操作如发送邮件、预订服务或进行计算。
5. 反思与迭代Reflection & Iteration 在更高级的Agent中能够评估自己的行为和结果从中学习并调整后续计划。
LLM Agent 的核心在于其能够像人类一样进行“链式思考”推理,理解问题解决的原理,并将复杂的任务分解为更小、更简单的步骤. 这种能力是通过提示模型逐步思考来实现的,并且可以通过让模型回顾自身过去的行动并纠正错误来进行改进
传统的LLM像一个知识渊博但只能纸上谈兵的图书馆员而 LLM Agent 则更像一个全能的私人助理,不仅懂得多,还能跑腿办事,甚至能主动思考最优方案
一个设计完善的 LLM Agent 通常由四个关键模块组成:
- 大脑(核心 LLM: 作为中央决策者,负责执行推理、规划和语言生成。 
- 记忆: 用于存储和检索信息的模块,帮助 Agent 记住之前的交互和决策。
- 感知: 将输入(文本、图像、音频)转换为可理解的格式,使 Agent 能够观察和解释环境。  
- 行动: 通过调用 API、与工具交互或生成文本/代码来执行决策,有时也包括具身行动(例如,在机器人具身只能技术中)
![Agent 工作原理](./images/7-4-Agent工作原理.png)
LLM Agent 通过将大型语言模型的强大语言理解和生成能力与规划、记忆和工具使用等关键模块相结合,实现了超越传统大模型的自主性和复杂任务处理能力,这种能力使得 LLM Agent 在许多垂直领域(如法律、医疗、金融等)都具有广泛的应用潜力。
## 7.4.2 LLM Agent 的类型
LLM Agent 可以根据其功能、设计和应用场景进行多种分类. 以下是一些常见的类型
虽然LLM Agent的概念还在快速发展中,但根据其设计理念和能力侧重,我们可以大致将其分为几类
- 对话型 Agent (Conversational Agents): 这些 Agent 旨在与用户进行自然的对话,提供信息、回答问题并协助完成各种任务。它们依赖 LLM 来理解和生成类似人类的响应,例如客户支持聊天机器人和医疗保健聊天机器人.
 
- 任务型 Agent (Task-Oriented Agents): 这些 Agent 专注于执行特定的任务或实现预定义的目标。它们与用户交互以理解需求,然后执行操作以满足这些需求,例如 AI 助手和 HR 机器人. 任务型 Agent 能够分解复杂的目标,制定行动计划,并利用工具来完成任务. 它们通常用于自动化重复性工作流程,提高生产力.  
任务导向型AgentTask-Oriented Agents
- 特点: 专注于完成特定领域的、定义明确的任务,例如客户服务、代码生成、数据分析等。
- 工作方式: 通常有预设的流程和可调用的特定工具集。LLM主要负责理解用户意图、填充任务槽位、生成回应或调用合适- 的工具。
- 例子: 专门用于预订餐厅的聊天机器人、辅助编程的代码助手如GitHub Copilot在某些高级功能上体现了Agent特性
- 创造型 Agent (Creative Agents): 这些 Agent 能够生成原创和创造性的内容,如艺术品、音乐或写作。它们使用 LLM 来理解人类的偏好和艺术风格,从而产生能引起受众共鸣的内容,例如内容生成工具和图像生成工具.
 
- 协作型 Agent (Collaborative Agents): 这些 Agent 与人类或其他 AI 协同工作以完成共同的目标或任务促进团队成员之间或人机之间的沟通、协调与合作。LLM 可以通过协助决策、生成报告或提供见解来支持协作型 Agent例如企业 AI Agent 和项目管理聊天机器人.  
规划与推理型AgentPlanning & Reasoning Agents
- 特点: 强调自主分解复杂任务、制定多步计划,并根据环境反馈进行调整的能力。它们通常需要更强的推理能力。
- 工作方式: 常采用特定的思维框架如ReAct (Reason+Act)让模型先进行“思考”Reasoning分析当前情况和所需行动然后执行“行动”Action调用工具再根据工具返回结果进行下一轮思考。Chain-of-Thought (CoT) 等提示工程技术也是其推理的基础。
- 例子: 需要整合网络搜索、计算器、数据库查询等多种工具来回答复杂问题的研究型Agent或者能够自主完成“写一篇关于XX主题的报告并配上相关数据图表”这类任务的Agent。
- 多模态 Agent (Multimodal Agents): 这些 Agent 不仅限于文本,还可以处理和生成各种格式的内容,包括音频、图像和视频。这种能力实现了更丰富和更具沉浸感的交互,例如能够解释视觉数据或根据文本描述生成图像的虚拟助手.
 
- 自主型 Agent (Autonomous Agents): 这些 Agent 被设计为以最少的人工干预运行,能够独立做出决策并执行操作。它们通常用于需要持续运行的环境中,例如处理重复性业务流程的机器人流程自动化机器人.  
- 多 Agent 系统 (Multi-Agent Systems): 这些系统涉及多个 LLM Agent 协同工作,通过利用各种专业 Agent 的优势来处理复杂的任务。它们相互通信和协调以实现共同目标,例如一个 Agent 收集数据,另一个分析数据,第三个根据分析生成报告.  
- 规则型 Agent (Rule-Based Agents): 这些 Agent 基于预定义的算法和严格的协议运行。它们遵循确定性原则,即某些输入会导致基于既定规则的特定响应。这些 Agent 在需要一致输出的情况下非常有效,例如客户支持或故障排除指南。然而,规则型 Agent 缺乏灵活性,难以处理超出其编程规则的情况.  
Agent系统(Multi-Agent Systems
- 特点: 由多个具有不同角色或能力的Agent协同工作共同完成一个更宏大的目标。
- 工作方式: Agent之间可以进行通信、协作、辩论甚至竞争。例如一个Agent负责规划一个负责执行一个负责审查。
- 例子: 模拟软件开发团队产品经理Agent、程序员Agent、测试员Agent来自动生成和测试代码模拟一个公司组织结构来完成商业策划。AutoGen、ChatDev等框架支持这类系统的构建。
探索与学习型AgentExploration & Learning Agents
- 特点: 这类Agent不仅执行任务还能在与环境的交互中主动学习新知识、新技能或优化自身策略类似于强化学习中的Agent概念。
- 工作方式: 可能包含更复杂的记忆和反思机制,能够根据成功或失败的经验调整未来的规划和行动。
- 例子: 能在未知软件环境中自主探索学习如何操作的Agent或者在玩游戏时不断提升策略的Agent。
## 7.4.3 动手构造一个 Tiny-Agent

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 KiB