惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
V
Vulnerabilities – Threatpost
MongoDB | Blog
MongoDB | Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Proofpoint News Feed
Know Your Adversary
Know Your Adversary
aimingoo的专栏
aimingoo的专栏
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
A
Arctic Wolf
L
LangChain Blog
L
LINUX DO - 热门话题
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
Stack Overflow Blog
Stack Overflow Blog
I
Intezer
爱范儿
爱范儿
P
Palo Alto Networks Blog
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
G
GRAHAM CLULEY
S
Securelist
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cisco Talos Blog
Cisco Talos Blog
Security Latest
Security Latest
Martin Fowler
Martin Fowler
AWS News Blog
AWS News Blog
L
Lohrmann on Cybersecurity
C
Cybersecurity and Infrastructure Security Agency CISA
酷 壳 – CoolShell
酷 壳 – CoolShell
Recorded Future
Recorded Future
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
V2EX - 技术
V2EX - 技术
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
LINUX DO - 最新话题
博客园 - Franky
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
W
WeLiveSecurity
Cyberwarzone
Cyberwarzone
The Hacker News
The Hacker News
A
About on SuperTechFans

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
拆解AI Agent的"神经系统":规划、记忆、工具、ReAct,四个概念让你真正读懂Agent
Ruby_Lu · 2026-06-15 · via 博客园_首页

很多人第一次接触AI Agent,会有一种类似"读医学教材"的困惑:单词都认识,但读完不知道在讲什么。

"规划"、"记忆"、"工具调用"、"ReAct框架"……这些词经常一起出现,但彼此的关系说不清楚,看起来像是四套不同系统硬拼在一起。

这篇文章,我想把这四个东西的逻辑关系说透。它们不是并列的,更不是相互独立的——它们是一个系统的四个层次,缺一不可。


一、从一个比喻开始:人类如何完成一项复杂任务?

假设你是一个活动策划,今天接到任务:为公司200人年会设计一个方案,三天后汇报。

你会怎么做?

  1. 先想清楚要干什么(规划):把大任务拆成小任务——场地、预算、节目、餐饮、主持……
  2. 调用已有的知识和经验(记忆):你记得去年的供应商报价,你记得哪个节目类型最受欢迎。
  3. 打电话查资料、用工具(工具调用):你打开地图找场地,调出Excel算预算,发邮件给供应商问报价。
  4. 执行并不断根据反馈调整(ReAct循环):场地报价太高,重新找;节目时长超了,重新排……

你就是一个Agent。 规划、记忆、工具、执行循环,这四件事你每天都在做,只是不叫这个名字。

现在,OpenAI前安全主管Lilian Weng在她的著名博文《LLM Powered Autonomous Agents》中,把这个过程精确地映射到了AI Agent的架构上。


二、Agent的四大要素:拆开来看

1. 规划(Planning):大模型的"分解力"

规划,是把一个复杂任务拆成可执行的子任务序列的过程。

听起来简单,但这恰恰是大模型出现之前的Agent最难做到的事。传统AI要么死守规则,遇到没见过的情况就不知所措;要么只会反应式处理,根本没有"先想清楚再行动"的能力。

大模型改变了这一点。它有两类关键的规划技术:

任务分解

  • 思维链(CoT):让模型"一步一步地思考"。这不是一个特殊功能,而是一种提示技巧——在提示词里加上"请一步一步推理",模型就能把隐式的推理过程显式化,把大任务自然分解成小步骤。

  • 思维树(ToT):CoT的升级版。CoT是一条线,ToT是一棵树——每一步都探索多种可能性,用广度优先或深度优先搜索来找最优路径。复杂问题用CoT可能走进死路,ToT能回溯重试。

自我反思

规划不是一次性的,好的Agent要能"反思自己的决定"。这里有三个框架很重要:

  • ReAct(后面会详细展开):边推理边行动,边行动边观察反馈,构成循环。
  • Reflexion:让Agent在行动后回顾"我做得怎么样",用过去的反思改进下一轮决策。
  • CoH(Chain of Hindsight):向模型展示一系列带反馈的历史输出,让它学会从失败中改进。

这三者的共同点:Agent不再是一次性给出答案的机器,而是有了迭代和进化的能力。


2. 记忆(Memory):大模型的"四种脑子"

这是最容易被忽略,却极其重要的部分。

很多人以为大模型"天生有记忆",或者"记忆就是上下文窗口"。其实,大模型的记忆有四种不同的机制,每种来源不同、作用不同:

第一种:预训练记忆(参数记忆)

这是大模型最"深层"的记忆。GPT-4在训练时看过互联网上海量的文本,这些知识被压缩进了数十亿个神经元权重里。它"知道"水是湿的、合同有法律效力、Python用缩进控制结构——这些不需要任何提示,是天生就有的。

