大模型没有记忆,Agent不是革命:一个关于AI系统的残酷真相
摘要:当所有人还在为Agent狂欢时,这篇文章试图告诉你一个反直觉的事实——大模型本质上是一个"失忆的天才",而我们精心构建的Agent系统,不过是用软件工程堆砌出的一场"表演"。这不是悲观,而是清醒的起点。
一、一个残酷的事实:大模型从不"记住"任何东西
2026年初,当OpenClaw在GitHub上以惊人的速度超越React成为star最多的项目时,开发者社区陷入了一种集体亢奋。人们开始谈论"Agent革命"、“AI原生”、“自主智能体”,仿佛人类正在见证一种全新智能形态的诞生。
但如果你足够冷静,拆开任何一款Agent产品的代码,你会发现一个令人不安的真相:
大模型从未记住任何东西。
它是一个纯粹的无状态函数——输入token,输出token。每次调用都是独立的,就像一个失忆的天才,每见你一次都以为是初次见面。
我们引以为傲的"记忆"功能——对话历史、用户偏好、知识积累——全都是外部系统实现的:
- 短期记忆:不是模型的"注意力",而是上下文窗口的token拼接
- 长期记忆:不是模型的"学习",而是向量数据库的检索结果
- 个性化:不是模型的"理解",而是prompt中的用户画像描述
┌─────────────────────────────────────────────────────────────┐
│ 真相:Agent = 外部工程 + 失忆天才 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 外部系统 (Harness) │ │
│ │ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │记忆存储 │ │上下文 │ │检索引擎 │ │ │
│ │ │向量库 │ │构建器 │ │(RAG) │ │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ │ │ │ │ │ │
│ │ └────────────┴─────┬──────┴───────────────┘│ │
│ │ ↓ │ │
│ │ 拼接成完整的 Prompt │ │
│ └──────────────────────────┬─────────────────────────┘ │
│ ↓ │
│ ┌────────────────────────┐ │
│ │ 大模型 (无状态函数) │ │
│ │ input tokens → output │ │
│ └────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
这不是技术问题,这是架构本质。 大模型的"记忆"就像人类的"肌肉记忆"——它不是真的记住,而是在每次调用时被重新"表演"出来。
二、Agent = Model + Harness:一个危险的等式
“智能体系统的核心公式是 Agent = Model + Harness。Model 负责智能推理,Harness 负责状态管理、工具调用、执行环境、记忆与上下文管理。”
这个公式看似简洁,却暗藏杀机。
它暗示了一种危险的分离:
- Model = 智能(不可控、不可解释、概率性)
- Harness = 工程(可控、可解释、确定性)
但现实是:所谓的"智能推理",很大一部分是Harness在"替Model思考"。
看看这段来自实际项目的代码:
# Agent的"智能",很大一部分是这样的工程代码
def run_agent(user_input):
# 1. 加载历史(工程实现)
history = load_conversation_history(user_id)
# 2. 检索相关记忆(工程实现)
relevant_memories = vector_db.search(user_input, top_k=5)
# 3. 调用工具(工程实现)
if need_tool(user_input):
tool_result = execute_tool(user_input)
# 4. 构建prompt(工程实现)
prompt = build_prompt(history, relevant_memories, tool_result)
# 5. 调用大模型(唯一的"智能"环节)
response = llm(prompt)
# 6. 保存对话(工程实现)
save_to_history(user_input, response)
return response
在这整个流程中,大模型只做了第5步。其他5步全是传统软件工程。
更残酷的是:当我们说"Agent能规划、能反思、能记忆"时,这些"能力"有多少是模型真的学会了,有多少是工程师用规则和流程硬编码出来的?
三、“Agent是新一代电脑”:一个诱人但危险的类比
在讨论中,我们提出了一个类比:大模型=CPU,Harness=操作系统,Agent系统=新一代电脑。
这个类比帮助我们快速理解架构,但也可能误导我们。
这个类比的根本性缺陷:
| 维度 | 电脑系统 | Agent系统 | 差异的本质 |
|---|---|---|---|
| 计算性质 | 确定性(1+1永远=2) | 概率性(同样输入可能不同输出) | 电脑可以信任,Agent需要验证 |
| 状态管理 | 物理状态(RAM有明确边界) | 软件模拟(上下文是人工限制) | 电脑状态是"真实的",Agent记忆是"表演的" |
| 故障模式 | 硬件故障(可定位) | 软件幻觉(难定位) | 电脑错误有stack trace,Agent错误是"看起来对" |
| 扩展方式 | 线性(加CPU提升性能) | 非线性(更多上下文≠更好结果) | 电脑可预测,Agent靠经验 |
关键洞察:电脑处理的是数据,Agent处理的是"意义"。 数据是确定的,意义是模糊的。
当我们把Agent比作电脑时,我们不自觉地假设了"确定性",但这恰恰是Agent系统最缺乏的。
四、其他可能的构建思路
如果我们不把Agent比作电脑,还有什么其他思路?
思路一:生物学类比(神经系统)
Agent不是"CPU+外设",而是"大脑+身体+神经系统"。
- 记忆不是存储,而是神经连接的强化/弱化
- 工具调用不是外设,而是运动神经的延伸
- 遗忘是主动功能,不是故障
这个类比更贴近智能的本质,但也更难工程化。
思路二:经济系统类比(企业组织)
Agent不是"硬件架构",而是"组织架构"。
- 经验不是数据,是组织学习能力
- 流程不是指令集,是协作规范
- 监督不是调试,是质量管理
这个类比引入了"管理"视角,但忽略了Agent没有"动机"这个根本差异。
思路三:从第一性原理出发
也许根本不应该用任何现有系统来类比。
“AI 的输出是概率性的——同样的输入可能产生不同的输出,生成的代码可能表面正确但语义偏差。这引入了一种新类型的损耗:不是人类的误解,而是 AI 的’似是而非’。”
Agent系统不是任何现有系统的进化版,而是一种全新的存在。 我们还在用旧世界的语言来描述它,就像古人用"天上的马车"来描述飞机。
五、Harness开发是程序员的"最优解"吗?
“仅改变Harness的工具格式,在16个模型上显著提升了编码基准分数。效果最显著的Grok Code Fast 1从6.7%跃升至68.3%——没有修改任何模型权重。”
“LangChain仅通过Harness改进,在Terminal Bench 2.0上从第30名跃升至第5名,同一模型提升了13.7分。”
表面上看,Harness似乎是"风口"。但我们需要更深入地思考。
问题一:Harness本身可能是过渡形态
2023年:Prompt Engineering 是"最优解"
2024年:Context Engineering 是"最优解"
2026年:Harness Engineering 是"最优解"
2028年:??? Engineering 是"最优解"
历史告诉我们:每次我们觉得找到了"终极方案",下一个范式就来了。
问题二:Harness正在被"标准化"
当MCP成为标准,当Harness框架成熟后,Harness开发会变成"调参"还是"创新"?
┌─────────────────────────────────────────────────────────────┐
│ Harness的生命周期 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 2026年 2028年 2030年 │
│ │ │ │ │
│ ↓ ↓ ↓ │
│ 手工打造 框架成熟 基础设施化 │
│ (稀缺技能) (标准化组件) (像使用云服务) │
│ │
│ "会造轮子" "会组装" "会配置" │
│ │
└─────────────────────────────────────────────────────────────┘
问题三:"最优解"因人而异
| 程序员类型 | Harness是"最优解"吗? | 更好的选择 |
|---|---|---|
| 初中级开发者 | ⚠️ 风险较高 | 先打好基础,理解计算机本质 |
| 高级架构师 | ✅ 强相关 | Harness本质是系统设计能力的延伸 |
| 领域专家 | ❌ 不是核心 | 深耕业务,成为"Agent的老师" |
| 基础设施工程师 | ✅ 高度相关 | Harness底层就是新的基础设施 |
六、真正的问题:程序员的核心价值是什么?
搜索结果中有段话很有启发:
“软件工程的固有挑战可以归结为四点:重复性劳动、认知成本、知识孤岛、信息损耗。”
Harness只是解决这些问题的一种方式。但程序员的核心价值,可能不在于"用什么方式解决问题",而在于:
┌─────────────────────────────────────────────────────────────┐
│ 程序员的不变价值 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ 理解问题 │ │ 设计方案 │ │ 验证结果 │ │
│ │ (领域知识) │ │ (抽象能力) │ │ (判断力) │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
│ │
│ ↑ ↑ ↑ │
│ │ │ │ │
│ 这些能力不会因为工具变化而消失 │
│ │
└─────────────────────────────────────────────────────────────┘
技术会变(从Prompt到Harness,以后还会有新东西)
工具会变(从GPT到Claude,以后会有新模型)
但"理解问题"和"设计解决方案"的能力是永恒的。
七、结语:清醒的起点
回到开头的问题:大模型有记忆吗?Agent是革命吗?
我的回答是:
大模型没有记忆,所有的"记忆"都是外部工程的表演。
Agent不是革命,而是软件工程的延伸——用更优雅的方式,约束一个更强大的但更不可靠的推理引擎。
这不是悲观,而是清醒。
当我们看清这些真相,我们才能真正开始思考:
- 什么是Agent能做的,什么是它做不了的?
- 什么是Harness能解决的,什么是它解决不了的?
- 什么是程序员应该坚守的,什么是应该放手的?
Agent的真正价值,也许不在于"自主智能",而在于"人机协作"。
不是让AI替代人类,而是让AI扩展人类的能力边界。
这个边界在哪里?我们还在探索。
但至少,我们不应该被"Agent革命"的幻象蒙蔽,而应该脚踏实地,看清本质。
后记:这篇文章的写作过程,本身就是一个例证。我没有使用任何AI工具来生成内容,所有的思考、组织、表达都是人类认知过程的产物。这过程中的犹豫、推翻、重构,恰恰是"意义生成"的核心。也许,这才是人类在AI时代真正的价值所在。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)