Skip to content

设计哲学:文档即操作系统

不要试图让 AI 变得更聪明。要让环境变得更可预测。

当 AI 成为主要开发者,代码库需要的不再是"给人看的文档",而是一套可执行的约束体系——它既是 AI 的认知地图,也是它的行为边界,更是它的自我进化机制。


一、根本困境:无记忆系统的必然后果

传统软件工程假设开发者具有持久记忆全局认知。一个人类工程师在项目中工作数月,积累对代码库的整体理解,做决策时调用这些隐性知识。

AI 不具备这两个能力。

每次对话,AI 从零开始。它看不到完整的代码库,只能在有限的上下文窗口中推断全局结构。它没有跨会话记忆——上一次对话中做的决策、踩的坑、悟出的模式,下一次全部遗忘。

这导致了一个普遍存在但很少被正式讨论的问题:

AI 每次都在重新发明轮子,而且每次发明的轮子都略有不同。

第一次让 AI 写数据获取 hook,它用 useState + useEffect。第二次用 RTK Query。第三次又回到 useState,但换了错误处理模式。三次的代码都能工作,但彼此不一致。积累到 60,000 行代码时,同一个概念有 5 种实现,每种都"合理",但没有一种是"正确的那个"。

这不是 AI 的 bug。这是无记忆系统的必然结果。


二、核心洞察:描述性文档 vs 规范性文档

解决这个问题的传统思路是"写更好的文档"。但这里有一个根本性的认知错误:

人类文档是描述性的(descriptive)——它告诉你"系统是什么样的"。

AI 需要的文档是规范性的(prescriptive)——它必须告诉 AI"你必须这样做,不能那样做"。

区别至关重要。一篇描述 Redux 架构的文档,人类读了会内化为判断力。AI 读了同样的文档,可能在当次对话中遵守,但没有任何机制保证它在下一次对话中还记得。

真正的解决方案不是更好的文档,而是一套自动注入、强制执行、自我维护的约束体系——在 AI 的每一次对话中都在场,像操作系统一样在后台运行,而不是像参考手册一样放在书架上积灰。


三、Archon Protocol = AI 代理的操作系统

我们把这个比喻做到了极致——Archon Protocol 中的每个文件都精确映射到一个 OS 概念:

OS 概念Archon Protocol加载方式
内核AGENTS.md + archon.config.yaml始终驻留上下文,不可绕过
设备驱动约束技能(skills: 预加载)每个命令启动时加载到内核空间
系统调用/archon-init, /archon-demand用户主动触发
守护进程archon-self-auditor, archon-test-runner内部派生,用户不直接调用
文件系统docs/ 文档层级持久化存储,按需读取
IPCarchon-handoff 接口契约跨边界通信的唯一合法通道
权限系统约束技能中的 import 边界层间单向依赖,禁止反向调用
包管理器proposed-rules.md → 约束技能规则暂存、审核、然后安装为驱动
审计日志docs/refactor-reports/免疫记忆——变更了什么、发现了什么 bug
健康监控archon-audit + archon-verifier实时检测系统健康度

约束金字塔:四层同时作用

┌─────────────────────────────────────────────┐
│  第 1 层:内核(始终驻留)                    │  AGENTS.md, archon.config.yaml
│  "你是谁,你遵守什么法则"                     │  ← 身份约束
├─────────────────────────────────────────────┤
│  第 2 层:驱动(按命令预加载)                │  约束技能(❌ 禁令)
│  "你不能做什么"                              │  ← 负面约束
├─────────────────────────────────────────────┤
│  第 3 层:系统调用(标准化工作流)             │  archon-demand 7 阶段流水线
│  "你必须怎么做"                              │  ← 流程约束
├─────────────────────────────────────────────┤
│  第 4 层:文件系统(按需查阅)                │  架构文档、ADR、重构报告
│  "为什么我们这样做"                           │  ← 认知约束
└─────────────────────────────────────────────┘

这四层不是冗余的——它们是互补的

  • 第 1 层确保"不做错事"(身份约束)
  • 第 2 层确保"不犯已知错误"(负面约束)
  • 第 3 层确保"按标准流程做"(流程约束)
  • 第 4 层确保"理解为什么这样做"(认知约束)

四、七条第一性原理

这些原则从 Archon Protocol 和 EvoMap(60,000+ 行生产项目)中独立推导得出。当两个不相关的系统收敛到相同结论时,这些结论很可能是 AI 驱动开发的必然真理

1. 环境可预测性 > 代理智能

