AI Agent学习(二):一张架构图说清楚 Agent + ReAct 循环 + Workflow

0 阅读3分钟

写在前面

先提前叠个甲:本人6年前端开发,分享文章仅是我个人心得,就当看个乐呵。可能适合已有几年开发经验转行AI Agent的同学做参考,每个人基础、学习节奏不一样,不唯一、不绝对,大家有不同看法也可以友好交流,不喜勿喷。

第一章 LLM 和 Agent 区别

1.1 一句话区别:LLM 能"说"也能"被约束",Agent 多的是"循环 + 动态工具 + 上下文缓存"

  • LLM 本身:同样可以接收 prompt、加约束(角色 / 格式 / 规则 / few-shot),一次问答出个结果就结束
  • Agent 在 LLM 之上多出的三样东西:
    • 循环:能跑多轮、边想边干,不是一问一答就完
    • 动态调工具:运行时自己决定调哪个 API / 函数,而不是你写死
    • 上下文缓存:把中间结果、记忆塞回上下文,带着历史继续干

image.png

顺带一句:简单、可预测的活千万别请 Agent 来添乱(什么时候该上、什么时候该用固定流程,后面「Workflow 与 Agent 」那章专门聊)

第二章 一张架构图看懂 Agent 项目

image.png

2.1 逐块拆(从左到右、从外到里)

  • 初始化:入口、配置加载
  • 路由分发型智能体:按意图把任务分给不同智能体 / 工具(工具路由)
  • 提示词工程:设定角色、指令、输出格式
  • 工具调用:Function Calling / Tools Calling / MCP
  • RAG 知识库:向量库检索、LlamaIndex、数据块交互
  • 输出约束
    • 提示词约束(规则 / 示例 / 工具返回)
    • 类型·协议约束(C# .NET <T> / Python pydantic / TypeScript zod)
  • 人在回路 HITL:人工干预节点
  • 最终结果输出

2.2 藏在右边的"核心主体"(Agent 本体)

  • 记忆功能(短 / 长期、会话持久化、数据体交互)
  • 消息层 Message(角色、数据体)
  • 前端交互(SSE / WebSocket 流式、错误重试)
  • 流程编排(LangGraph:节点 / 分支 / 循环 / 多智能体协作)
  • 可观测性与监控跟踪(langfuse / langSmith)
  • 安全与权限治理
  • 配置与版本管理

第三章 Agent 的心脏:ReAct 循环

3.1 Thought → Action → Observation,循环到出答案

  • Thought:模型想下一步干啥
  • Action:真去调工具 / 查知识库
  • Observation:拿到返回,再想
  • 直到模型觉得能答了 → 输出最终答案

一个最小例子:让 Agent 查天气

  • 用户:"北京今天适合跑步吗?"
  • Thought:我得查天气 → Action:call_weather(北京) → Observation:晴 26℃ → Thought:适合 → 答案

image.png

3.2 循环的边界与反思(埋钩子)

  • 反思 Reflection:每次 Observation 拿到结果后,先让模型自评一句"这结果对吗?要不要换工具 / 重试 / 补信息?"——这是最简单的自我纠正,也是后面 RAG 3.0、Code Agent 自验证的雏形
  • 最大步数、重复检测:避免"死循环烧钱"
  • 钩子:后面"循环死锁避坑"会展开

第四章 Workflow ↔ Agent 光谱:什么时候该上 Agent

4.1 一半需求根本不用上 Agent(判定 + 提醒)

  • 很多需求:输入固定、步骤固定、结果可预测 → 用 if/else + 模板就够,别硬上 Agent
  • 判定清单(要不要上 Agent):
    • 结果可预测吗?→ 是 → 用 Workflow
    • 需要调外部工具 / 查实时数据吗?→ 否 → 直接 prompt
    • 步骤多且不确定、要自主决策?→ 是 → 上 Agent
  • 别为了用 Agent 而用 Agent:成本、延迟、可控性都更贵更不可控,Agent 是重武器不是螺丝刀

image.png

4.2 光谱三档

    1. 固定 Workflow:纯确定性编排(0 LLM 或极少 LLM)
    1. 半自动:LLM 做部分决策(如分类、抽取),主体还是流程
    1. 自主 Agent:ReAct 循环 + 工具 + 记忆,自己决定怎么干

image.png

小结 + 预告

  • 收束:Agent 不是黑魔法,就是「一张架构图(骨架)+ 一个 ReAct 循环(心脏)+ 一条 Workflow↔Agent 光谱(分寸)」三件套
  • 预告下一篇(系列 ②) :《Agent 的手和脚:工具 / MCP 与 Skills》—— Function Calling 怎么跑、MCP 协议是啥、Skills 怎么让 Agent 渐进加载能力
  • 钩子回收:循环死锁、RAG、编排、驾驭工程,后面逐篇来