Engineering Memory · Series

从「记住」到「理解」

From Remembering to Understanding · Engineering Memory Architecture

Operator X02 的 Engineering Memory Architecture。AI 不只是需要更多 Memory,而是需要知道 什么值得记住、什么时候回忆、什么仍然可信,以及什么时候应该遗忘。

High-Level Introduction 约 12 分钟 Operator X02
Context Window

能看到多少?

How much can AI see

Engineering Memory

该看到什么?

What · When · Why

过去几年,AI 的 Context Window 越来越大——从几十 K token,到数十万甚至百万级。 行业不断在解决同一个问题:如何让 AI 看到更多?

这当然重要。但在开发 Operator X02 的过程中,我逐渐开始思考另一个问题:

如果 AI 可以看到一百万 token,它真的应该每次都看这一百万 token 吗? AI 真正缺少的,是更大的 Context,还是更聪明的 Memory?
Capacity

Context Window 解决「能看到多少」

Context Window 本质是资源问题——模型一次能处理多少信息:

System Prompt+ Conversation+ Code+ Documents+ Memory+ Tool Results
— 最终都受 Context Limit 限制 —

Token Budget、Context Compression、Prompt Truncation 解决的都是「最多能看到多少」。 而 Engineering Memory 想解决的是另一个问题:

AI 此刻应该看到什么信息?
Scale

从 Context Management 到 Memory Management

假设一个工程项目已运行两年,AI 可以访问:

50,000
次聊天
10,000
个 Commit
5,000
个 Bug
2,000
份设计文档
数百万
行代码
数百个
Architecture Decision

技术上可以不断加大 Context Window。但真正的问题是——用户现在正在改 CAN Driver, AI 到底需要知道什么?它真正需要的,是:

CAN 架构 · CAN Driver 设计决策
过去的 CAN Timeout Bug 与修复
相关源码与测试结果
More Context ≠ Better Context 更多上下文,并不自动等于更好的上下文。
Human Baseline

人类工程师也不是这样工作的

一位有经验的工程师,不会在解决当前问题时同时回想过去所有项目和会议。他的过程更像:

Current Task
当前正在处理的问题
Working Memory
手上正在「想」的东西
发现问题 · 「以前是不是遇过?」
回忆的触发点
Recall
只取回相关的那一段经验
Relevant Experience → Reason
用过去的经验推理当前问题
Continue Working
人类不是一直 Search Everything,而是 Recall When Needed。 这成为 Operator X02 Engineering Memory 的重要设计方向。
Six Questions

Engineering Memory 要回答的 6 个问题

What to remember?
什么值得记住?
When to recall?
什么时候应该回忆?
What to trust?
哪些记忆值得相信?
Resolve conflicts?
新旧记忆冲突怎么办?
What to forget?
什么应该被遗忘?
What don't I know?
如何知道记忆存在缺口?

这已经不只是一个 Memory Database,而更像一个 Engineering Memory System。

Architecture

X02 Engineering Memory Stack

X02 的长期方向,不只是 AI IDE + Chat History,而是一套分层的记忆系统:

Layer 5 Engineering Memory Reasoning Trust · Conflict · Gap Detection
Layer 4 Memory Decision Engine Remember · Update · Forget
Layer 3 Intelligent Recall Engine Trigger · Retrieve · Rank
Layer 2 Working Memory Current Task · Conversation
Layer 1 Engineering Memory Store Decision · Bug · Code · Knowledge
Storage → Working → Recall → Decision → Reasoning
说明:这是 X02 的长期方向,并不代表所有模块目前都已完整实现。 下面各节讲的是已经实现的部分,以及仍在探索的部分。
01

Working Memory

AI 当前正在「想」的东西:Current Conversation、Current Task、Recent Messages。 X02 当前采用有界的最近消息窗口 + 每条字符上限(最近 10 条 · 每条 600 字符), 未来可与 Token Budget Manager 结合——一个负责认知组织,一个负责资源限制。

02

Intelligent Memory Recall

很多 Memory System 是「User → Search → Retrieve → Prompt」。 X02 在最前面加了一个更早的决定:

User Message → Need Previous Memory?
NO
跳过
不检索、不注入 · 0 token
YES
History Search
才进入检索与排序

当前 X02 中即为 shouldSearchHistory(message) —— 6 类正则(约 172+ 触发器)。只有认为当前问题需要过去信息时,才继续搜索。

设计理念不是 Always Search,而是 Recall When Needed。 Retrieval is not the first decision. Relevance begins before retrieval.
03

Relevant Memory Ranking

决定需要 Recall 之后,下一个问题是:回忆什么?

Relevance Score
keyword 0.45
topic 0.30
recency 0.25
Ranking → Top 5(阈值 ≥ 0.25)→ Prompt

AI 不需要重读完整历史,只需获得当前问题最相关的过去经验。 当前快速模式不调用远程 AI Search、也不依赖云端向量服务,因此召回保持低延迟。

X02 并不是拒绝向量检索,而是把它视为一种可按规模与语义需求启用的 Retrieval Strategy ——而非每轮请求的固定成本。MiniLM 向量重排已内置于代码(enableEmbeddings), 库变大或出现语义歧义时再启用。

04

Memory Decision Engine

