AI Agent 完整运行详细流程

IT 技术 13 阅读 更新于 2026-10-07 20:52

AI Agent 完整运行详细流程

AI Agent(智能体)核心本质:带记忆、规划、工具调用、反思闭环的大语言模型,不是单纯问答;能感知目标 → 拆解任务 → 调用能力 → 执行 → 校验结果 → 迭代直到任务完成。
经典架构:感知模块 → 记忆模块 → 规划模块 → 动作/工具模块 → 反思评估模块,形成循环。

一、整体总流程(宏观5大阶段)

  1. 任务接收与用户意图解析(感知)
  2. 记忆检索,加载上下文(记忆)
  3. 任务拆解、制定执行计划(规划)
  4. 执行动作:LLM推理 / 调用外部工具(动作)
  5. 结果校验、反思、循环迭代或输出最终答案(反思)

循环:如果结果不满足目标 → 回到规划/工具调用,重新执行;达标则终止,返回结果。


二、逐阶段详细拆解(内部完整步骤)

阶段1:任务接收 + 用户意图解析(感知层)

输入来源:用户Prompt、API事件、系统消息、传感器/业务数据

  1. 原始输入清洗
    • 去除无效字符、过滤噪声,区分用户指令、约束条件、格式要求、禁止事项。
    • 识别输入类型:自然语言、结构化JSON、文件、图片OCR文本等。
  2. 意图识别 & 目标提取
    LLM理解:用户最终目标是什么,附带约束(时间、预算、输出格式、权限限制)。
    > 示例:用户:帮我统计9月订单,排除退款,输出Excel。
    > 目标:统计9月有效订单;约束:剔除退款,输出Excel。
  3. 目标可行性判断
    • 判断任务是否需要外部工具(数据库查询、代码执行、联网搜索、文件读写);
    • 判断是否缺少必要信息 → 主动向用户追问缺失参数。
    • 若任务超出Agent能力范围,直接拒绝并说明原因。

阶段2:记忆模块加载上下文

AI Agent记忆分为三类:短时记忆、长时记忆、实体记忆

  1. 短时记忆(对话上下文窗口)
    本次会话历史,保存在Prompt窗口内,本轮推理直接喂给LLM;有token上限,超长会截断。
  2. 长时记忆(向量数据库)
    历史会话、过往任务、知识库,通过向量相似度检索召回相关历史信息,压缩后加入上下文,突破窗口限制。
  3. 实体记忆
    保存实体信息:用户偏好、业务常量、账号参数、历史结论。

动作:把【用户目标 + 召回记忆 + 系统角色Prompt】合并,组成Agent的上下文Prompt,送入规划模块。

阶段3:规划模块 —— 任务拆解,生成执行计划

规划是Agent最核心能力,区分普通LLM和Agent。常见规划算法:链式思考CoT、思维树ToT、任务分解(Sub-task)、ReAct框架。

  1. 整体目标拆分为多个子任务(子步骤)
    把大任务拆成串行/并行小任务,确定执行顺序、每个子任务的输入输出。
    例:统计订单
    • 子任务1:连接订单数据库
    • 子任务2:筛选9月订单
    • 子任务3:过滤退款记录
    • 子任务4:计算汇总指标
    • 子任务5:生成Excel文件
  2. 子任务能力匹配
    对每个子任务判断:
    • 仅LLM推理就能完成?
    • 需要调用外部工具(搜索、SQL、Python代码、API)?
  3. 规划校验
    检查计划是否存在逻辑冲突、缺少参数、权限不足;如果计划不可行,重新调整或者询问用户。

✅ 输出产物:执行计划(Task List),包含子任务列表、依赖关系、每个步骤预期结果。

阶段4:动作执行模块(LLM推理 + 工具调用)

主流框架:ReAct(Reason+Act,思考一步,行动一步),不是一次性跑完所有计划。
循环执行单个子任务:

  1. 根据当前子任务,生成Action(动作指令)
    Agent思考:当前这一步要做什么,构造工具调用参数(function call)。
    工具类型举例:
    • 搜索工具:联网查询实时信息
    • Code Interpreter:运行Python、数据处理
    • SQL工具:查询数据库
    • 文件工具:读写文档、PDF解析
    • API调用:调用第三方业务接口
  2. 工具调度器执行调用
    • 参数校验:检查工具入参格式、类型是否合法;
    • 发起工具请求,等待外部返回结果;
    • 捕获异常:网络超时、接口报错、权限错误。
  3. 工具返回结果格式化
    将工具原始返回(JSON、日志、表格)整理成自然语言/结构化文本,写入当前上下文。