但这种记忆有一个关键缺陷:一旦训练完成,就固定了。 今天发生的新闻、你公司内部的数据,它一概不知。

第二种:上下文记忆(短期记忆)

这就是你和大模型对话时的"当前窗口"。把历史对话全部塞进prompt,模型就能"记住"前面说了什么。这属于提示工程的范畴。

局限也很明显:上下文窗口有限,长对话后早期内容会被截断或遗忘。用人类来比喻,这就是"工作记忆"——容量有限、不持久。

第三种:微调记忆(长期参数记忆)

在更具体的数据集上进一步训练模型,让它"专精"某个领域。比如把大量医疗病历喂给模型做微调,它在医疗问答上的表现就会显著提升。

这种方式成本高、周期长,适合垂直场景的深度定制,不适合频繁更新知识。

第四种:外部记忆系统(向量数据库)

这是给大模型加"外挂第二大脑"的方式,也是RAG(检索增强生成)技术的核心。

把大量文档、知识库、历史记录向量化存储,每次对话时先检索相关内容塞进上下文,模型就能"参考"远超上下文窗口的外部知识。

想象一下:一个法律AI Agent,它的"脑子"里不仅有预训练的法律常识,还能实时检索最新的法律法规数据库。这就是外部记忆的价值。

四种记忆的关系:

记忆类型 容量 更新速度 持久性
预训练 极大 极慢(重训) 永久
上下文 有限 实时 会话内
微调 较大 慢(重训) 永久
外部系统 无限 实时 持久

真正强大的Agent,需要把这四种记忆协同使用。


3. 工具调用(Tool Use):从"大脑"到"手脚"

这是Agent与ChatGPT最本质的差别。

ChatGPT只有一颗大脑,它能说、能想,但它的世界终结于对话框。没有工具调用能力的AI,再聪明也只能"想",不能"做"。

工具调用让Agent有了"手脚":

  • 搜索工具:知识库不够用?去搜索引擎找最新信息。
  • 计算器:让模型算复杂数学,不靠"猜"而靠精确计算。
  • 代码执行器:让模型写完代码直接跑,看真实输出。
  • 日历、邮件、数据库API……几乎任何外部系统都可以封装成工具。

举个实际例子。假设Agent接到任务:"帮我找到今天北京最便宜的一束玫瑰花,并估算一下100元预算能买几束。"

没有工具的模型:凭训练数据里的"记忆"给出一个可能严重过时的价格。

有工具的Agent的执行路径:

  1. 调用搜索工具,查询"北京玫瑰花今日价格"
  2. 收到搜索结果,提取价格数据
  3. 调用计算器,计算100÷单价
  4. 综合信息,输出最终答案

这两者的差距,不是"准不准"的问题,而是"能不能做到"的问题。

工具调用的挑战在于:

  • Agent需要知道何时用工具(不是每个问题都要调工具)
  • Agent需要知道用哪个工具(工具选择策略)
  • Agent需要协调多个工具的使用顺序(复杂任务下的工具编排)

这些问题,恰好是ReAct框架要解决的。


4. ReAct框架:把三件事串起来的"推理引擎"

ReAct(Reasoning + Acting)是2022年由Shunyu Yao等人在论文中提出的框架,发表于ICLR 2023。

它的核心思想极其简洁:把推理和行动交织在一起,形成循环。

ReAct的循环只有三步:

思考(Thought)→ 行动(Action)→ 观察(Observation)→ 思考……

每一轮:

  1. 思考:评估当前情况,决定下一步要做什么
  2. 行动:执行决定(可能是调用工具,可能是直接输出)
  3. 观察:收集行动的反馈结果

然后把"观察"的结果输入下一轮"思考",循环往复,直到任务完成。

这个循环有多重要?

来看一段真实的Agent执行过程(书中原文):

问题:当前Agent最新研究进展是什么?

思考:我需要搜索关于Agent的最新研究
行动:Search("Agent最新研究进展")
观察:[搜索结果:多篇论文摘要...]

思考:搜索结果提到了AI对齐,我需要更多信息
行动:Search("Agent AI alignment 2024")
观察:[更多搜索结果...]

思考:现在我掌握了足够信息
最终答案:多Agent强化学习、AI对齐等领域已取得重大进展...

注意:相同的问题,Agent两次运行给出了不同的搜索策略和不同的答案。 这不是bug,这是Agent在动态地"思考"如何解决问题。它不是硬编码的流程,而是实时推理的产物。

这正是ReAct框架的精髓:操作的序列不是硬编码在代码里的,而是由大模型实时决定的。 这是AI自主决定应用程序逻辑的新编程范式。


三、四个要素怎么协同工作?

现在把四件事放在一起看:

用户输入任务
    ↓
[规划] 大模型分析任务,制定执行计划
    ↓
[记忆] 检索相关历史信息和外部知识
    ↓
