当前位置: 首页 > news >正文

Agent 处理流程

Agent 源于研究行为的强化学习,而大模型源于研究知识的深度学习
多数情况下认为 该系统中会存在下面的角色或名词

  • 用户(另一个人)
  • 上下文(记忆)
  • 变量(记忆)
  • 提示词(沟通方式)
  • 工具(手臂)
  • 大模型(大脑)

这个图将着重表现 Agent 的决策循环,这是其与普通 RAG 流程最主要的区别。


Agent 核心工作流示意图

用户 👩💻 提示词 ✏️ Agent 🤖 大模型 🧠 上下文 🗂️ 变量 %% 工具 🛠️ 用户交互层 AI核心层 数据层 工具层 📩 发送请求 用户输入原始指令 🏗️ 结构化请求 🔍 查询历史 📊 获取变量 🔄 返回数据 🚀 发送完整请求 ✨ 生成响应 ⚙️ 调用工具 ✅ 返回结果 🔄 更新变量 alt [需要工具调用 🔧] 💾 保存会话 🎉 呈现结果 <b style='color: <b style='color: <b style='color: 用户 👩💻 提示词 ✏️ Agent 🤖 大模型 🧠 上下文 🗂️ 变量 %% 工具 🛠️

各组成部分如何协同处理并组成一个完整的 Agent

Agent 的核心在于其“思考-行动”循环 (Thought-Action Loop),这使得它能够执行多步骤的任务,而不仅仅是单次问答。

  1. 用户 (User):

    • 角色: Agent 任务的启动者,提出问题或需求。
    • 协作方式: 通过自然语言向 Agent 发送请求。
  2. Agent 启动:

    • 角色: 接收用户请求,并将其初始化为 Agent 能够处理的内部状态。
    • 协作方式: 接收用户输入,并与预定义的“初始提示词模板”结合,形成第一次给大模型的输入。
  3. 提示词 (Prompt Templates):

    • 角色: 指导大模型行为的“指令书”。包含:
      • 系统指令: 定义 Agent 的角色、目标、限制。
      • 工具描述: 告诉大模型有哪些工具可用,每个工具的功能和输入输出格式。
      • 思考框架: 指导大模型如何进行思维链 (CoT) 推理(例如,要求它先思考,再决定行动,再输出结果)。
    • 协作方式: 作为大模型输入的一部分,预先定义了大模型在处理任务时的“规则”和“可选项”。它塑造了大模型的“人格”和“能力边界”。
  4. 上下文 (Context) / 记忆:

    • 角色: 存储 Agent 的历史对话、检索到的信息、之前步骤的中间结果等。这是 Agent 的“短期”和“长期”记忆。
    • 协作方式:
      • 输入给大模型: 在每次循环中,大模型会参考上下文来理解当前任务的进展、用户之前的意图以及过去的行动。
      • 被更新: 当工具执行后,其输出结果会被添加到上下文或更新相关变量,供下一次循环的大模型参考。这使得 Agent 能够进行多轮交互或多步骤推理。
  5. 变量 (Variables):

    • 角色: 存储任务执行过程中产生的临时数据或特定状态信息,例如某个查询结果、计算中间值等。
    • 协作方式: 类似于上下文,但通常更侧重于结构化的、临时的、用于具体计算或逻辑判断的数据,大模型会读取和写入这些变量。
  6. 大模型 (LLM):

    • 角色: Agent 的“大脑”或“决策引擎”。它负责:
      • 理解任务: 解析用户输入和当前上下文。
      • 思考与推理: 根据提示词的指令,分析当前状态,规划下一步行动。
      • 工具选择: 判断是否需要使用工具,并根据工具描述选择合适的工具。
      • 工具输入构建: 根据任务需求,为选定的工具生成正确的输入参数。
      • 答案生成: 当任务完成或无需工具时,生成最终答案。
      • 中间思考: 输出自己的思考过程 (Thought),这对于调试和理解 Agent 行为非常有用。
    • 协作方式:
      • 接收: 接收用户输入、提示词、上下文和变量。
      • 输出: 输出决策(使用哪个工具,工具的参数)、中间思考过程或最终答案。
  7. 工具 (Tools):

    • 角色: Agent 的“手臂”或“执行器”。它们是预定义的功能模块,用于执行大模型自身无法直接完成的任务,例如:
      • 检索工具: 执行 RAG 过程,从知识库中检索信息。
      • 代码解释器: 执行 Python 代码进行复杂计算、数据分析。
      • 网络搜索: 获取最新信息。
      • API 调用: 与外部服务交互(如日历、邮件、数据库)。
    • 协作方式: 接收大模型生成的工具输入,执行特定操作,并将操作结果返回给 Agent(通常更新上下文和变量)。
  8. 输出 (Output):

    • 角色: Agent 任务执行完成后,向用户呈现的最终答案或结果。
    • 协作方式: 大模型在决定直接回答后,将其生成的答案通过用户界面呈现给用户。

