元(最小可治理单元)
“元”被定义为最小可治理单元,不是最小零件。这个概念试图解释:为什么单点能力堆再多,也不等于真正能处理复杂系统;你得有能分层、能编排、能治理的单元。 [[raw/2026-04-02/金先森是朝鲜族阿/元:最小可治理单元。时代的分水岭,是解决复杂问题的能力!.md|来源: 元:最小可治理单元。时代的分水岭,是解决复杂问题的能力!.md]]
定义与层次
- 文章认为元至少有三层,不是单一积木,而是可被组合、协调、治理的结构。 [[raw/2026-04-02/金先森是朝鲜族阿/元:最小可治理单元。时代的分水岭,是解决复杂问题的能力!.md|来源: 元:最小可治理单元。时代的分水岭,是解决复杂问题的能力!.md]]
- Claude Code 被拿来做例子,说明为什么 prompt、工具、agent、工作流这些层必须同时被治理。 [[raw/2026-04-02/金先森是朝鲜族阿/元:最小可治理单元。时代的分水岭,是解决复杂问题的能力!.md|来源: 元:最小可治理单元。时代的分水岭,是解决复杂问题的能力!.md]]
Claude Code 七种上下文注入机制作为治理单元实例
2026年6月,Claude Code 的配置体系被系统性地拆解为七种机制,每一种都是”元(最小可治理单元)“的具象实例——它们在加载时机、压缩行为、token消耗、权威性上各有不同,构成了完整的治理单元光谱。 [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]] [[raw/2026-06-20/邵猛/驾驭 Claude Code:CLAUDE.md 配置文件、Skills、Hooks、Rules、Subagents 等 7 种指令全解析.md|来源: 驾驭 Claude Code…md]]
| 机制 | 加载时机 | 压缩后 | Token成本 | 权威性 |
|---|---|---|---|---|
| CLAUDE.md(根目录) | 全程在场 | 重新读取 | 高 | 中(约80%遵循率) |
| CLAUDE.md(子目录) | 按需加载 | 丢失,重新触碰时再加载 | 低 | 中 |
| Rules(无路径限定) | 全程在场 | 同CLAUDE.md | 高 | 中 |
| Rules(有路径限定) | 仅当触碰路径时加载 | 丢失 | 低 | 中 |
| Skills | 名字/描述启动时加载,内容被调用时加载 | 重新注入,预算有限 | 低(启动时)→高(调用时) | 中 |
| Subagents | 独立上下文窗口 | 不污染主会话 | 零(主会话视角) | 隔离运行 |
| Hooks | 外部执行,不占上下文 | 不经过压缩 | 极低 | 高(确定性执行) |
| Output Styles | 注入system prompt | 永不压缩 | 替换默认风格 | 最高 |
| append-system-prompt | CLI参数临时追加 | 永不压缩 | 低(仅当次) | 有递减效应 |
这七种机制的差异,揭示了一个核心设计原则:“不同的指令,要有不同的生命周期” [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]] ——有的需要全程在场(根目录CLAUDE.md),有的只在特定场景出现(path-scoped Rules),有的用到才加载(Skills),有的在独立窗口里跑(Subagents),有的完全不占上下文(Hooks)。
任务原子化:治理单元的粒度标准
任务原子化(Task Atomization)是将复杂 AI 编程任务拆解为可独立加载、执行、验证的最小治理单元的实践方法,是”元”概念在 AI 编程领域的直接应用。[[raw/2026-06-20/Jameszyh/核心原理(三):任务原子化为可独立执行的单元.md|来源: 核心原理(三):任务原子化为可独立执行的单元.md]]
LLM 上下文窗口存在三个固有矛盾——广度与深度的矛盾(信息量大时推理深度下降)、长任务与注意力衰减的矛盾(任务长度增加时模型注意力分散)、并行与串行的矛盾(串行任务堆积上下文,并行任务缺乏协调)——这些是 AI 编程质量退化的根因。任务原子化通过三个耦合机制解决这一问题:原子任务(可独立加载/执行/验证)+ 上下文隔离 + Sub-agent 并行。
三条核心标准:
- 上下文占用 < 50%:单个原子任务的内容不应超过上下文窗口的 50%(其中 30% 用于推理,20% 用于输出生成),为模型推理预留充足空间
- 显式依赖闭合:任务的所有依赖必须在声明中显式列出,不能隐含依赖外部上下文
- 二进制完成判定:完成标准必须是可客观判定的(通过/不通过),不能依赖模型自我评估
四个反模式:
- 伪原子任务:表面拆开实则依赖全局上下文,本质上仍是无法独立执行的大任务
- 上下文未隔离:任务之间共享上下文空间,一个任务的输出可能干扰另一个任务的状态
- 并行无共享真相源:多个子任务并行执行但无统一的事实基准,容易产生冲突代码
- 忽略任务依赖:任务之间存在未声明的时序或数据依赖,导致集成失败
任务原子化的结构与微服务架构存在同构关系:服务边界 = 任务边界,API = 文件系统(作为通信媒介),编排器 = Kubernetes(管理任务生命周期和资源分配)。这个类比意味着任务原子化将 AI 编程从”单核”变为”多核”,理论上可实现线性扩展。[[raw/2026-06-20/Jameszyh/核心原理(三):任务原子化为可独立执行的单元.md|来源: 核心原理(三):任务原子化为可独立执行的单元.md]]
规约驱动开发(SDD)的治理单元设计
规约驱动开发(SDD)框架是另一种治理单元实践——它将”规约”本身设计为可治理、可演化、可组合的单元。OpenSpec 是 SDD 的一个具体实现,其设计围绕三个核心哲学展开:规约即契约(而非文档)、变更为一等公民(类比 Git commit 的原子性)、增量优于全量(Delta Spec 替代全量规约)。[[raw/2026-06-20/Jameszyh/OpenSpec 深度剖析:规约驱动开发的终极形态.md|来源: OpenSpec 深度剖析:规约驱动开发的终极形态.md]]
Delta Spec 是其核心创新——仅使用 ADDED/MODIFIED/REMOVED 三种变更原语(类比数据库 WAL 的写入前日志),主规约由累积的 Delta 自然涌现,而非预先定义。每次变更后的 Archive 操作本质上是将 Delta Spec 合并回主规约,是真相源的更新而非文件目录移动。
OpenSpec 专为 Brownfield 项目设计,在已有代码库上增量叠加规约,而非要求全量预定义规格。四个核心概念:Main Specs(按领域组织的当前真相源)、Changes(每次变更含 4 个文件:proposal/specs/design/tasks)、Delta Spec(变更原语)、config.yaml(项目元数据)。[[raw/2026-06-20/Jameszyh/OpenSpec 深度剖析:规约驱动开发的终极形态.md|来源: OpenSpec 深度剖析:规约驱动开发的终极形态.md]]
关键缺陷:规约维护成本高、对小型改动过于沉重、无内建跨服务编排能力、依赖团队工程技术文化。
分层治理原则
治理单元不是平铺的,而是分层嵌套的,各管一段互不串味:
- 全局级(
~/.claude/):个人偏好、全局约束、Managed Settings(管理员部署不可覆盖) - 项目级(
./CLAUDE.md):团队共识、构建命令、目录结构 - 子目录级(
子目录/CLAUDE.md、path-scoped Rules):局部约束,只在触碰相关路径时生效 - Skill 级(
.claude/skills/):可复用的流程封装,触发时才加载完整内容 - Subagent 级(
.claude/agents/):完全隔离的执行单元,独立上下文
放错层会导致个人偏好污染团队共享配置。组织级别的安全策略和合规要求应通过 Managed Settings 统一部署,不能被个人配置排除。 [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]] [[raw/2026-06-20/邵猛/驾驭 Claude Code:CLAUDE.md 配置文件、Skills、Hooks、Rules、Subagents 等 7 种指令全解析.md|来源: 驾驭 Claude Code…md]]
说服 vs 执行:两种治理路径的根本区分
这是分层治理中最重要的认知分水岭:
- 说服路径(CLAUDE.md、Rules、Skills、Output Styles、append-system-prompt):通过提示词影响模型行为,依赖模型的理解和遵从。优点是灵活,缺点是长会话、压力大、或遭遇 prompt injection 时可能失效。
- 执行路径(Hooks、Permissions):通过代码确定性执行,完全绕过模型判断。
PreToolUsehook 拦截工具调用,exit code 2 直接阻止执行,不受上下文压缩影响。
“告诉 AI 应该怎么做”和”让某件事确定性地发生”是两件本质不同的事。 [[raw/2026-06-20/邵猛/驾驭 Claude Code:CLAUDE.md 配置文件、Skills、Hooks、Rules、Subagents 等 7 种指令全解析.md|来源: 驾驭 Claude Code…md]] 凡是写在 CLAUDE.md 里的”永远不要做某事”都是错误的工具选择——绝对性约束必须用 PreToolUse hook 做硬护栏。 [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]] [[raw/2026-06-20/邵猛/驾驭 Claude Code:CLAUDE.md 配置文件、Skills、Hooks、Rules、Subagents 等 7 种指令全解析.md|来源: 驾驭 Claude Code…md]]
机制选择决策框架
| 目标 | 错误做法 | 正确做法 |
|---|---|---|
| 描述项目结构、构建命令 | 塞流程进CLAUDE.md | 事实放CLAUDE.md |
| 每次编辑后自动跑formatter | 写进CLAUDE.md | PostToolUse Hook |
| 禁止危险操作(rm -rf等) | “Never do this”写CLAUDE.md | PreToolUse Hook + exit code 2 |
| 30行部署流程/review checklist | 塞进CLAUDE.md | 放进 .claude/skills/ |
| 只对API目录生效的规则 | 无路径限定的Rule | 用 paths: 限定作用域 |
| 隔离的脏活累活(日志分析、深度搜索) | 在主会话里硬跑 | 交给 Subagent |
| 个人习惯/commit格式偏好 | 写进项目级CLAUDE.md | 写进用户级配置(~/.claude/) |
| 修改Claude角色/语气 | 写在CLAUDE.md末尾 | Output Styles |
| 临时加编码规范/输出格式 | 临时改CLAUDE.md | --append-system-prompt |
总结原则:事实放 CLAUDE.md,流程放 Skill,护栏放 Hook,隔离任务给 Subagent。 [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]]
膨胀治理与维护
CLAUDE.md 的膨胀问题被多个来源独立验证:像所有没有 owner 的配置文件一样,CLAUDE.md 会自然膨胀导致 token 浪费和指令遵循率下降。超过 14 条 / 200 行后遵循率从 76% 暴跌至 52%。 [[raw/2026-05-12/AI兴观点/Claude Code 错误率从 41% 降到 3%,就靠Karpathy大神给出的这份 CLAUDE.md.md|来源: 错误率从 41% 降到 3% 实测]] [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]]
治理解法已形成共识:
- 指定 owner,像审查代码一样审查变更 [[raw/2026-06-20/邵猛/驾驭 Claude Code:CLAUDE.md 配置文件、Skills、Hooks、Rules、Subagents 等 7 种指令全解析.md|来源: 驾驭 Claude Code…md]]
- 控制在 200 行以内,超出则下沉为 Skill 或 Rule
- 核心思维转变:CLAUDE.md 不是写出来的,是维护出来的——核心能力不是写多好,而是判断什么该删、什么该下沉、什么该上提到全局层
- 反向挖掘规则:让 workflow 翻最近 50 个 session,找出反复修正 Claude 的模式,聚类成规则候选,对抗验证后写进 CLAUDE.md [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]]
编排作为治理的更高维度
Dynamic Workflows 代表了从”治理单个单元”到”编排多个治理单元”的跃迁。它是让 Claude 自己写编排脚本、协调多个 subagent 并行工作的能力,解决默认 harness 的三个老问题:Agentic laziness(偷懒)、Self-preferential bias(自我偏好)、Goal drift(目标漂移)。 [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]]
三个核心函数:Agent(prompt,opts?)、parallel([fns])、pipeline(items,...)。六种编排模式:
- Classify-and-act:分类后分发
- Fan-out-and-synthesize:扇出后汇总
- Adversarial verification:对抗性验证
- Tournament:锦标赛择优
- Generate-and-filter:生成后过滤
- Loop until done:循环直到满足条件
实际案例:Bun 从 Zig 重写到 Rust——每个修复跑一个 subagent 在独立 worktree 里改,另一个 agent 对抗性 review,通过后合并。 [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]]
知识资产化:治理单元的重用
多个来源独立收敛到同一个方向——将治理单元打包成可复用的资产:
- Plugin 机制:Skills/Subagents/Hooks/Output Styles 可以打包成 Plugin 在团队和项目间共享 [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]]
- Skill 的本质是文件夹打包:Skill 不是提示词,是把一堆文件按约定结构打包成
.skll,本质是”可执行的文件夹” [[raw/2026-06-20/金色传说大聪明/深入理解 Claude Code:从 CLAUDE.md 到 Hooks、Skills、Subagents…md|来源: 深入理解 Claude Code…md]]
对知识库的启发
- LLM Wiki 的
raw / wiki / outputs分层,本质上也是把知识处理拆成不同治理单元。 [[raw/2026-04-08/问答/如何搭建 Karpathy 的 LLM Wiki?可能是全网最易用的保姆级教程.md|来源: 如何搭建 Karpathy 的 LLM Wiki?可能是全网最易用的保姆级教程.md]]
矛盾与视角差异
- Harness vs Loop 叙事分歧:一批作者将 Loop 定位为 Harness 之后的第四次跃迁(从 Prompt → Context → Harness → Loop),另一批持”新瓶装旧酒”的怀疑态度。这种张力本身就值得记录——它说明”元”的粒度和治理层次还在快速演化中。
- 全自动管控 vs 人类保持控制权:尼恩主张全自动 Harness 管控,Matt Pocock 主张用户触发而非模型触发。这个张力反映在治理单元的设计哲学中——每个”元”到底应有多大的自主权。
- 上下文成本意识的分歧:有人认为 CLAUDE.md 的 200 行上限太过保守,有人则认为应在 100 行以内更激进——共识是”存在上限”,但具体数字仍在争论。
- SDD 框架的覆盖范围争议:一种观点认为 SDD 框架(OpenSpec、Spec-Kit)提供完整的任务分解和执行 Harness 覆盖;另一种观点认为 SDD 框架的原子化能力天生薄弱——它们聚焦规约结构但缺乏执行隔离,必须搭配上下文工程框架(如 GSD)才能完整。 来自 [[raw/2026-06-20/Jameszyh/核心原理(三):任务原子化为可独立执行的单元.md]]
- 规约真相源的哲学分歧:SDD 成熟度模型的顶点是”Spec-as-Source”——规约成为代码再生的唯一真相源;但 OpenSpec 的设计哲学认为主规约是”涌现的,而非预定义的”——全量规约从来不是目标,增量 Delta 才是自然状态。 来自 [[raw/2026-06-20/Jameszyh/OpenSpec 深度剖析:规约驱动开发的终极形态.md]]
反向链接
- [[wiki/syntheses/AI 学习方法、求职与认知升级]]
- [[wiki/entities/Claude Code]]
- [[wiki/concepts/上下文管理与 Harness Engineering]]
- [[wiki/entities/CLAUDE.md 与 .claude 配置]]
- [[wiki/concepts/Skills、Agents 与工具设计]]
- [[wiki/concepts/CLAUDE.md 写法指南]]