AI Native 手册
坑库

模板复制后会各自漂移

第二个组织的规则文件复制自第一个,半年后 6 处引用指向不存在的文件,复审日期也过期半年

亲历组织阶段 · 运维更新于 2026-10-16
分享到 X
一句话规则

共用规则做成可继承的模板(插件),不要复制

发生了什么

我同时运营两个组织。第二个组织搭 ops 仓时,我把第一个组织的规则文件整份复制过去,里面有 agent 的职责、审查流程、红线清单,改了改名字就开始用。

半年后做体检,这份文件里有 6 处引用指向不存在的文件:它们是第一个组织里的路径,在第二个组织从来没建过。文件末尾的“下次 review 日期”两边一字不差,而且已经过期半年。复制时连日期一起抄了过来,之后两边谁也没复审。

为什么会这样

复制只发生一次,之后两份文件各自演化:第一个组织修了规则,第二个组织收不到;第二个组织踩了新坑,第一个组织也不知道。没有人负责“同步”,漂移就是默认结果,不是意外。

复制品里还夹带着只对原环境成立的东西:路径、文件名、日期。它们看起来像规则,其实是噪音,而 agent 会把噪音也当成规则来执行。指向不存在文件的引用不会报错,agent 读不到就跳过,没人察觉。

怎么做

通用部分抽成一个 ops 插件(下面叫 ops-kit):agent 定义、/new-adr 和 /new-retro 这类 SOP skill、审查流程、通用的拦截和备份 hook、体检脚本。插件带不了 deny / ask 规则,这部分交给 hook,或者由 setup skill 写进各仓库的设置。放进团队私有的插件市场,一个 git 仓库就够。

各组织只写差异,用 dependencies 继承模板。每个组织建一个自己的 ops 插件(比如 org-a-ops),在它的 .claude-plugin/plugin.json 里用 dependencies 声明依赖 ops-kit,启用组织插件时通用模板会一起启用(结构见让 ops 和项目一起进化)。再在 ops 仓的 .claude/settings.json(进 git)里声明市场、启用组织插件:

{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": { "source": "github", "repo": "your-org/claude-plugins" }
    }
  },
  "enabledPlugins": {
    "org-a-ops@team-tools": true
  }
}

插件用相对路径放在市场仓库里时,成员信任这个目录后就会自动加载。模板升级只改 ops-kit 一处,各组织运行 claude plugin update ops-kit@team-tools 拿到新版。

给规则文件加一道引用体检,放进 CI 或园丁任务,引用的文件不存在就报出来:

grep -oE '`[A-Za-z0-9_./-]+\.(md|json|sh)`' CLAUDE.md | tr -d '`' | sort -u \
  | while read -r p; do [ -e "$p" ] || echo "引用失效: $p"; done

复审日期交给园丁。每周扫一遍过期的“下次 review 日期”,过期就提醒或直接提 PR。试用中

相关

本页目录