过去几年,AI 的 Context Window 越来越大——从几十 K token,到数十万甚至百万级。 行业不断在解决同一个问题:如何让 AI 看到更多?
这当然重要。但在开发 Operator X02 的过程中,我逐渐开始思考另一个问题:
如果 AI 可以看到一百万 token,它真的应该每次都看这一百万 token 吗? AI 真正缺少的,是更大的 Context,还是更聪明的 Memory?
Context Window 解决「能看到多少」
Context Window 本质是资源问题——模型一次能处理多少信息:
Token Budget、Context Compression、Prompt Truncation 解决的都是「最多能看到多少」。 而 Engineering Memory 想解决的是另一个问题:
AI 此刻应该看到什么信息?
从 Context Management 到 Memory Management
假设一个工程项目已运行两年,AI 可以访问:
技术上可以不断加大 Context Window。但真正的问题是——用户现在正在改 CAN Driver, AI 到底需要知道什么?它真正需要的,是:
More Context ≠ Better Context 更多上下文,并不自动等于更好的上下文。
人类工程师也不是这样工作的
一位有经验的工程师,不会在解决当前问题时同时回想过去所有项目和会议。他的过程更像:
人类不是一直 Search Everything,而是 Recall When Needed。 这成为 Operator X02 Engineering Memory 的重要设计方向。
Engineering Memory 要回答的 6 个问题
这已经不只是一个 Memory Database,而更像一个 Engineering Memory System。
X02 Engineering Memory Stack
X02 的长期方向,不只是 AI IDE + Chat History,而是一套分层的记忆系统:
Working Memory
AI 当前正在「想」的东西:Current Conversation、Current Task、Recent Messages。 X02 当前采用有界的最近消息窗口 + 每条字符上限(最近 10 条 · 每条 600 字符), 未来可与 Token Budget Manager 结合——一个负责认知组织,一个负责资源限制。
Intelligent Memory Recall
很多 Memory System 是「User → Search → Retrieve → Prompt」。 X02 在最前面加了一个更早的决定:
当前 X02 中即为 shouldSearchHistory(message)
—— 6 类正则(约 172+ 触发器)。只有认为当前问题需要过去信息时,才继续搜索。
设计理念不是 Always Search,而是 Recall When Needed。 Retrieval is not the first decision. Relevance begins before retrieval.
Relevant Memory Ranking
决定需要 Recall 之后,下一个问题是:回忆什么?
AI 不需要重读完整历史,只需获得当前问题最相关的过去经验。 当前快速模式不调用远程 AI Search、也不依赖云端向量服务,因此召回保持低延迟。
X02 并不是拒绝向量检索,而是把它视为一种可按规模与语义需求启用的 Retrieval Strategy
——而非每轮请求的固定成本。MiniLM 向量重排已内置于代码(enableEmbeddings),
库变大或出现语义歧义时再启用。
Memory Decision Engine
Recall 只是一半。另一半是:什么东西一开始就值得成为长期 Memory? 「Hello」不必长期保存,但一次含 Root Cause、Solution 和 Validation 的 CAN Timeout 处理, 可能是一条很有价值的工程记忆。
从「记住代码」到「记住为什么」
Engineering Memory 与普通 Chat Memory 最大的区别:工程师需要的不只是记住发生了什么, 而是——为什么当时这样决定。
100 mscan_driver.cpp · diagnostic_manager.cppMemory Confidence
当 Memory 越来越多,会出现一个新问题:AI 应该相信哪一条?未来可进一步考虑:
AI 不应该相信所有 Memory。
Memory Conflict Resolution
旧 Memory 不一定错,它可能曾经正确、但现在已过时。 更合理的关系是「被取代」,而不是「矛盾」:
这样 AI 才知道 80 ms 是过去设计,100 ms 是当前设计。 Memory 因而从 Search System 走向 Reasoning System。
Memory Decay:AI 也应该会忘记
很多产品强调 Remember More,但人类智能还有另一种能力:Forget。 临时讨论会衰减、被遗忘;频繁引用的重要工程知识则长期保留。
正确地遗忘,本身就是智能的一部分。
Memory Gap Detection
成熟的系统应能意识到:我的记忆可能不完整。 例如系统知道 Timeout = 100 ms,却找不到 Reason、Test Evidence 或 Decision Owner。 这时 AI 不应编造理由,而应知道:
I know WHAT. But I don't know WHY. 未来 AI 的重要能力,不只是知道什么,而是——知道自己不知道什么。
从 Memory Database 到 Memory Lifecycle
记忆不是一次性存储,而是一个持续循环。
那么 Token Window 在哪里?
Token Window 仍然非常重要,但属于资源层;Engineering Memory 属于认知层。两者分工:
- Token Budget
- Context Limit
- Output Reservation
- Prompt Compression
- What to remember?
- When to recall?
- What to trust?
- What to forget?
Context 管理容量,Engineering Memory 管理相关性、意义与时间。 Context manages capacity. Engineering Memory manages relevance, meaning and time.
Token Window 负责资源限制,Memory Architecture 负责知识选择。
当前实现 vs 长期方向
诚实地分清「已经在跑的」和「还在探索的」。
| 当前已具备 | 长期方向 |
|---|---|
| Recent Working Memory(10 条 · 600 字符) | Memory Decision Engine(该不该记) |
| 触发式历史搜索(172+ 触发器) | Engineering Decision Memory(结构化「为什么」) |
| 混合搜索(0.45 / 0.30 / 0.25)· Top 5 | Memory Confidence(该信哪一条) |
| 记忆衰减(14 天 + 引用加成) | Conflict Resolution(Superseded-by) |
| 工程记忆索引本地优先存储(≤ 150 条) | Memory Gap Detection(知道自己不知道) |
| 语义 / 向量:已内置、默认关闭 | Token Budget Manager · 工程知识图谱 |
结语
Context Window 决定 AI can see what;Engineering Memory 决定 AI should see what。
下一代 Engineering AI 的竞争,是谁能在对的时间,找到对的工程知识,并理解它为什么值得被记住。
Engineering Memory Series
本篇是系列的总览。后续每一篇拆开讲一个问题: