关于 KIP
KIP 2.0 是面向 Agent 记忆的认知状态协议,将 Proposition、Assertion 与 Belief 分开表示,使记忆能够区分“所说”与“为真”。它面向实现记忆服务或 Agent 集成的开发者,核心在于把信念计算放在读取时完成,而非直接存储。
主要功能
- 01区分命题、断言与信念三层概念
- 02读取时计算认知投影,而非存储信念字段
- 03Watch 机制用于基于状态变化的主动关注
- 04结果证据由仪器写入,不由被评估的 Agent 写入
- 05支持签名的认知胶囊导入与导出
适用场景
- 01为 Agent 构建可追溯、可修订的长期记忆
- 02管理修订后依赖结论的审查与过期状态
- 03评估技能在试验后是否被采纳或撤销
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| command | string | 否 | 要执行的完整多行 KIP 命令(KQL、KML 或 META)字符串。与 'commands' 互斥。 |
| dry_run | boolean | 否 | 如果为 true,则仅验证,不执行。 |
| commands | array | 否 | 批量执行:KIP 命令数组。与 'command' 互斥。字符串使用共享的 'parameters';对象可以覆盖 'parameters'。 |
| parameters | object | 否 | 用于安全替换命令中占位符的可选键值对。占位符以 ':' 开头,且必须占据完整的 JSON 值标记。 |
详细介绍
KIP 2.0 — 面向 Agent 记忆的认知状态协议
状态
默认开发版本:KIP 2.0 — 规范草案。 仓库根目录包含当前协议和工具链。KIP v1.0-RC11 已冻结,仅供历史参考和迁移使用;更改默认版本不会升级现有部署,也不代表 2.0 协议已稳定。
- 范围已冻结。 只有与引擎证据一同提交的新契约才会纳入草案;修正、简化和新证据不受此门槛限制(规范状态)。
- 名称保持稳定;修订版以摘要标识。 只有一个记忆包
kip://profiles/[email protected]、一个通用领域包kip://domains/[email protected]、一个标准投影策略kip:memory-default、一个标准强度策略kip:strength-half-life-30d,以及模式 IDurn:kip:2.0:schema:*。草案修订版由其内容摘要标识;不会保留早期草案包。 - 两个参考引擎均通过了完整的引擎测试套件——涵盖 26 个测试夹具中的 431 个用例,全部完成。测试套件清单记录了经验证的引擎修订版。
- 不声称取得了任何学习成果。 引擎运行、有界模型和结构测试所提供的证据,与经测量的 Brain 行为是两回事;在完成Brain 评估之前,后者始终为
not_run。
最新修订版的变更内容及其验证方式,请参阅修订记录。
从这里开始
- Agent 集成: 记忆接口和 Agent 记忆卡片。
- 协议实现: 规范、语法参考和一致性检查。
- 运行 Brain: Anda Brain,一个提供记忆接口的记忆服务;参阅实现。
- 开发者工具: TypeScript 语言工具包(
@ldclabs/kip-lang)和 VS Code 扩展,两者均面向 KIP 2.0。 - v1 现有用户: 冻结的归档、部署迁移和仓库路径变更。
归档的 MCP 服务和 Skill 实现的是 v1 接口;原生 v2 集成需从上文当前的接口和线路契约开始。
交互式版本——支持平移、缩放、关系追踪和五种引导视图——是一个独立文件:下载后在浏览器中打开即可。
## 核心理念如果一种记忆无法区分说过什么与什么是真实的,它最终会信心十足地对自己的主人撒谎。KIP 2.0 拒绝将以下三个问题混为一谈:
Meaning what can be represented at all
Belief what the Brain currently accepts
Authority who may read, write, project, or elevate
因此,存储的 Proposition 不带真值立场。Assertion 则承载某个参与者对它的立场,以及模式、置信度、有效性和证据。信念不是存储字段,而是在读取时对符合条件的 Assertion 进行计算得出的 Epistemic Projection:
Proposition exists ≠ Proposition is true ≠ Brain accepts Proposition
变化不会改写过去。三种变化分别保留三种不同的历史记录:
- 世界发生了变化。 在变化发生时新增一条 Assertion。时间继替会在该时间点结束参与者较早的值,因此,曾经为真的声明会被终止,而不是判定为错误;历史查询仍能返回该声明。两个推断永远不会彼此继替。
- 某项声明有误。 新的 Assertion 会取代旧的 Assertion,而旧的仍会保留在记录中。
- Brain 错误记录了信息。记录修复会使错误提取失效;源字节和每个人的立场都保持不变。
时间表述会如实反映已知信息:asserted_at 是声明提出的时间,而不是记录时间;未注明开始时间的声明,其开始时间不晚于该时间;粗略日期是时间界限,而不是凭空捏造的时刻。偏好是一种会在自身类别内变化的普通声明——没有 Preference 类型。若同一槽位中的声明仍然冲突,标准记忆策略 kip:memory-default 会在每个引擎上以相同方式解决冲突:先看上下文具体程度,再看第一人称证词,最后看时效性。
证据、来源和 Schema 也采用同样的处理方式:Evidence 和 Activity 是一等元素,而不是元数据集合;Schema 则存放在带版本且固定摘要的 packages 中。如果 Brain 遇到 Profile 中没有的关系,就会用 DEFINE 将其起草到 Space 的草拟词汇表中;此操作只会添加内容。要将草拟项提升为已安装符号,必须由持有 manage_schema 权限的 Principal 执行 Schema 迁移。检索可通过 Search Pattern 在单次查询中与信念判断结合:搜索负责查找候选项,BELIEF 决定接受哪些内容。
主动性层
只会在被询问时才作答的记忆,只发挥了一半作用。另一半是 Brain 在无人交互时会做什么——而这不能靠定时任务实现。KIP 2.0 为此提供了四种机制,它们都不会代替 Brain 决定策略:
| 机制 | 定义 |
|---|---|
Watch | 持久注意状态。声明一种条件,满足时某项变化——或没有变化——值得关注。已启用的 Watch 会根据已提交的变更信封进行评估:增量 Watch 在匹配的变更提交时触发;静默 Watch 则在 due_at 已过期且评估器已消费变更流至该截止时间、期间没有匹配项时触发——仅凭时钟无法证明任何事情。主动性因此成为状态差异,而非盲目的定时安排。触发的 Watch 不会授予任何权限:它只会生成注意事项,不会触发任何操作,并通过 Memory Interface 的注意事项召回机制传达给业务 Agent。 |
action_gate | 一种 Activity 类别,用于记录 gate 的决定——act、ask、defer 或 silence,以及它权衡的输入。事后最难论证的往往是克制,因此有意保持沉默也会像其他结果一样被记录下来。 |
LIST DEPENDENTS | 对溯源关系进行有界反向遍历。修改根节点后,由其编译出的认知——洞见、偏好摘要、技能、自我模型——都可以通过一次操作被发现,而不会悄然过时。§57.5明确规定:修订后的根节点不得自动撤回其依赖项,且必须使它们仍可供审查。某项依赖是否保留,应由审查决定,而非由协议规定。 |
PURGE PAYLOAD | 销毁 Evidence 元素中观测到的字节,同时保留记录:其摘要、类别、观测时间、来源,以及依赖于它的引用。这种数据最小化不会损失任何溯源信息——佐证与独立性计数仍可基于保留下来的摘要继续工作。这与元素的 purge 不同,后者会销毁记录本身。 |
配套状态位于 Cognitive Memory Profile 中:WorkingState 是一份经过整合的恢复摘要,并带有其 basis_seq 标记,因此 Brain 唤醒时可以从编译后的状态和增量继续,而不必重新读取滚动记录;计算得出的依赖有效性会在下一次读取时显示已修订的根节点;而 MnemonicState.utility 则记录准入预期——这段记忆预计有多大用处——并刻意与 salience、memory_strength 和认知上的 confidence 分开。记忆强度本身会在读取时根据基准值、锚点和固定的衰减策略计算;没有任何后台任务会扫描并更新它,读取也永远不会增强它。
结果通道
以上内容让系统更好地观察世界。结果通道则让世界观察系统。
结果证据记录决策、行动或试行程序之后实际发生的情况,由仪器(遥测、验证器、测试框架、人工审查)编写,绝不由其行动被评分的执行者编写。执行者自己的陈述属于 agent_statement,只能作为背景引用;这种分离是符合性不变量,通过可审计性强制落实——引擎来源始终记录谁写了什么,治理机制可以限制哪些人能够编写结果——因为开放协议可以让自我评分变得可见,即便它无法让自我评分变得不可能。
每个结果都带有一个任务族,用于筛选候选结果。共享任务族既不确立归因,也不意味着纳入基线:在可选的已验证学习配套规范下,TrialRecord 会明确冻结可比较的基线尝试及其结果。处理组观察通过仪器的 outcome_observation Activity,关联到一次尝试以及应用了确切 Skill 修订版的 action_gate 决策。其 DecisionRecord 会区分检索和实际使用,评分则统计执行前分配的独立尝试。SkillRevision 必须在试验前指定其任务族;无法证伪的模式不是程序性记忆。通道上承载着 Skill 生命周期:
proposed → trialed → adopted → revoked
生命周期变更会在 lifecycle_verdict Activity 上提交,并附带经验证的不可变 EvaluationRecord,以及受保护的更新(已验证学习 §7)。审计人员会使用不可变 TrialRecord 中的确切输入进行重放;Skill 的 current_trial 仅用于选取该记录,其 GradingState 是计算所得的视图。没有配套规范时,Skills 仍是未经验证的候选项——有用、可回忆,但绝不晋升。只有 trialed → adopted 才能通过比较判定晋升,撤销的门槛绝不会高于采纳。同状态监控可以依据授权策略维持现有状态,而不声称有新的改进;撤回策略时可以没有任何结果。导入的 Skills 会以 proposed 状态进入,不带本地评分,并继续作为未经验证的候选项供回忆。已撤销的 Skills 必须重新进入试验,之后才能再次采纳。
协议提供信号;Brain 负责策略
KIP 不定义准入阈值、中断策略、显著性算法、整合计划或技能编译器。它定义这些决策将输入和回执放在哪里。将某个效用函数硬编码进协议,就不再是协议了——而每个部署都会分叉。
策略层是一个独立、可替换的组件:
- Brain 2.0 —— 参考设计:Formation(什么值得留存到本轮结束之后)、Recall(过去的哪些内容应改变我接下来的行动),以及 Maintenance(睡眠时的新陈代谢过程,负责整合、编译技能、审查矛盾并代谢记忆强度)。
$self/$system—— 单 Agent 变体,是叠加在上述 Brain 策略之上的轻量增量:一个体验事物的清醒心智,以及一个负责整合的睡眠心智。- Experience Learning Architecture —— Brain 实现的循环,以及如何评估它是否真正学到了东西,而不只是存储了更多内容。
这个衔接点在两个方向上都很重要。由于策略不属于协议,采用不同准入效用函数的两个 Brain 可以共用一个 Cognitive Nexus;而由于信号属于协议,任一 Brain 的决策都能被另一个审计。
记忆应当可移植
如果记忆是 Agent 的价值所在,那么顺理成章的做法就是让它无法随 Agent 带走。KIP 采取相反的立场:认知以签名且可检查的 Cognitive Capsule 形式导出,导入则是由目标端治理的事务——Capsule 的签名只证明来源和完整性,绝不证明真实性、可信度或权威性。导入的技能在目标端提升其权限之前,始终不可执行;来源端的 $self 永远不会变成目标端的 $self。
实现
本仓库定义了协议及其工具;不包含生产引擎或 Brain。每个实现自己的仓库才是其功能支持情况的权威来源——本表不作任何超出所链接证据范围的声明。
| 组件 | 内容 | 此处的证据 |
|---|---|---|
anda_cognitive_nexus | 基于 AndaDB 的 Rust KIP 2.0 引擎(Cognitive Nexus) | 通过全部 431 个引擎套件用例(清单) |
@ldclabs/kip-do | 基于 SQLite Cloudflare Durable Objects 的独立 TypeScript KIP 2.0 引擎 | 通过全部 431 个引擎套件用例(清单) |
anda_kip | Rust 解析器、请求/响应类型及面向模型的函数定义;随附本仓库的语法卡、Profile 和用于模型提示词的 Brain 角色卡 | — |
| Anda Brain | 可自托管的记忆服务:运行于 Rust 引擎上的 Formation / Recall / Maintenance Agent,通过 memory_basic 提供 Memory Interface,并为 Interface 和可靠性向量提供测试框架适配器 | 一份记录较早版本的历史证据记录;未记录当前的测试框架运行结果 |
| Anda Brain Worker | 基于 kip-do、面向 Cloudflare Workers 的精简版 Brain,同样通过 memory_basic 提供服务 | — |
@ldclabs/kip-lang、vscode-kip | 本仓库的 TypeScript 工具包(词法分析器、解析器、格式化器、诊断、降级转换、规范 JSON、MemorySession)及 VS Code 扩展 | 各自的测试套件;不执行 KIP |
文档
| 文档 | 描述 |
|---|---|
| 🔌 记忆接口 | 五种 Agent 意图、处理回执、范围限定与关注点召回,以及可组合的级别(中文) |
| 📇 Agent 记忆卡片 | 简明实用的日常接口;直接的 KIP 角色卡与其并列(中文) |
| 📖 规范 2.0 | 规范性草案(中文) |
| 🧩 认知记忆配置文件 2.0 | 经验、技能、承诺、监视、工作状态等内容(中文) |
| 🎓 已验证学习 | 可选配套文档:修订、尝试、试验、评估和已验证技能的状态(中文) |
| ⚙️ Brain 运行时 | 可选配套文档:持久关注、租约、分发和接收方隔离(中文) |
| 📦 Capsule 规范 2.0 | 规范 §37–§41 和 §95:可移植、可验证的记忆工件(中文) |
| 🧭 可选配置文件与迁移 | 规范 §100、§101、§103 和附录 I:历史、高保证,以及 KIP 1.x 迁移(中文) |
| 📜 不变量注册表 | 一份列表列出 49 条核心不变量和 49 条配置文件不变量;每条均注明确立该不变量的章节和用于固定它的向量(中文) |
| 🏛 架构 2.0 | 规范背后的设计依据(中文) |
| 📐 语法参考 2.0 | 面向大模型的 KQL / KML / META 卡片(中文) |
| 🧠 Brain 2.0 | 形成 / 召回 / 维护(中文) |
| 📊 Brain 评估 | 独立的协议、可靠性和行为学习发布门槛(中文) |
🤖 $self / ⚙️ $system | 单 Agent 提示词对,是对 Brain 2.0 的增量补充($system) |
| 🔤 语法与模式 | 规范性 EBNF,以及线协议模式 |
| 🧪 一致性 | 431 个可执行引擎用例、344 个父向量、30 个认知场景、20 个记忆接口场景和 17 个可靠性场景,以及可执行契约模型 |
| 🔬 形式化验证 | Alloy、TLA+ 和 Python 模型,包括世界时间的演进,以及这些模型证明的内容(中文) |
| 🔀 从 1.x 迁移 | 有哪些变化,以及不得臆造哪些旧版含义(中文) |
| 📋 修订记录 | 最新修订的检查清单和验证结果;较早的记录:可靠性、评审 |
| 🗂 设计说明 | 十份整合前的设计依据文档,冻结于 2026-09-02 |
中文 *_CN.md 镜像与英文源文档保持同步。英文源文档具有规范效力;镜像不是另一份语义契约。
项目术语见 CONTEXT.md;随笔见 post/。
仓库布局
| 路径 | 内容 |
|---|---|
根目录 *.md | 规范、配套文档、不变量注册表、架构和语法卡片 |
grammar/、schemas/、profiles/ | 规范性 EBNF、线缆和工件模式、记忆包、通用领域包和标准策略 |
brain/ | 参考 Brain 策略、角色卡、可选配套文档和评估协议 |
conformance/ | 引擎测试套件、向量、固定样例、参考模型、适配器运行器和摘要工具 |
formal/ | 有界 Alloy、TLA+ 和 Python 模型及其报告 |
packages/ | @ldclabs/kip-lang 和 VS Code 扩展(pnpm 工作区) |
migration/、post/、diagrams/ | 迁移指南、文章和可视化内容;非规范性内容 |
design/、v1/ | 整合前的冻结笔记和冻结的 KIP 1.x 档案 |
在仓库根目录运行常规检查:
pnpm install --frozen-lockfile
pnpm --filter @ldclabs/kip-lang test # language, examples, schemas and contract tests
node conformance/update-digests.mjs # schema locks and artifact digests
bash formal/run.sh # bounded models (exit 3 means prerequisites were missing)
AGENTS.md 记录了贡献规则,conformance/README.md 说明了如何针对引擎或 Brain 运行测试套件。
指导原则
KIP 2.0 是一种持久认知协议:新信息可以改变 Brain 接下来的行为,而无需让 Brain 篡改过去发生的事情。
许可证
版权所有 © 2026 LDC Labs。根据 MIT License 授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。