Shared Language
Shared Language
来自 Eric Evans《Domain-Driven Design》的 Ubiquitous Language 概念。Matt Pocock 将其适配到 AI 编码场景。
问题
Agent 被丢进项目后需要自行摸索术语,导致:
- 20 个词说 1 个词就能说清的事
- 变量/函数命名不一致
- 代码库导航困难
- Token 浪费在冗余描述上
解决方案:CONTEXT.md
一个 纯术语表(不是 spec,不是 scratch pad,不含实现细节)。
格式
# {Context Name}
简短描述
## Language
**Order**:
一句话定义。
_Avoid_: Purchase, transaction
**Customer**:
一句话定义。
_Avoid_: Client, buyer, account
多 Context 支持
大多数 repo 用单一 CONTEXT.md。Monorepo 可用 CONTEXT-MAP.md 指向多个子 context。
与 ADR 配合
docs/adr/ 存储架构决策。Skill 在 grilling 中按需创建,三条件全部满足才创建 ADR:
- 难以逆转
- 没有上下文会令人困惑
- 真正有权衡
效果
- Agent 通信 token 下降 ~75%(配合 /caveman 模式)
- 代码命名一致
- 代码库导航更容易
- "materialization cascade" vs "lesson made real in file system" — 精确 vs 啰嗦
与已有概念
- 与 Harness Engineering 的"知识即代码"原则完全一致
- 与 Context Engineering 互补 — Shared Language 是上下文的一个具体维度