两种分支:
① 子任务可以LLM直接推理完成 → LLM生成文本结果,不调用工具;
② 必须外部能力 → function call调用工具,拿到返回数据。

阶段5:反思 & 评估模块(Self-Reflection,闭环)

拿到子任务执行结果之后,Agent做自检,这是闭环关键。

  1. 结果校验
    对照【子任务目标】检查:本次输出是否满足预期?数据是否完整?有没有错误?
    校验维度:完整性、正确性、格式、是否符合约束条件。
  2. 反思推理(Self-critique)
    LLM自我批评:
    • 本次结果有没有漏洞?
    • 是否缺少信息?工具调用参数是否选错?
    • 有没有更好执行路径?
  3. 分支判断(最重要的分支)
    • ✅ 子任务完成:保存结果,进入下一个子任务;
    • ❌ 结果错误/不足:
    • 方案A:修正参数,重新调用工具;
    • 方案B:修改执行计划,重新拆解任务;
    • 方案C:信息不足,向用户提问获取更多信息;
    • 🚫 任务失败:终止,返回失败原因。
  4. 全部子任务完成 → 汇总最终结果
    合并所有子任务输出,按照用户要求格式整理、润色。
  5. 记忆写入
    将本次任务关键结论、重要信息写入长时向量库,供后续Agent会话召回。

阶段6:输出交付,任务结束

把最终答案返回用户,附带引用来源、说明备注;

任务结束标记:Agent判定整体目标已经达成,终止循环。


三、经典ReAct框架 最简运行示例(直观感受)

ReAct = Thought(思考) → Action(动作) → Observation(观察工具返回) → Loop

用户提问:2026年国内新能源汽车销量前三名是哪些?

  1. Thought:我没有实时最新数据,需要联网搜索。
  2. Action:调用搜索工具,query="2026国内新能源汽车销量排名"
  3. Observation:搜索返回对应数据。
  4. Thought:拿到数据,整理前三名,核对来源。
  5. Action:不需要工具了,整理答案。
  6. Observation:结果满足用户需求。
  7. Finish:输出答案。

四、Agent内部关键组件清单

模块作用
LLM核心大脑意图理解、任务规划、反思、文本生成
记忆系统短时上下文窗口 + 向量库长时记忆
工具/Function Call外部能力扩展:搜索、代码、数据库、API
规划器Planner任务拆解,生成执行步骤
反思器Reflector校验结果,发现错误,迭代修正
调度器控制任务流转、循环、异常捕获
安全/权限模块校验工具调用权限,防止越界、有害指令

五、Agent运行中的常见终止条件

  1. 所有子任务全部完成,目标达成(正常结束)
  2. Agent判定任务无法完成(缺少信息、无可用工具)
  3. 达到最大迭代轮次限制(防止无限死循环)
  4. Token耗尽、系统超时、安全拦截触发
  5. 用户主动终止任务

六、简易流程图文本版

用户输入
    ↓
意图解析 + 可行性判断 →【信息缺失?→ 询问用户】
    ↓
记忆检索(召回历史信息)
    ↓
规划器:拆解任务,生成执行计划
    ↓
循环(逐个子任务执行)
    ├─ Thought:思考当前步骤怎么做
    ├─ Action:LLM推理 / FunctionCall调用工具
    ├─ Observation:获取工具返回结果
    └─ Reflect:评估结果是否达标
        ├─不达标 → 修改计划/重试工具/询问用户,回到循环
        └─达标 → 保存结果,执行下一个子任务
    ↓
全部子任务完成 → 汇总结果
    ↓
写入长时记忆
    ↓
输出最终答案给用户

七、补充:多Agent运行流程(扩展)

多Agent系统:多个Agent分工协作(规划Agent、工具Agent、校验Agent、写作Agent)

  1. 主Agent(调度Agent)接收总任务,拆分并分配子任务给子Agent
  2. 各个子Agent独立执行自己的流程
  3. 子Agent返回结果给主Agent
  4. 主Agent汇总、校验冲突信息,协调修正
  5. 主Agent输出最终结果

如果你需要,我可以进一步输出:

  1. 可直接导入Obsidian的Markdown版本;
  2. Python伪代码实现这个完整Agent流程;
  3. 对比 ReAct / ToT / AutoGPT / Plan-and-Solve 不同Agent范式差异;
  4. 绘制Mermaid流程图。
← 返回IT 技术 yicool 百科 · AI Agent 完整运行详细流程

评论 0