0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeに「止まれ」を教える設定ガイド

0
Posted at

このドキュメントについて

対象読者: Claude Codeを使い始めたいエンジニア・使ってみたが勝手に変なコードを書くので困っているエンジニア
扱わない範囲: インストール手順(公式ドキュメントを参照)、CLAUDE.mdの階層の詳細(公式ドキュメントを参照)


概要

Claude Codeの出力品質は、指示の構造で決まります。
この記事では「AIの判断がセッションごとに失われる」問題に対して、判断の境界を設計し、蓄積するサイクルを紹介します。

ユースケース

  • Claude Codeを導入したが、毎回同じことを説明している
  • AIが勝手に判断して意図しない実装をしてしまう
  • AIが勝手に判断する場所を把握したい
  • プロジェクト固有の制約をAIに伝える方法がわからない

注意事項

  • CLAUDE.mdなしでClaude Codeを使うと、プロジェクト文脈のない汎用的な出力になります
  • UserまたはLocalスコープのCLAUDE.mdには、AIへの振る舞い指示(Stop Rules等)の記載を推奨します(AIの使い方は人によるため)
  • ProjectスコープのCLAUDE.mdには、技術事実(スタック、規約)のみの記載を推奨します

フロー

手順

1. CLAUDE.mdに「止まれ」を書く

Claude CodeにはいくつかCLAUDE.mdがあります。今回は以下の2つを利用します。

  • Projectスコープ(リポジトリの CLAUDE.md): 技術スタック、ディレクトリ構造、コーディング規約など「事実」を書く
  • Userスコープ(~/.claude/CLAUDE.md): 作業の進め方、報告ルール、止まるべき条件など「振る舞い」を書く
    • Localスコープでも構いません

詳細は公式ドキュメント: Settingsを参照してください。

ここで最も重要なのは、UserスコープのCLAUDE.mdにStop Rulesを書くことです。
「分からないなら止まって聞け」を設定することで、Gray Zone(判断に迷う項目)のループによる改善が可能になります。

以下はStop Rulesの記載例です。

### Stop Rules
Stop implementation and report to the user if any of the following apply:

1. A branching point requiring a design decision is encountered
2. An unexpected error occurs and the cause is unknown
3. The scope of changes exceeds what the instructions anticipated
4. **You are uncertain about a requirement, constraint, or expected behavior**

**Epistemic honesty is essential.**
If you don't know, say so explicitly:
- "I'm unsure about X. Should I assume Y or wait for clarification?"
- "The instructions don't specify Z. What should I do?"

Do not silently fill gaps with "reasonable defaults."

このStop Rulesがないと、Claude Codeは「勝手に推測した状態」で実装を進めます。結果として、レビューで初めて意図とのズレに気づくことになります。

また、作業報告のルールも合わせて記載しておくと、Claude Codeの作業がブラックボックスになることを防げます。

### Report on Milestone Completion
Upon completing each Milestone or a meaningful unit of work, report the following:

1. List of changed files (output of `git diff --name-only`)
2. Summary of what was done (3 lines or fewer)
3. Handoff notes for the next step
4. Self-disclosure of any points where judgment or interpretation was required

ポイントは4つ目の「判断や解釈が必要だった箇所の自己申告」です。Claude Codeが黙って判断した箇所を可視化することで、暗黙知がセッション内に閉じることを防ぎます。
(モデルの指示追従性によると思いますが、今のところClaude Sonnetで問題なく動作しています)

2. AIへの指示書で指示を渡す

Claude Codeのターミナルの入力欄で全ての指示を出すと、指示の抜け漏れや曖昧さが生まれやすくなります。AIへの指示書は、実装指示を構造化したMarkdownドキュメントです。

AIへの指示書の基本構造は以下の通りです。

  • What We Decided: 何を作るか
  • Why This Design: なぜその設計か(却下した代替案も記録)
  • Implementation Boundaries: Must do / Must NOT do / Gray zone(判断に迷う項目)

特にGray zoneの明示が重要です。「迷ったら止まれ」の具体化であり、Claude Codeが遭遇したときに実装を止めてユーザーに相談する項目を事前に定義します。

## Implementation Boundaries

**Must do:**
- バリデーションは既存のFormRequestパターンに従う

**Must NOT do:**
- 既存テーブルのカラム削除

**Gray zone(ユーザー判断必要):**
- 既存APIのレスポンス形式を変更するかどうか
- エラーメッセージの日英どちらで返すか

AIへの指示書は実装完了後に解体し、判断の記録はADRやCLAUDE.mdに移譲します。あくまで「建設現場の足場」であり、恒久的なドキュメントではありません。

3. 判断を蓄積する

Step 1-2を実践すると、Claude Codeが止まった箇所 = 判断が必要だった箇所の記録が溜まっていきます。これをgray-zone.mdとして記録します。

[2026-02-20 Session]
Q: 既存APIのレスポンス形式を変更するか?
A: 後方互換を維持。新フィールドは追加のみ
Decision: 指示書に反映、CLAUDE.mdにも制約として追記

[2026-02-20 Session]
INTERRUPT: Claude Codeがマイグレーションファイルを自動生成しようとした
Reason: 既存テーブルへの影響を確認してからにしたい
Action: Must NOT doに「マイグレーション自動実行禁止」を追加

このサイクルのポイントは、gray-zoneに溜まった判断をCLAUDE.mdにフィードバックさせることです。
たとえば「ciの実行コマンドのミス」がgray-zoneに記録されたら、CLAUDE.md(.claude/rules)にci実行コマンドとして記録すべきです。

gray-zone.md(個別の判断記録)
  ↓ パターンが見えたら
CLAUDE.md(恒久的なルール)、`.claude/rules` (言語レベルなど分割されたルール)
  ↓ Claude Codeが次回から参照
判断品質の向上

さらに発展的な運用として、Claude Codeのサブエージェント機能を使ったレビューと振り返りがあります。

  • critic agent: 実装者とは独立したコンテキストでコードレビューを行う
  • retrospective agent: 指示書・gray-zoneレポート・criticのレビューレポートを用いた振り返りを行い分析する

これらは実装セッションの記憶を持たない独立エージェントとして動作するため、実装Claudeのコンテキストに引きずられないレビューが可能です。

4. 完了状態

以下の状態になっていれば、Claude Codeの運用サイクルが回り始めています。

  • ユーザーレベルのCLAUDE.mdにStop Rulesと報告ルールが記載されている
  • 実装指示をAIへの指示書(または同等の構造化ドキュメント)で渡している
  • gray-zone.mdに判断記録が蓄積され、定期的にCLAUDE.mdへフィードバックしている

確認方法

以下のチェックで運用が機能しているか確認できます。

  • Claude Codeが「分からない部分」で止まるようになったか(Stop Rulesが効いている)
  • 同じ説明を繰り返さなくなったか(CLAUDE.mdが参照されている)

1つでも「いいえ」があれば、CLAUDE.mdやgray-zone.mdの記載を見直してみてください。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?