Skip to content

架构决策记录(ADR)

ADR(Architecture Decision Record)记录项目中影响架构方向的决策:背景是什么、决定了什么、为什么、放弃了哪些备选。

为什么需要 ADR

  • Issue 和 PR 记录"做了什么",但"为什么这么做、当时还考虑过什么"随时间丢失
  • 记忆系统这类长周期演进的模块,决策依据(调研数据、版本限制)需要固化下来,供后来者(包括未来的自己和 AI agent)复审
  • 决策变更时不删除旧 ADR,而是新增一条并标记旧条目为 Superseded,保留演进轨迹

何时写 ADR

满足任一条件时写:

  1. 决策影响多个模块或长期方向(如记忆架构、插件系统)
  2. 引入/拒绝一个重要外部依赖
  3. 在多个可行方案中做了取舍,且理由不显然

小的实现选择(函数拆分、命名等)不需要 ADR。

格式

每条 ADR 一个文件,命名 NNNN-短横线标题.md,包含:

  • 状态:Proposed(待评审)/ Accepted(已采纳)/ Superseded by NNNN(被取代)
  • 背景:问题与约束
  • 决策:做了什么决定
  • 理由:为什么,及放弃的备选方案
  • 后果:正面/负面影响、迁移与复审条件

索引

编号标题状态日期
0001记忆管线(曾用名 LLM Mode)— categories + wiki-links 取代 Neo4j 语义节点Accepted2026-07-08(修订 2026-07-10)
0002memU — 借鉴设计而非引入依赖(fallback 于 0003 激活)Accepted2026-07-08(修订 2026-07-16)
0003memU 双面集成 — memu-cli 先行、memu-py 就绪后接入,作实验性第二记忆后端Accepted2026-07-16(修订 2026-07-18)
0004记忆职责边界 — 框架管确定性机制,应用管需要模型的判断Proposed2026-07-21

魔女の实验室