整体工作流程概述:

  1. 用户提出任务。
  2. Agent 启动: 将用户输入与预设的“提示词模板”结合,并结合当前的“上下文”和“变量”,形成一个完整的输入发送给大模型
  3. 大模型思考与决策 (循环):
    • 大模型接收输入后,根据其内置的逻辑和提示词的指导,进行“思考”。
    • 它会判断完成当前任务是需要继续使用工具来获取更多信息/执行操作,还是已经可以直接生成最终答案
    • 如果需要工具: 大模型会根据任务需求和对工具的描述,选择合适的工具,并生成执行该工具所需的输入参数。这些参数通常会从上下文或变量中提取。
    • 工具执行: 选定的工具被调用,执行其功能。
    • 结果反馈: 工具执行的结果会返回给 Agent,并被用来更新“上下文”和“变量”。
    • 循环: Agent 将更新后的“上下文”、“变量”以及工具执行结果再次反馈给大模型,大模型继续进行新一轮的“思考-行动”循环,直到任务完成。
    • 如果直接回答: 当大模型判断任务已完成,或无需额外工具即可回答时,它会生成最终的答案。
  4. 用户输出: 最终答案被呈现给用户

这个循环使得 Agent 具备了“自我规划”和“动态执行”的能力,能够处理比单一 LLM 问答更复杂的、多步骤的开放式任务。
注意:规划和执行是 Agent最为核心的能力

相关文章:

  • Arduino学习-红外感应
  • 基于通义灵码2.5的智能天气预警系统开发全记录
  • SQL注入部分理论入门学习
  • LLM-大模型原理
  • Elasticsearch 批量创建索引实践与优化建议
  • LeetCode - 76. 最小覆盖子串
  • Linux文件权限详解:从入门到精通
  • Deepseek+python - 自动图表生成
  • 自定义表单右侧属性使用v-bind绑定渲染
  • linux环境配置Go运行环境
  • 《Head First》读书笔记
  • 缩小 IEEE 会议论文 LaTeX 模板标题、作者信息和正文的间距
  • (十四)自然语言处理中的深度学习:语言表征、模型架构与计算语言学基础
  • 现代简约单词卡片应用 - 基础版
  • shader实现发亮的粒子 + 透明度渲染可能出现的坑
  • 生益PCB耐高温PCB板材怎么样?
  • 使用清华大学的 Hugging Face 镜像
  • python中的面向对象:继承、封装、多态
  • AFE之MC33772B详解
  • yum降低软件包版本
  • 做网站的zk啥/汕头seo优化培训
  • 织梦网站模板下载/名风seo软件
  • 建设网站的公司的官网/百度收录要多久
  • 怎么用手机做网站教程/重庆网站推广专家
  • 手机端网站关键词排名/南京百度提升优化
  • 火是用什么做的视频网站/怎么注册域名