Kanji
・云架构工程师 / 自由职业 ・1993年出生 ・爱媛县出身 / 现居东京都涩谷区 ・5年 AWS 实战经验 个人资料详情
目录
在日常软件研发工作中,我会同时编排并混用多款 AI 编程智能体(Google Antigravity、Anthropic Claude Code、Kiro 以及 OpenAI Codex)。然而,在长期高强度的协作里,最让我头疼、也引发过最多返工与惊险事故的瓶颈,就是 “智能体规则定义(提示词与指令文件)的崩塌与跨工具漂移” 。
起初我天真地以为,只要把编码规范与安全红线认真整理成一份文档,直接贴进 AGENTS.md 或 CLAUDE.md ,所有工具都会乖乖照做。但随着并行项目增多、多仓库架构规模扩大,生产一线接连暴露出令人焦头烂额的故障模式:
AGENTS.md
CLAUDE.md
git push origin main
在这篇深度实战总结中,我将分享自己在踩遍上述大坑后沉淀出的 “四大 AI 编程智能体(Antigravity / Kiro / Claude Code / Codex)规则架构完全设计指南” 。
我们将彻底厘清哪些是所有工具通用的 开放标准基座(Universal Foundation) ,哪些是各家独有的 专属超能力(Specialized Superpowers) ,并给出一套经过生产验证、绝不崩塌的 混合联邦型规则架构(Federated Rules Architecture) 蓝图。
在工程一线高频使用 AI 编程智能体的团队,几乎百分之百会踩中以下三个经典陷阱。
试图把单元测试规范、Commit Message 格式、废弃依赖库版本、云端 IAM 最小权限要求等所有条款,统统塞进仓库根目录唯一的一份 AGENTS.md 中。
由于智能体在每一轮调用工具时都会把整份规则文档重新注入提示词窗口,一份 1,000 行(数千乃至上万 Token)的巨型文件 不仅会在每次操作中白白烧掉高昂的 Token 预算,还会迅速耗尽模型的注意力机制,使核心指令被漏掉的概率呈指数级飙升 。
觉得“Claude Code 需要 CLAUDE.md ,其他工具需要 AGENTS.md ”,于是靠手工复制粘贴维护两份文件。 每当新增特性或修订架构规范时,只要漏改其中一边,智能体 A 就会按新规写代码,而智能体 B 则拿着旧规把刚写好的逻辑破坏性重写,陷入无休止的代码回归地狱。
指望仅靠礼貌或严厉的自然语言描述(例如“请千万不要执行高危命令”、“严禁提交密钥”)来阻止高风险操作。 大语言模型本质上是概率模型,在复杂多步推理或上下文紧迫时,纯文本提示词随时可能被绕过。 铁律只有一条:底线规则绝不能靠写文章恳求,而必须通过 Hook(钩子)、权限策略与沙箱从物理层面强制阻断。
下面基于最新官方机制,横向对比四大主流编程智能体加载与处理规则的核心差异:
~/.gemini/config/rules/*.md
<repo>/AGENTS.md
~/.kiro/steering/*.md
.kiro/steering/*.md
~/.claude/rules/*.md
~/.codex/AGENTS.md
AGENTS.override.md
config.toml
glob
model_decision
manual
#[[file:...]]
@path/to/file
settings.json
无论主力使用哪一款工具,以下三条架构原则放之四海而皆准。
如同 Linux 的 /etc/ → ~/.config/ → ./ 体系,智能体规则必须按从宏观到微观的三层组织,严格贯彻 “局部(近端工作区)配置永远覆盖全局配置” 的原则:
/etc/
~/.config/
./
~/.gemini/config/rules/
~/.claude/rules/
./AGENTS.md
./src/api/AGENTS.md
常驻加载的根目录 AGENTS.md 应严格控制在 150~200 行以内 。请对文件中的每一句话执行试金石测试(Litmus Test): > “如果删掉这一行,智能体会犯下灾难性或不可逆的错误吗?”
凡是 Linter、Formatter 或类型检查器能自动拦截的代码风格细节,以及主流框架人尽皆知的常规写法,一律果断删掉。只保留智能体无法单靠阅读源码猜出来的“项目特殊例外”与“精确构建测试命令”。
切勿把冗长的部署手册或多步数据库迁移脚本直接塞进规则文件: - Rule( AGENTS.md ) :只定义任何时刻都不可违背的判断标准、边界约束与禁令。 - Skill( SKILL.md )/ Runbook :将分步操作手册、排查脚本与自动化命令拆分为独立技能,仅在触发对应任务时按需(On-Demand)加载。
SKILL.md
即便理解了三层级联原则,工程团队在落地时最容易踩坑的依然是 作用域边界(Scoping)设计 —— “到底哪些指令该写进用户级全局配置,哪些必须留在代码仓库内部?”
我早期也曾图省事,把某个项目的配置随手写进全局规则,结果切换到另一家客户的仓库时差点用错云账号凭证引发误部署;反过来,我也曾把个人 Mac 的本地绝对路径提交进仓库的 AGENTS.md ,直接导致团队同事和 CI 流水线集体报错。
下面是我目前在所有生产级多智能体工作流中严格执行的“全局 vs 工作区”职责边界矩阵:
~/.gemini/...
./.agents/...
です/ます
features/
components/
/tmp
npm run build
pytest
npm run dev
tsc --noEmit
ruff check
SPONSORED
feat:
fix:
git worktree
develop
main
一旦上述边界变得模糊,智能体瞬间就会给研发团队埋下隐蔽故障与安全隐患。
为了省去每次配置的麻烦,把 AWS_PROFILE=client-prod 或某个本地绝对路径(如 /Users/user01/workspace/client-a/... )硬编码进全局规则( ~/.gemini/config/rules/ 或 ~/.claude/rules/ )。 当你切换到个人开源项目或客户 B 的代码库时,智能体会 下意识地调用客户 A 的凭证去执行云端命令,轻则因权限报错卡死中断,重则把代码误部署到别家生产基础设施上 。
AWS_PROFILE=client-prod
/Users/user01/workspace/client-a/...
把个人 Mac 独有的绝对路径( file:///Users/kanji/... )、私有 SSH 别名或本机专属环境变量写进仓库的 AGENTS.md 并直接 Git 提交。 一旦 GitHub Actions 流水线、Docker 容器或使用 Windows 的团队成员拉取代码, 自动化构建会因找不到路径瞬间崩溃,而你个人电脑的内部目录结构也会永久留在 Git 历史记录中 。
file:///Users/kanji/...
抱着“以后所有项目说不定都能用上”的心态,把 Next.js、Python、Terraform、Docker、Go、Rust、Tailwind 的全套最佳实践一股脑塞进全局规则。 结果哪怕只是开个会话写一行简单的 Shell 脚本,智能体在启动瞬间也要被迫吞下超过 10,000 Token 的无关规则, 直接挤占理解当前用户指令的注意力窗口,大幅推高幻觉率与指令违背率 。
每当不确定一条新规则该放哪里时,只需问自己两个简单问题:
对于“跨多个项目通用,但仅在处理特定技术时才需要”的规范(例如 Terraform 资源命名规范或 Dockerfile 编写准则),可以利用 Antigravity 的 trigger: glob: "**/*.tf" 或 Kiro 的 Conditional Steering。 将规则文件存放在全局目录,但仅在打开匹配后缀的文件时才延迟注入上下文 ——这是 Gen 3 阶段最优雅的工程实践。
trigger: glob: "**/*.tf"
搭好通用底座之后,下一步就是精准调用各款工具的差异化特性,把工程杠杆拉满。
Antigravity 最亮眼的杀手锏,是在 ~/.gemini/config/rules/*.md 中支持细粒度的 YAML Frontmatter 触发条件 :
--- trigger: glob globs: "**/*.tf, **/*.tfvars, infra/**/*.yaml" description: Terraform naming conventions and provider requirements --- ## 基础设施命名规范 - 所有云资源名称必须包含环境前缀(prd、stg、dev)。
description
Kiro 支持在 Steering 引导文档中直接动态嵌入真实源码文件,彻底告别文档与代码的重复拷贝:
## API 错误响应契约 所有错误返回载荷必须严格遵循中央 Schema 定义: #[[file:src/types/api_errors.ts]]
一旦底层 TypeScript 类型定义更新,智能体读取到的上下文会自动同步最新结构。此外,随时可以通过 /context show 命令实时透视并调试当前会话已激活的规则列表。
/context show
当仓库根目录存在 CLAUDE.md 时,Claude Code 会优先读取它而忽略 AGENTS.md 。 许多使用 macOS 或 Linux 的工程师习惯顺手建一个本地符号链接( CLAUDE.md -> AGENTS.md )来省事,但 在跨平台团队协作或包含 Windows 开发者的企业环境中,这会引发灾难性的静默故障 。
CLAUDE.md -> AGENTS.md
在 Windows(Git for Windows)默认配置下,符号链接处于关闭状态( core.symlinks = false )。 当 Windows 开发者执行 git clone 拉取包含符号链接的仓库时, CLAUDE.md 不会变成有效链接,而是 退化成一份仅包含字面字符串 "AGENTS.md" (共 9 个字节)的普通纯文本文件 。 更致命的是,Claude Code 会不报任何警告地把这 9 个字节当成完整指令集吞进去—— 导致所有安全红线与架构规范在悄无声息间被彻底清空 。
core.symlinks = false
git clone
"AGENTS.md"
首选方案:使用原生 @AGENTS.md 导入语法(强烈推荐) 将 CLAUDE.md 创建为真实的轻量纯文本文件,并在首行通过 @ 指令引入主规则:
@AGENTS.md
@
@AGENTS.md ## Claude Code 专属指令 - (仅在此处补充 Claude 独有的行为约束或专属子智能体角色定义)
因为它本身就是标准 Markdown 纯文本,无论在 Windows、macOS、Linux 还是容器化 CI Runner 中都能 100% 确定性地展开,同时还能干净地隔离 Claude 专属指令。
零配置方案:直接不建 CLAUDE.md (交由原生兜底机制处理) Claude Code 官方内置了兜底逻辑:只要仓库中不存在 CLAUDE.md ,它就会 自动检索并加载 AGENTS.md 。如果项目不需要针对 Claude 定制额外提示词,只保留唯一一份 AGENTS.md 是最干净的零维护方案。
此外,对于绝不允许逾越的安全底线,切忌靠文字叮嘱,而应在 .claude/settings.json 中配置确定性的 PreToolUse 钩子进行机械化拦截:
.claude/settings.json
PreToolUse
{ "hooks": { "PreToolUse": [ { "matcher": ".*", "hooks": [ { "type": "command", "command": "python3 scripts/secret_guard.py" } ] } ] } }
生产踩坑预警 1:避开 PreToolUse 钩子锁死自身的“自爆死锁陷阱” 在 PreToolUse 钩子中扫描敏感密钥(如 OpenAI/Anthropic Key)时,如果使用缺少单词边界的粗糙正则表达式(例如 sk-[A-Za-z0-9_-]+ ),极易把 Markdown 正文中正常的短横线命名文本(如 risk-assessment-workflow... )误判为密钥泄露并返回退出码 2。一旦返回退出码 2,Claude Code 会立即 封锁后续所有工具调用(包括读取和修改文件) ,把智能体死死锁在连修 Bug 都无法动弹的死循环中。 请务必严格加上单词边界( \b ),并对本地开发 .env 与测试 Mock 文件做好安全白名单放行(Fail-Open 设计)。
sk-[A-Za-z0-9_-]+
risk-assessment-workflow...
\b
.env
生产踩坑预警 2:用安装脚本( install.py )防范覆盖事故 在团队内部推广标准化规则包时,手工执行 cp 命令经常会无提示覆盖掉成员原有的 AGENTS.md 或 CLAUDE.md 。最佳实践是提供一份自动化安装脚本( install.py ),在写入前自动将已有规则文件备份为 .bak 并提示合并,实现零冲突平滑落地。
install.py
cp
.bak
在超大型 Monorepo 中,如果希望某个独立子包或安全隔离目录彻底摆脱上层目录庞大的历史包袱,Codex 的 AGENTS.override.md 堪称利器。放置该文件后,Codex 会停止向上级目录回溯拼接 AGENTS.md ,为智能体提供一片干净清爽的上下文空间。
同时务必留意 Codex 默认的 32 KiB 文档体积上限:超出部分会在末尾被静默截断,因此要么在 config.toml 中调大 project_doc_max_bytes ,要么保持规则本身足够精炼。
project_doc_max_bytes
下面这套标准化仓库目录结构,支撑我在同一代码库中同时平滑调度四大智能体且互不干扰:
my-project/ ├── AGENTS.md # [SSOT] 全智能体通用核心规则(严格控制在 200 行内) ├── CLAUDE.md # Claude 专属入口(通过 @AGENTS.md 导入,100% 兼容 Windows) ├── .kiro/ │ └── steering/ # Kiro 专属文件匹配规则与 #[[file:...]] 实时引用 ├── .gemini/ (或置于全局目录) │ └── rules/ # Antigravity 专属 glob 与 model_decision 按需规则 ├── .codex/ │ └── config.toml # Codex 字节上限配置与沙箱权限策略 └── .agents/ └── hooks.json # 物理阻断高危操作的 PreToolUse / PostToolUse 护栏
docs/
今天对 AI 编程智能体规则的治理,早已不再是往提示词输入框里随手补几句注意事项那么简单,它本身就是一门严谨的软件架构工程。
只要把这五大支柱立稳,智能体的低级返工、指令遗忘与跨工具冲突就会大幅消退,真正为你释放出可预测、高吞吐的多智能体协同工程生产力。不妨现在就打开你的代码仓库,给现有的规则文件做一次彻底瘦身与重构。
全面解析 AI 智能体长期记忆从黑盒向量数据库向 Git Markdown SSOT 与混合 GraphRAG 演进的 Gen 3 架构。通过规则英文化实现 Token 消耗减半,结合 Apple M ... [阅读更多]
2026年11月前沿AI模型基准测试与API定价对比:涵盖Claude Opus 5.5(SWE-bench 86.8%)、Gemini 4 Carbon/Argon($2/$10)、GPT-6系列、 ... [阅读更多]
当你定制像Google Antigravity这样的人工智能助手时,规则和技能可能会变得太多而无法管理。 本文介绍如何构建自我维护的自定义技能(反重力审计) ,让AI代理审核并自动优化自己的配置。 ... [阅读更多]
提供逼真 AI 模拟通话与多维反馈,结合 16 讲实战社交学院与工作室级 AI 肖像生成,全面提升社交互动质量。
拍小票即可完成高精度智能拆单,支持 LINE 登录无缝结算团队聚会支出,告别繁琐账单分摊。
占卜师、管家、调酒师等 AI 角色实时引导话题与聚会游戏,让线下与线上聚餐氛围瞬间升温。
获取本文介绍的完整配置文件包:完全兼容 Antigravity、Kiro、Claude Code 和 Codex 的通用 AGENTS.md、hooks.json、Git 守卫脚本及自动化验证工具,即拷即用。