Recall 只是一半。另一半是:什么东西一开始就值得成为长期 Memory? 「Hello」不必长期保存,但一次含 Root Cause、Solution 和 Validation 的 CAN Timeout 处理, 可能是一条很有价值的工程记忆。

Conversation / Engineering Event → Memory Candidate → Should Remember?
NO
Discard
不进入长期记忆
YES
Classify → Long-term Memory
分类后长期保留
当前状态:这是长期方向;当前 X02 仍偏向「先存下、再按衰减 / 上限裁剪」。
05

从「记住代码」到「记住为什么」

Engineering Memory 与普通 Chat Memory 最大的区别:工程师需要的不只是记住发生了什么, 而是——为什么当时这样决定。

Decision
CAN Timeout = 100 ms
Reason
80 ms 在高总线负载下会误触发 timeout
Alternative
50 / 80 / 100 ms
Trade-off
故障检测略慢,但系统更稳定
Evidence
CAN stress test
Affected
can_driver.cpp · diagnostic_manager.cpp
Status
ACTIVE  ·  Supersedes: CAN_TIMEOUT_80MS
说明:这是 Engineering Decision Memory 的目标格式。当前 X02 记录的是对话、摘要与关键词 / 主题, 尚未以这种结构化决策记录来存储。
06

Memory Confidence

当 Memory 越来越多,会出现一个新问题:AI 应该相信哪一条?未来可进一步考虑:

Source Timestamp Project Version User Confirmation Reference Frequency Confidence
AI 不应该相信所有 Memory。
07

Memory Conflict Resolution

旧 Memory 不一定错,它可能曾经正确、但现在已过时。 更合理的关系是「被取代」,而不是「矛盾」:

2025
80 ms
── Superseded By ──▶
2026
100 ms

这样 AI 才知道 80 ms 是过去设计,100 ms 是当前设计。 Memory 因而从 Search System 走向 Reasoning System。

08

Memory Decay:AI 也应该会忘记

很多产品强调 Remember More,但人类智能还有另一种能力:Forget。 临时讨论会衰减、被遗忘;频繁引用的重要工程知识则长期保留。

Temporary Discussion
一次性的临时对话
Decay
14 天半衰期;被引用会加成
Low Importance
Forget
从记忆索引中裁剪
正确地遗忘,本身就是智能的一部分。
09

Memory Gap Detection

成熟的系统应能意识到:我的记忆可能不完整。 例如系统知道 Timeout = 100 ms,却找不到 Reason、Test Evidence 或 Decision Owner。 这时 AI 不应编造理由,而应知道:

I know WHAT. But I don't know WHY. 未来 AI 的重要能力,不只是知道什么,而是——知道自己不知道什么。
Lifecycle

从 Memory Database 到 Memory Lifecycle

记忆不是一次性存储,而是一个持续循环。

Memory Lifecycle CONTINUOUS LOOP 观察OBSERVE 评估EVALUATE 记住REMEMBER 组织ORGANIZE 回忆RECALL 推理REASON 更新UPDATE 衰减DECAY 遗忘FORGET
Two Layers

那么 Token Window 在哪里?

Token Window 仍然非常重要,但属于资源层;Engineering Memory 属于认知层。两者分工:

Resource Layer · 资源
  • Token Budget
  • Context Limit
  • Output Reservation
  • Prompt Compression
Cognitive Layer · 认知
  • 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.
Engineering Memory → Select Best Context → Token Budget Manager → Final Prompt → LLM

Token Window 负责资源限制,Memory Architecture 负责知识选择。

Status

当前实现 vs 长期方向

诚实地分清「已经在跑的」和「还在探索的」。

当前已具备长期方向
Recent Working Memory(10 条 · 600 字符)Memory Decision Engine(该不该记)
触发式历史搜索(172+ 触发器)Engineering Decision Memory(结构化「为什么」)
混合搜索(0.45 / 0.30 / 0.25)· Top 5Memory Confidence(该信哪一条)
记忆衰减(14 天 + 引用加成)Conflict Resolution(Superseded-by)
工程记忆索引本地优先存储(≤ 150 条)Memory Gap Detection(知道自己不知道)
语义 / 向量:已内置、默认关闭Token Budget Manager · 工程知识图谱
Closing

结语

Context Window 决定 AI can see what;Engineering Memory 决定 AI should see what

Remember → Recall → Reason → Trust → Update → Forget

下一代 Engineering AI 的竞争,是谁能在对的时间,找到对的工程知识,并理解它为什么值得被记住。

Series

Engineering Memory Series

本篇是系列的总览。后续每一篇拆开讲一个问题:

Part 1 · Recall
什么时候该回忆
AI 不需要搜索所有记忆,而应知道什么时候回忆
Part 2 · Remember
Memory Decision Engine
哪些知识值得长期保留?
Part 3 · Forget
Memory Lifecycle
为什么 AI 必须学会遗忘?
Part 4 · Decision
从「记住代码」到「记住为什么」
Decision Memory 的结构与用途
Part 5 · Trust
Memory Confidence Engine
AI 不应相信所有记忆
Part 6 · Conflict
Memory Conflict Resolution
新旧记忆冲突怎么解
Part 7 · Unknown
Memory Gap Detection
AI 如何知道自己不知道?

Engineering Memory 不是记住一切

Engineering Memory is not about remembering everything.
It is about remembering the right thing at the right time.