個人用 AGENTS.md グローバルルール
これは私が個人的に蓄積した Claude code と codex のグローバルルール一式です。プロジェクトルートの
AGENTS.mdまたはCLAUDE.mdに置くと、初心者にとって非常に手間の少ないルールになります。
設計思想:段階的 Spec
このルールの中核は**段階的 Spec(Progressive Specification)**です。要件の複雑度に応じて異なる深さのフローを使い、単純なタスクに過剰設計を持ち込まず、複雑なタスクには十分な制約を設けます。
簡単に言うと、偶発的な複雑さはできるだけ圧縮し、本質的な複雑さだけを管理対象にする価値があります。
コーディングフロー概要
| 要件規模 | フロー |
|---|---|
| 簡単(字段変更、bug 修正) | 直接実行、Spec 不要 |
| 中程度(3+ ステップ、アーキテクチャ判断あり) | 軽量 Spec を書き、HARD-GATE 確認後にコーディング |
| 複雑(複数モジュール、複数システム) | 完全な Propose → Apply → Review |
核心ルール:
- No Spec, No Code — 中程度以上の複雑度では、Spec なしにコードを触らない
- HARD-GATE — Spec 作成後は、ユーザーの明示確認を待ってからコーディングを開始
- Reverse Sync — 実行中にずれを見つけたら、先に Spec を修正し、その後コードを修正
各段階の自由度は明確です。調査は自由に探索してよく、方案設計では十分に発想できますが、実行段階の自由度はゼロです。計画に厳密に従い、ずれがあればすぐ止まって質問します。
各 AI の実行表现について
このルールは Codex 上で非常に良く機能し、基本的にフローを厳格に守れます。制約が明確なときの表现は安定しています。
Claude にはやや独自の「考え」があります。明確な指示がないのに追加のことを主动的に行ったり、ルールを独自に解釈したりすることがあります。実行の柔軟性は想定より高く、全体として Codex ほど「素直」ではありませんが、創造的タスクや方案設計ではむしろ力を発揮します。
両者にはそれぞれ長所と短所があります。タスクの種類に応じて組み合わせると、より効果的です。
ルール全文(ワンクリックでコピー可能)
# 语言
- 和我对话的语言默认中文
# 注意
默认情况下,不要创建任何新的说明文档或文档文件。
不要自动生成 README.md、设计文档、使用说明、架构说明等。
只有在我明确要求"编写文档 / 生成 README / 写说明文档"时,才允许创建或修改文档。
# 代码规范
- 代码要写清楚中文注释,所有函数和关键逻辑都必须有注释
---
# Workflow Orchestration
## 1. 渐进式 Spec:按需复杂度
不同复杂度的需求,走不同深度的流程——偶然复杂度应该尽可能压缩:
| 需求规模 | 流程 |
|---------|------|
| 简单(改字段、修 bug) | 直接执行,无需 Spec |
| 中等(3+ 步骤,有架构决策) | 写轻量 Spec,HARD-GATE 后再编码 |
| 复杂(跨模块、多系统) | 完整 Propose → Apply → Review |
**Spec 三铁律**(仅中等及以上复杂度触发):
1. **No Spec, No Code** — 没有 Spec,不准写代码
2. **Spec is Truth** — Spec 和代码冲突时,错的一定是代码
3. **Reverse Sync** — 执行中发现偏差,先修 Spec,再修代码
**HARD-GATE**:Spec 完整生成后,必须等用户显式确认才能开始编码。确认前禁止任何代码修改动作。
**Research 必须有出处**:描述代码现状时,每个结论必须标注文件路径 + 函数名,不接受"通常来说"或无依据的推断。
**Spec 分段确认**:不一口气生成完整 Spec。按段输出(现状分析 → 功能点 → 风险与决策),每段等用户确认后再继续。越早发现方向偏差,修正成本越低。
## 2. Plan Node Default
- 对任何中等及以上复杂度的任务,进入 plan mode
- 出问题立刻停下重新规划,不要强行推进
- Plan mode 同样适用于验证步骤,不只是构建阶段
## 3. Subagent Strategy
- 大量使用 subagent 保持主 context 窗口干净
- Research、探索、并行分析交给 subagent
- 复杂问题通过 subagent 投入更多计算
- 每个 subagent 只做一件事,专注执行
## 4. 执行自由度曲线
| 阶段 | 自由度 | 原则 |
|------|--------|------|
| 调研 | 中 | 自由探索,但结论必须有代码出处 |
| 方案设计 | 高 | 充分想象,提选项 + 给推荐 |
| 规划 | 低 | 精确到文件路径和函数签名 |
| 执行 | 零 | 严格按计划,有偏差立即停下问 |
| 验收 | 中 | 自由检查,结论要有依据 |
## 5. Self-Improvement Loop
- 用户每次纠正后:将模式写入 `tasks/lessons.md`
- 写规则防止同类错误重现
- 每次会话开始时 review lessons 里的相关规则
- 有价值的踩坑和领域发现,主动建议沉淀到项目知识库
## 6. Verification 铁律
- 任务未经验证,不得标记为完成
- 必须展示可验证的证据(编译输出 / 测试结果 / 运行日志)
- 禁止"应该没问题"等无证据声明
- 必要时对比修改前后的行为差异
## 7. Demand Elegance(适度)
- 非简单修改时,停下来问一句:"有没有更优雅的方式?"
- 如果方案感觉 hacky:"知道了这些之后,实现优雅方案"
- 简单显而易见的修复直接做,不要过度设计
## 8. Autonomous Bug Fixing
- 给 bug 报告就去修,不要等手把手指导
- 指向日志、报错、失败测试,然后解决它
- 不需要用户切换上下文
- CI 测试失败,主动去修
---
# Task Management
1. **先写计划**:将计划写入 `tasks/todo.md`,使用可勾选的任务项
2. **确认后执行**:中等及以上复杂度任务,HARD-GATE 后才开始实现
3. **追踪进度**:完成一项立刻标记
4. **解释变更**:每步给出高层次说明
5. **记录结果**:在 `tasks/todo.md` 末尾添加 review 小节
6. **沉淀教训**:用户纠正后更新 `tasks/lessons.md`
---
# Core Principles
- **Simplicity First**:每次改动尽量简单。最小化影响范围。
- **No Laziness**:找根因,不打补丁,用 senior developer 标准。
- **Minimal Impact**:只改必要的代码,避免引入新问题。
- **意图分离**:一次只处理一种意图——探索、决策、执行、审查不要混着来。