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

推荐订阅源

Webroot Blog
Webroot Blog
T
The Blog of Author Tim Ferriss
Jina AI
Jina AI
博客园_首页
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky
V
Visual Studio Blog
腾讯CDC
小众软件
小众软件
量子位
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
S
Securelist
博客园 - 聂微东
A
About on SuperTechFans
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
Project Zero
Project Zero
Apple Machine Learning Research
Apple Machine Learning Research
Recent Announcements
Recent Announcements
T
Tor Project blog
A
Arctic Wolf
J
Java Code Geeks
NISL@THU
NISL@THU
V
Vulnerabilities – Threatpost
Last Week in AI
Last Week in AI
I
InfoQ
S
Security Affairs
W
WeLiveSecurity
C
CERT Recently Published Vulnerability Notes
U
Unit 42
L
LINUX DO - 最新话题
Google Online Security Blog
Google Online Security Blog
Security Latest
Security Latest
T
Troy Hunt's Blog
T
Tenable Blog
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
罗磊的独立博客
M
MIT News - Artificial intelligence
Schneier on Security
Schneier on Security

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12) Snack JSONPath 项目架构分析 Claude Code Buddy 小析:一个非核心功能,如何体现产品的细节完成度 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南 化繁为简:顺丰速运App如何通过 HarmonyOS SDK实现专业级空间测量 从零实现富文本编辑器#13-React非编辑节点的内容渲染 AI开发-python-langchain框架(3-23-OpenAI Functions风格Tool Calling智能助手) .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 PbootCMS 网站内容数量多导致访问慢?这些实用优化方案帮你提速! - 家兴网络技术工作室 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 网站漏洞怎么发现并修复?一篇实用指南(附完整流程) - 家兴网络技术工作室 开了 TUN 模式还是直连?90% 的人都踩过这个坑 Github日报|2026年04月12日 - AI一族 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术 Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模 MicroPython LVGL基础知识和概念:底层渲染与性能优化 - FreakStudio 数据库草图算法 Python 潮流周刊#146:CPython 引入 Rust 的进展 - 豌豆花下猫 最小生成树 - mofei1116 红日靶场七:从外网入口、容器逃逸到 AD 接管的完整利用链复盘 - YouDiscovered1t 分享四款开源且实用的 Kafka 管理工具 - 追逐时光者 vLLM 权重加载机制全解析:从挑战到理想架构 LCT 学习笔记 - ACehomoxue Avalonia UI 12.0.0 正式发布:架构演进和性能飞跃 - 张善友 当 AI Agent 把调用链拉长,延迟开始成为一门生意 conhost.exe 无法显示 U+2717 - 145a 太秀了,我把自己蒸馏成了 Skill!已开源 - 程序员鱼皮 ASP.NET Core 内存缓存实战:一篇搞懂该怎么配、怎么避坑 基于 Ghostty 带有分割标签页和为 Claude 编程设计的通知终端 - BugShare AI 焊死入口:教育的“操作系统级”重塑 - 郝hai 初级Java开发工程师使用sql脚本编写代码的过程是简单而且不糊涂 - CoderOilStation Claude Code通关手册(六):MCP协议完全指南 - 暮色之狐 边框灯光环绕动画特效实现指南 - Newbe36524 开源:子木蒸馏版的 SEO 审计工具 seo-audit-skill v1.0 我所理解的Python元模型 【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite - 程序员Seven Claude 和 Codex 在审计 Skill 上性能差异探究 - ACai_sec AScript如何实现中文脚本引擎 - rockey627 【渗透测试】HTB Season10 Garfield 全过程wp - dynasty_chenzi Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革 树状数组正确性证明 - AC-wyr 你的 AI 焦虑,可能比 AI 本身更危险——ATM 机没有消灭银行柜员,但恐慌消灭了你的判断力 - 我没有三颗心脏 一个拉胯的分库分表方案有多绝望?整个部门都在救火! - 冰河团队 动态规划入门必学之走方格问题 - Ofnoname PostgREST 与 PostgreSQL 角色权限配置全解析(生产级实践) - SheepDog1998 使用 UEFI 图形输出协议 GOP 在屏幕上显示图像的方法 - 阿源- Claude Code通关手册(五):组建你的AI专家团队,子代理系统 - 暮色之狐 一个程序员到架构师的催婚路之感悟(整整10年后的催婚相亲感悟) - MisterLip 用 Agent Skill 自动生成工作周报 - 赵康
拆解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产品"到底做到了几层,哪里是真正的壁垒,哪里还有空白。

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