从LLM到Agent的进化之路
"帮我查下北京明天的天气"
"帮我规划周末北京出行,考虑天气和交通"
模型能力
编排模式
工具与外部数据
决定了Agent的理解力、推理力、表达力上限
准确理解用户意图,包括模糊、复杂的指令
逻辑分析、任务拆解、做出判断 — 这是Agent能"自主思考"的关键
输出自然语言、代码、结构化数据(如JSON)等
使用强模型(如 Claude Opus)— 能力强,成本高
使用轻量模型(如 Haiku)— 速度快,成本低
从简单到复杂,逐步构建Agent的"思维方式"
一个Agent怎么思考 — Think→Act / Reflect / Plan&Execute
多个Agent怎么配合 — 工作流/路由/生成校验/角色扮演/层级/黑板/群聊
可配置可扩展的编排框架 — LangGraph / Dify / Coze / CrewAI
最基础的模式:思考 → 行动 → 观察 → 再思考,循环往复直到完成
像工程师排查bug — 分析原因,试方案,看结果,再调整
信息检索、问题诊断、对话助手
在ReAct基础上增加"自我反思" — 执行后反思"做得对不对?有没有更好的方式?"
像有code review习惯的工程师 — 写完先自己review,发现问题再改
代码生成(写→检查→改)、内容创作、多约束决策
先制定完整计划,再逐步执行 — 像项目经理先制定WBS,再逐步交付
Planner:负责拆解任务、制定步骤
Executor:负责执行每个具体步骤
数据处理流水线、多步骤报告生成、项目管理等目标明确的复杂任务
| 维度 | Think→Act | Think→Reflect→Act | Plan & Execute |
|---|---|---|---|
| 一句话 | 边想边做 | 边想边做,还会复盘 | 先想后做 |
| 思维方式 | 线性循环 | 带自我评价的循环 | 先规划,再逐步执行 |
| 适合场景 | 简单探索性任务 | 对质量要求高的任务 | 目标明确的复杂任务 |
| 优势 | 简单灵活 | 输出质量高、能自纠 | 全局规划、可追踪 |
| 成本 | 低 | 中(多一轮反思) | 中(多一轮规划) |
| 代表产品 | 基础对话助手 | Claude Code 等 | Cursor 等 |
按照预定义的流程,将任务分配给不同的Agent节点 — 像工厂流水线
顺序流水线:A→B→C,每个Agent处理上一个的输出
并行分支:同一输入同时发给多个Agent并行处理
内容生产流水线、数据处理管道、审批流程自动化
一个"入口Agent"根据任务内容,动态路由到最合适的专业Agent — 像医院分诊台
工作流是预定义路径,路由是根据内容动态判断走哪条路
智能客服分流、多领域知识问答、任务分类处理
一个Agent生成,另一个审查,不合格则打回重做 — 像开发与Code Review
反思是自己审自己,Maker-Checker是两个独立Agent配合,审查更客观
代码生成+审查、合同起草+合规审查、内容创作+事实核查
按工作角色分工,每个Agent扮演一个专业角色 — 像一个虚拟项目团队
每个Agent有独立的角色定义、专业知识和工具集,通过消息传递协作
MetaGPT、ChatDev、CAMEL、CrewAI
多层级管理链,顶层设定目标,逐级分解和委派 — 像企业组织架构
角色扮演是扁平分工,层级模式有上下级指挥链,支持更大规模的任务分解
大规模项目管理、复杂决策系统(战略→战术→执行)
多个Agent通过共享"白板"间接协作 — 像研究人员围着白板讨论
去中心化、松耦合,适合开放性、探索性问题(没有预定义的解题路径)
开放式研究课题、复杂诊断、创意发散(头脑风暴)
多个Agent在共享对话线程中讨论、辩论,通过交流达成共识 — 像圆桌讨论会
黑板是异步共享状态(各自读写),群聊是同步对话交流(直接讨论争论)
多角度评估决策、方案评审、需要权衡多方利益的决策
| 维度 | 工作流 | 路由/分发 | 生成-校验 | 角色扮演 | 层级委派 | 黑板 | 辩论/群聊 |
|---|---|---|---|---|---|---|---|
| 一句话 | 按流程办事 | 按内容分诊 | 写完审查 | 按角色分工 | 逐级委派 | 围着白板 | 圆桌讨论 |
| 协作方式 | 预定义流转 | 动态路由 | 双人循环 | 角色协作 | 层级指挥 | 共享状态 | 同步对话 |
| 确定性 | 高 | 中 | 高 | 中 | 中 | 低 | 低 |
| 可控性 | 强 | 强 | 强 | 中 | 中 | 弱 | 中 |
| 典型场景 | 标准化流程 | 客服分流 | 质量把关 | 团队协作 | 大型项目 | 开放研究 | 多方决策 |
提供Agent、Tool、Memory、Prompt等基础构建块和编排原语,让使用者自由组合
| 框架 | 特点 |
|---|---|
| LangChain / LangGraph | 最流行的开源框架,LangGraph专注有向图编排 |
| Dify | 低代码/可视化,适合快速搭建Agent应用 |
| Coze(扣子) | 字节跳动出品,可视化编排,生态丰富 |
| CrewAI | 专注角色扮演式多Agent协作 |
| AutoGen | 微软出品,专注多Agent对话协作 |
| Claude Code / Cursor | 代码领域的Agent产品,内置编排能力 |
11种模式看起来纷繁复杂,但回归第一性原理,所有编排的底层逻辑可以用一个三层认知金字塔来理解。
所有Agent系统底层都是同一个东西 — 反馈控制循环(控制论经典模型)
| 维度 | 问题 | 变化范围 |
|---|---|---|
| 循环有几个 | 1个Agent还是N个Agent? | 单循环 → 多循环 |
| 循环怎么连接 | 多个循环之间如何协作? | 串联 / 并联 / 共享状态 |
| 循环怎么嵌套 | 循环内部的复杂度? | 单层循环 → 循环套循环 |
| 状态 | 有限状态集合,记录当前所处阶段 |
| 纸带 | 无限长存储介质,读写数据 |
| 读写头 | 感知当前符号 & 写入新符号 |
| 转移函数 | δ(状态, 输入) → (新状态, 输出, 移动) |
| 内部状态 | 对话历史 + 推理中间态 |
| 记忆系统 | 短期上下文 + 长期向量存储 |
| 感知与行动 | 工具调用 / API / 环境交互 |
| LLM 决策 | f(状态, 输入) → 概率分布(下一步动作) |
| 原语 | 含义 | 一句话 |
|---|---|---|
| 顺序 | A做完再做B | 流水线 |
| 分支 | 根据条件走不同路径 | 岔路口 |
| 循环 | 重复执行直到满足条件 | 反复打磨 |
| 并行 | 同时做A和B | 多线程 |
| 聚合 | 合并多个来源的结果 | 汇总 |
| 原语 | 含义 | 一句话 |
|---|---|---|
| 调用 | 调用工具或另一个Agent | 动手 |
| 反馈 | 对结果评估并回传改进信号 | 审查 |
| 共享 | 多方读写同一个共享状态 | 共用白板 |
| 编排模式 | 分解为原子操作 |
|---|---|
| Think→Act | 循环(思考→调用→观察→再思考) |
| Think→Reflect→Act | 循环 + 反馈(多一步自我评价) |
| Plan & Execute | 顺序(先规划)+ 循环(逐步执行)+ 分支(是否重规划) |
| 工作流 | 顺序 + 分支 + 并行 + 聚合 |
| 路由/分发 | 分支(根据内容动态路由)+ 调用 |
| 生成-校验 | 循环(生成→检查)+ 反馈(打回修改意见) |
| 角色扮演 | 调用(委派给各角色)+ 顺序/并行 |
| 层级委派 | 调用(递归委派)+ 聚合(逐级汇报) |
| 黑板模式 | 共享(共享状态)+ 并行(各自独立工作) |
| 辩论/群聊 | 共享(对话线程)+ 循环(多轮讨论)+ 聚合(达成共识) |
→ Think→Act
→ 加上Reflect
→ Plan & Execute
LLM能思考,但不能行动 — 不能上网、不能查数据库、也记不住上次聊了什么
概念与机制 — 让Agent能"动手"
标准化连接 — 工具即插即用,Agent互联互通
数据接入 + 状态持久化 — 让Agent能"看见"和"记住"
有限空间的高效利用 — 让Agent更聪明地管理信息
Agent可以调用的外部能力 — 模型决定"何时调用什么工具、传什么参数"
获取实时信息
运行代码、执行计算
获取业务数据
发邮件、操作系统等
模型不是直接执行工具,而是输出"我想调什么、传什么参数"的结构化指令
模型不执行代码,只输出结构化的调用意图(函数名+参数)。执行由外部系统完成,结果再返回模型。
这是Agent"动手能力"的技术基础。没有Function Calling,模型只能输出文字建议,无法真正执行操作。
AI世界的"USB-C接口" — 一个标准协议,让任何工具即插即用
MCP连接工具,A2A连接Agent — 让不同框架、不同厂商的Agent能协作
Agent ↔ 工具
Agent ↔ Agent
模型的知识有截止日期,也不了解企业内部信息 — RAG来解决这个问题
让Agent能持续、连贯地工作,而不是每次都"失忆"
当前对话的上下文(对话历史)
跨会话持久化的信息(用户偏好、历史决策等)
所有信息必须摆在同一张桌子上 — 桌子大小有限,怎么摆决定了工作效率
每个模型有固定上下文窗口。超出部分直接截断丢失。Token数越多,成本越高、速度越慢。
"Lost in the Middle" — 模型对开头和结尾关注度高,中间容易"看漏"。上下文越长,推理质量越差。
不是把所有东西都塞进去,而是在正确的时间加载正确的信息
旧对话摘要化,只保留最近N轮完整内容
不一次性加载所有工具定义,用到哪个技能包才加载哪个
Prompt Caching缓存不变的系统提示;RAG按需检索代替预加载
Cursor、Claude Code等 — 理解代码、自动修bug、生成新功能
理解问题 → 查知识库 → 调业务系统 → 解决问题
塞太多无关信息 → 模型"注意力分散",质量反而下降
经验:精选上下文 > 堆砌信息
模型会编造不存在的API/函数,写出看似正确的错误代码
经验:要求Agent先读代码再改,永远跑测试验证
修A破B → 修B破A → 无限循环,越改越乱
经验:设置最大迭代次数,超限回退让人介入
无限制的Agent循环 = 烧钱(Token按量计费)
经验:设Token/轮次上限,用便宜模型做简单判断
根据知识点、难度、题型要求自动生成试卷
批改作业/试卷,给出详细的错因分析和改进建议
根据课标和教材自动生成教案、课件大纲、教学活动设计
汇总学生学习数据,生成学情报告,识别薄弱知识点
根据学生当前水平,自适应讲解、举例、追问,像1对1家教
不直接给答案,通过引导性提问帮助学生自主思考
分析错题原因,推荐针对性练习,跟踪掌握情况
根据目标和当前水平,制定个性化学习计划和复习安排
理解、推理、生成 — 决定Agent的能力上限
11种模式,8个积木块 — 决定Agent的思考方式
Tool Use / RAG / Memory — 让Agent能动手和感知
从无状态对话到跨会话持久记忆;Agent从历史任务中学习,越用越懂你
直接看屏幕、点鼠标、操作任意软件;不再需要专门的API集成
专业Agent自动发现、协商、分工;类似微服务架构的Agent生态
从"给指令-执行"到"理解目标-自主规划-持续推进";数字同事