操作系统不会让 CPU 更快——它让 CPU 的算力被可靠调度。Archon Protocol 不会让 AI 更强大——它让 AI 的能力被可靠地用在正确的地方。

2. 无聊的一致性 > 局部的优秀

10 个一致但平庸的模块,比 5 个优秀但风格各异的模块更有价值。AI 是模式匹配机器——统一结构让它完美复制,多样结构让它随机选择。

3. 禁令 > 指令

"不要做 X"无论上下文如何都生效。"做 Y"每次都可能被不同理解。禁令是具体的、可 grep 验证的、不随上下文变化的。

为什么禁止列表比正面指令更有效? AI 面对问题时可能想到 10 种方案。正面指令说"用方案 A",AI 可能在不同上下文中把 A 理解成不同的东西。禁止列表说"不用 B、C、D",则无论 AI 如何理解 A,它至少不会退化到已知的错误模式。

4. 标杆模仿 > 抽象指导

一个标杆模块——真实的、可编译的、经过测试的——比任何文档教给 AI 的都多。AI 不擅长理解抽象规则,但极其擅长模仿已有模式。

标杆模块 = AI 可执行的设计模式。 它比任何 UML 图、架构文档、设计规范都更有效,因为它是真实的、可编译的、经过测试的代码。

5. 局部自足 > 全局文档

AI 应该只读取当前目录 + 直接依赖就能开始工作。如果理解一个模块需要跳转 20 个文件、阅读 3 篇文档,AI 大概率会在中途丢失上下文。

6. 消极自由 > 积极方向

AI 的创造力不需要约束——它天然会尝试各种方案。AI 的一致性需要约束——它天然倾向于每次做不同的尝试。约束 AI 不能做什么,留出它如何完成目标的创造空间。

7. 自维护 > 人工更新

系统遇到的每个问题都必须强化系统的防御。文档生命周期:

发现问题 → 固化为规则 → 扩展为流程 → 沉淀为参考

            proposed-rules.md    约束技能         架构文档
            "不要这样做"        "应该这样做"     "为什么这样做"

详见 核心原则


五、时间三角

文档服务于三个时间维度。缺任何一个都会造成盲区:

         架构文档(现在——系统如何工作)
        ╱                            ╲
重构报告 ──────────────────────── ADR
(过去——发生了什么变化            (为什么——我们选择了什么
 以及我们学到了什么)              以及我们拒绝了什么)
  • 创建新模块 → 读架构文档("account 模块的数据链路是怎样的?")
  • 修复回归 → 读重构报告("account 模块拆分时做了哪些改动?")
  • 评估方案 → 读 ADR("为什么选了 RTK Query 而不是 React Query?")

六、自维护反馈回路

最关键的不是四层约束本身,而是它们之间的自维护反馈回路

测试发现 bug
    → 修复 bug
    → 在重构报告中记录
    → 如果是模式性问题 → 添加到约束技能的禁止清单
    → 如果涉及新流程 → 更新技能的决策树
    → 如果改变了架构理解 → 更新架构文档

这就是自维护——系统在运行中发现问题,将问题固化为规则,防止同类问题再次出现。

每一条禁止项背后都有一个故事。但 AI 不需要知道故事,它只需要知道禁令。


七、与传统方案的对比

ESLint / CIArchon Protocol
覆盖语法、格式、类型架构、性能、i18n、边界、测试同步
时机提交后检查编写时实时约束
学习静态规则,人工维护自进化:每次任务可能产生新禁令
上下文单文件 AST全项目架构意图
关系不可替代互补层:Stage 1.5 自动运行 linter

ESLint 拦截语法。Archon 拦截架构。两层同时激活。


八、结语

我们正在经历软件工程的一次范式转移。当 AI 成为主要的代码生产者时,人类工程师的核心工作从"写代码"转变为"设计约束"。

写一个函数,AI 比人类更快。但设计一套让 AI 在 60,000 行代码中保持一致性的约束体系,这是纯粹的人类工程——至少目前是。

不要试图让 AI 变得更聪明。要让环境变得更可预测。

就像操作系统不会让硬件变得更强大,但它让硬件的能力被可靠地、一致地、高效地利用。Archon Protocol 不会让 AI 变得更强大,但它让 AI 的能力被可靠地、一致地、高效地用在正确的地方。

这就是为什么我们称它为"操作系统"而非"最佳实践"。最佳实践是建议,操作系统是基础设施。你可以忽略建议,但你无法绕过基础设施。

Powered by AAEP (AI Architect Evolution Protocol)