[ReAct循环]
  思考 → 行动(调用工具) → 观察结果 → 思考 → ...
    ↓
任务完成,输出结果
    ↑
[记忆] 将本次交互结果存入记忆系统

用书中KwaiAgents项目的架构来描述:

  1. 接收任务:输入查询+背景知识+人设指令
  2. 记忆更新:确认记忆系统是最新状态
  3. 记忆检索:从记忆库中取出相关信息
  4. 任务规划:大模型生成包含工具调用计划的执行序列
  5. 工具执行:按计划调用工具,观察结果
  6. 循环判断:任务完成则输出,否则继续规划
  7. 总结输出:整合所有信息,生成最终答案

这七步,就是一个完整的Agent工作循环。


四、除了ReAct,还有哪些认知框架?

ReAct是最主流的,但不是唯一的。书中还介绍了几个值得了解的框架:

函数调用(Function Calling):OpenAI提出的方式。大模型作为"调度中心",直接调用预定义的函数。比ReAct更结构化,适合与现有系统深度集成。

计划与执行(Plan-and-Execute):先完整规划所有步骤,再统一执行。ReAct是边想边做,这个是先想好再做。适合确定性高、步骤清晰的复杂任务。

自问自答(Self-Ask):让大模型对自己的问题提出追问,层层深入。适合需要多角度分析的复杂查询。

批判修正(Critique-Revise):也叫Self-Reflection。模型先输出,再批判自己的输出,再修正,循环直到满意。适合创作、分析类任务。

思维链 / 思维树(CoT / ToT):前文已讲,线性推理 vs. 树状搜索,复杂度越高越倾向用ToT。

选哪种框架,取决于任务类型和环境确定性。没有最好的框架,只有最合适的框架。


五、用50行代码跑起来一个真正的Agent

理论说够了,来看代码。

书中用LangChain + OpenAI + SerpApi,实现了一个会自主搜索并总结"Agent最新研究进展"的Agent。核心逻辑不超过50行:

from langchain import hub
from langchain_openai import OpenAI
from langchain_community.utilities import SerpAPIWrapper
from langchain.agents.tools import Tool
from langchain.agents import create_react_agent, AgentExecutor

# 1. 获取ReAct提示模板(来自LangChain Hub社区)
prompt = hub.pull("hwchase17/react")

# 2. 创建大模型实例(推理引擎)
llm = OpenAI()

# 3. 定义工具(Agent的手脚)
search = SerpAPIWrapper()
tools = [Tool(
    name="Search",
    func=search.run,
    description="当大模型没有相关知识时,用于搜索知识"
)]

# 4. 构建ReAct Agent
agent = create_react_agent(llm, tools, prompt)

# 5. 创建执行器并运行
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
agent_executor.invoke({"input": "当前Agent最新研究进展是什么?"})

五步,每一步对应一个要素:

  • hub.pull:加载ReAct框架的提示(规划指南)
  • OpenAI():推理引擎(大脑)
  • Tool(Search...):工具(手脚)
  • create_react_agent:把三者组合成一个Agent
  • AgentExecutor.invoke:触发ReAct循环,自主完成任务

最关键的是这个ReAct提示模板。 它的内容大致是:

尽你所能回答以下问题。你可以使用以下工具:{工具列表}

请按格式回答:
问题:{输入问题}
思考:你应该思考接下来怎么做
行动:从工具列表中选一个
行动输入:工具的输入参数
观察:工具的执行结果
...(可重复N次)
思考:我现在知道答案了
最终答案:最终答案

正是这个提示,让大模型从"生成文本的模型"变成了"遵循ReAct框架思考并行动的Agent"。 提示工程的价值,在这里体现得淋漓尽致。


六、写在最后:这四件事为什么如此重要

我们来把整篇文章做一个收束。

Agent的四大要素——规划、记忆、工具、执行——本质上对应了人类完成复杂任务的四种能力:

  • 规划 = 思维能力:把大问题拆成小问题
  • 记忆 = 知识积累:知道的越多,决策越准
  • 工具 = 行动能力:不只是想,还能做
  • ReAct循环 = 反馈适应:做完看结果,不对就调整

这四者缺一不可。一个没有规划的Agent,面对复杂任务只会乱撞;一个没有记忆的Agent,每次都从零开始;一个没有工具的Agent,只能说不能做;一个没有执行反馈的Agent,永远不知道自己做对了没有。

更重要的是:这个架构不是一成不变的。 随着大模型能力提升、工具生态完善,Agent的边界会持续扩展。从今天的"会搜索会调API",到未来的"会操控机器人、会管理企业流程",走的是同一条路。

理解这个底层架构,你才能判断一个"Agent产品"到底做到了几层,哪里是真正的壁垒,哪里还有空白。

那才是这件事真正有意思的地方。