第10章:跨模型通用性
定位:前两章分别推导了 AAAK 的设计约束和具体语法。本章关注一个更深层的问题:为什么 AAAK 能被任何文本模型理解?这不是一个偶然的副作用,而是一个可以从语言学层面解释的必然结果。以及,这个技术特性带来了怎样的产品含义——记忆系统与模型供应商的解耦。
一个意外的发现
2026 年初,当 MemPalace 的基准测试结果发布后,技术社区的第一反应集中在分数本身——LongMemEval 满分,96.6% 零 API 调用。但随后浮现的一个问题可能更值得关注:这些结果是否绑定在 Claude 上?如果换成 GPT-4、Gemini、或者一个完全离线运行的 Llama 模型,AAAK 还能工作吗?
MemPalace 的 README 给出了一个简洁到近乎挑衅的回答:
Works with: Claude, ChatGPT, Gemini, Llama, Mistral -- any model that reads text.
"Any model that reads text。" 这不是市场营销的夸张,而是一个可以从设计原理上严格论证的技术断言。理解它为什么成立,需要回到语言学的基本层面。
语言学解释:省略而非发明
AAAK 与其他 AI 专用格式的根本区别在于:它没有发明任何新东西。
考虑一些需要特定模型或特定训练才能理解的格式:
- 向量嵌入:一个由模型 A 生成的 768 维向量,对模型 B 来说是无意义的数字序列。因为嵌入空间是模型训练的产物,不同模型的嵌入空间之间没有对应关系。
- 特殊标记:某些系统使用自定义的 token(如
<memory>或[FACT])来标记信息类型。这些标记只在被训练识别它们的模型中有效。 - 函数调用格式:OpenAI 的函数调用语法(JSON 结构的 function_call)只有被训练支持这种格式的模型才能正确处理。
这些格式的共同点是:它们在自然语言之上添加了一层新的约定。接收方必须事先"知道"这层约定才能正确解读。
AAAK 走了相反的方向。它不是在英语之上添加新规则,而是从英语中移除冗余。让我们通过一个具体的例子来分析这个过程:
第一层移除——功能词:
原文: Priya manages the Driftwood team
第一层:Priya manages Driftwood team
移除: the
冠词 "the" 在这里的功能是标记 "Driftwood team" 为特指。但当 "Driftwood" 本身就是一个专有名词时,这个标记完全冗余——不存在"另一个 Driftwood team"需要区分。
第二层移除——动词形态:
第一层:Priya manages Driftwood team
第二层:Priya lead Driftwood
移除: manages(替换为角色标签 lead),team(可从上下文推断)
"manages" 这个动词告诉我们 Priya 是领导角色。直接用 lead 这个角色标签替代,信息不减,token 更少。"team" 可以从 AAAK 的 TEAM: 前缀中推断。
第三层移除——全名:
第二层:Priya lead Driftwood
第三层:PRI(lead) DRIFTWOOD
移除: riya(名字的后部字符)
"Priya" 的前三个字母 "PRI" 足以在给定上下文中唯一标识这个人。后续的 "ya" 不携带额外的区分信息。
每一层移除的都是英语中"帮助人类处理但不携带独立信息"的成分。没有一步涉及发明新的语法规则或符号系统。最终结果 PRI(lead) DRIFTWOOD 仍然是——从语言学的角度看——英语。一种极度浓缩的、省略了大量语法功能成分的英语,但仍然是英语。
这就是 AAAK 跨模型通用的根本原因:任何能读英文的模型都能读 AAAK,因为 AAAK 就是英文。
省略的语言学边界
当然,并非所有省略都是安全的。语言学中有一个关键的区分:可恢复省略(recoverable ellipsis)和不可恢复省略(unrecoverable ellipsis)。
可恢复省略是指接收方能够从上下文中重建被省略的成分。"谁来?""我。"——这里省略了"我来"中的"来",但听者可以毫无困难地恢复它。
不可恢复省略是指被省略的信息无法从上下文中推断。如果原文是"Kai has been working with Priya for three years on backend systems, and he recommended Clerk because of its superior developer experience and competitive pricing",把它压缩成"KAI rec Clerk"就是不可恢复省略——三年合作关系、推荐原因中的具体细节都丢失了。
AAAK 的语法设计严格地将自身限制在可恢复省略的范围内。KAI(backend,3yr) 省略了"Kai is a backend developer with 3 years of experience"中的"is a"、"developer"、"with"、"of experience",但这些词都可以由模型从 (backend,3yr) 的结构中自动恢复。KAI.rec:clerk>auth0(pricing+dx) 省略了"Kai recommended Clerk over Auth0 based on pricing and developer experience"中的大量词汇,但每个被省略的成分都可以从保留的结构中推断:.rec = recommended,: = 对象分隔,> = over/优于,(pricing+dx) = 基于价格和开发体验。
而不可恢复的信息——Kai 和 Priya 共事了三年——则不会被省略,它会以 3yr 的形式被保留下来。
这个"只做可恢复省略"的原则,与第 8 章的约束二(零信息损失)形成了完美的对应。零信息损失在语言学上的精确表述就是:所有省略都必须是可恢复的。
可恢复性的保证:谁来恢复?
可恢复省略有一个关键前提:必须有一个"恢复者"具备足够的知识来重建被省略的成分。在人类对话中,这个恢复者是听者,依靠的是共享的语言知识和世界知识。在 AAAK 的场景中,这个恢复者是大语言模型。
那么问题变成:不同的模型是否具备相同的恢复能力?
答案是:对于 AAAK 使用的省略类型——是的。
AAAK 依赖的恢复能力可以分为三类:
语法恢复——从 KAI(backend) 恢复出 "Kai is a backend developer"。这需要模型理解"名字后接括号表示属性"的模式。所有主流大语言模型都在训练数据中见过大量的这种模式(编程语言的函数调用、技术文档的参数说明、百科条目的属性列表),这是一种通用的文本理解能力。
词汇恢复——从 rec 恢复出 "recommended",从 3yr 恢复出 "3 years"。这需要模型理解常见的英语缩写模式。同样,所有模型在训练数据中都见过大量的缩写(msg = message,yr = year,info = information),这是基础的语言能力。
结构恢复——从 TEAM: PRI(lead) | KAI(backend) 恢复出"有一个团队,PRI 是 lead,KAI 做 backend"。这需要模型理解管道分隔和层级结构。如前所述,管道分隔在命令行输出、Markdown 表格等格式中大量出现,所有模型都具备这种理解能力。
这三类恢复能力有一个共同的特征:它们不依赖于任何特定模型的专有训练。它们是从通用文本语料中学习到的通用能力。任何在 Common Crawl、Wikipedia、GitHub 等标准语料上训练的模型——也就是说,任何主流的大语言模型——都具备这些能力。
这就是为什么 MemPalace 可以自信地声称 AAAK "works with any model that reads text"。不是因为它在每个模型上都做了兼容性测试,而是因为它依赖的能力是所有模型的最大公约数。
产品含义:解耦
技术特性本身不产生价值——价值来自于技术特性所启用的产品可能性。AAAK 的跨模型通用性启用的最重要的可能性是:记忆系统与模型供应商的完全解耦。
解耦意味着什么
在当前的 AI 应用生态中,记忆通常与模型深度绑定。使用 OpenAI 的 memory 功能意味着你的记忆存储在 OpenAI 的服务器上,只有通过 OpenAI 的 API 才能访问。切换到 Claude 意味着从零开始——你的历史、你的偏好、你积累了六个月的上下文,全部归零。
这种绑定是一种隐性的锁定。你可能因为竞品更便宜、更快、或在某个任务上更擅长而想切换模型,但切换成本太高——不是技术上的成本,而是知识的成本。你的 AI 助手"认识"你的一切都锁在一个供应商的围墙里。
AAAK 打破了这个绑定。因为 AAAK 文本可以被任何模型理解,你的记忆变成了一种可携带的资产。今天用 Claude,明天用 GPT-4,后天用本地的 Llama——只要你把同一份 AAAK 文本交给新模型,它就能在极小的上下文成本内恢复对你的了解。README 用约 120 个 token 来描述这种压缩后的上下文规模;这是 AAAK 作为表达格式的目标优势,而不是当前 wake-up 默认输出的实测值。
这不是理论上的可能性。MemPalace 的架构已经支持这种用法:ChromaDB 存储在本地,AAAK 本身是纯文本,MCP 工具和 CLI 搜索都不绑定任何特定模型。更准确地说,当前仓库已经证明了"AAAK 作为跨模型可携带文本"这件事,而 wake-up 这条默认入口仍然主要输出原文式的 L0 + L1;一旦把 AAAK 完整接到唤醒路径,这种切换的摩擦会进一步降低。
完全离线的记忆栈
AAAK 的跨模型通用性与 MemPalace 的本地架构结合,产生了一个更激进的可能性:在本地依赖和默认嵌入资产已经准备完成后,整个记忆栈可以完全离线运行。
考虑这个技术栈:
- 存储:ChromaDB,运行在本地机器上,无需网络
- 模型:Llama 3 或 Mistral,通过 llama.cpp 或 Ollama 在本地运行
- 压缩:AAAK,纯 Python 实现,零外部依赖
- 搜索:ChromaDB 的内置向量搜索,本地嵌入模型
更准确地说,在本地依赖和默认嵌入资产都已经就绪之后,从数据摄入到记忆存储、从搜索到上下文加载,都可以不再依赖互联网连接。没有 API 调用,没有云服务,没有数据离开你的机器。
这个特性对特定用户群体具有极高的价值。处理敏感数据的企业(法律、医疗、金融)无法将记忆数据发送到第三方服务器。安全研究者不希望他们的工作记录出现在任何人的训练数据中。在网络不稳定的环境中工作的开发者需要一个不依赖网络连接的记忆系统。
对这些场景来说,"离线"不是一个降级选项,而是一个硬性需求。AAAK 使得满足这个需求成为可能——不是通过牺牲功能,而是通过一种从设计层面就不需要在线组件的架构。
无 Vendor Lock-in
将前面两点综合起来,AAAK 实现了一种真正意义上的无 vendor lock-in:
数据层无锁定。 记忆存储在本地的 ChromaDB 中,你拥有数据的完全控制权。导出是一个简单的文件复制操作。
格式层无锁定。 AAAK 是纯文本格式,不依赖于任何专有的编码或解码工具。你可以用任何文本编辑器打开 AAAK 文件,虽然它不太适合人类阅读,但它完全是可读的。
模型层无锁定。 AAAK 文本可以被任何模型理解。从 Claude 切换到 GPT 不需要任何数据转换或格式迁移。
运行时层无锁定。 MCP 服务器是一个标准的 JSON-RPC 接口。CLI 工具是独立的命令行程序。Python API 是开源库。你可以在任何支持 Python 的环境中运行整个栈。
这种全栈无锁定不是常见的。大多数 AI 记忆产品至少在一个层面上存在绑定——Mem0 绑定在它的云服务上,Zep 绑定在 Neo4j 和它的 API 上,OpenAI Memory 绑定在 OpenAI 的生态中。MemPalace 在每一个层面上都是可替换的,这使得它成为了一个真正的基础设施组件,而不是一个带有锁定的服务。
通用性的边界
诚实地说,AAAK 的跨模型通用性有其边界。
能力下限。 AAAK 依赖模型具备基本的英语理解和缩写还原能力。一个极小的语言模型(例如参数量在 10 亿以下的模型)可能无法可靠地执行这些推断。在实践中,7B 参数以上的模型通常能够可靠地理解 AAAK,但更小的模型可能出现降级。
文化假设。 AAAK 的缩写规则主要基于英语。虽然 PRI(lead) 这样的结构对任何见过英语文本的模型都是可理解的,但如果原始内容是中文或日文,三字母实体编码(基于英文名的前三个字符)就不太适用。MemPalace 通过可配置的实体映射(Dialect.from_config)来缓解这个问题,但 AAAK 的核心语法假设仍然是英语优先的。
压缩粒度。 AAAK 的自动压缩基于关键词检测和词频分析,这些启发式方法在某些文本类型上效果较差。高度技术性的文本(充满代码片段和数学公式)或高度情感性的文本(隐喻和暗示多于直陈)可能不适合自动压缩,需要人工调整或选择性保留原文。
这些边界是真实的,但它们不改变核心论点:对于主流的大语言模型和英语为主的使用场景,AAAK 的跨模型通用性是一个可靠的、有语言学理论支撑的技术特性。
一个更大的洞见
本章的分析揭示了一个超越 MemPalace 本身的洞见:面向 AI 的数据格式设计,应该利用模型已有的能力,而不是要求模型获得新的能力。
这个原则听起来显而易见,但它在实践中经常被违反。每当一个系统设计者发明一种新的标记语法、自定义一套 token 协议、或要求模型按照特定的格式输出时,他们都在要求模型做它可能没有被训练做的事情。有些模型能学会,有些不能。有些版本能处理,升级后不一定。
AAAK 的策略是相反的:不要求模型做任何新的事情,只把信息呈现为模型已经知道如何处理的形式。这使得 AAAK 对模型升级、切换和版本差异具有天然的鲁棒性——因为它依赖的不是模型的特定行为,而是模型的通用能力。
这个设计原则可以被推广:如果你正在设计一个需要与多种 LLM 交互的系统,在格式选择上应该偏好"自然语言的子集"而不是"自然语言的超集"。省略比添加更安全。缩写比发明更可靠。利用模型的既有知识,而不是测试模型的学习极限。
MemPalace 用 AAAK 证明了这个原则:一种没有发明任何新语法的"语言",反而成为了最具通用性的 AI 记忆格式。不是因为它足够复杂以覆盖所有需求,而是因为它足够简单以被所有模型理解。
这种简单性不是设计的起点,而是约束满足的终点。第 8 章的四个约束像漏斗一样过滤掉了所有复杂的方案,剩下的就是这个——一种极度缩写的英语,任何能读文本的模型都能理解,不需要解码器,不需要训练,不需要任何特殊的东西。
有时候,最好的设计就是去掉一切不必要的东西之后,剩下的那个。