摘要:当所有人还在为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时代真正的价值所在。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