Claude Codeの公式ベストプラクティスには、成果を安定させるためのパターンが数多く掲載されている。ただ、情報量が多く、どこから手をつければよいか迷う人も多いのではないだろうか。
本記事では、公式ドキュメントの内容を参考に、特に押さえておきたいポイントを7つの鉄則として整理した。基本動作から自動化まで、4つのカテゴリに分類している。
鉄則1: 具体的に頼む
Claude Codeの出力品質は、指示の具体性で決まる。曖昧な指示は何度もやり取りが発生し、時間もトークンも消費する。
Bad / Good 比較
| Bad(曖昧) | Good(具体的) |
|---|---|
| 「このコードを直して」 | 「src/auth.tsのlogin関数で、パスワード未入力時にnullが返る。空文字チェックを追加してValidationErrorを投げるように修正して」 |
| 「テストを書いて」 | 「src/utils/format.tsのformatDate関数に対して、Vitestで正常系3パターンとエッジケース2パターンのテストを書いて」 |
| 「パフォーマンスを改善して」 | 「/api/usersエンドポイントのレスポンスが2秒かかる。SQLクエリのN+1問題を解消して500ms以下にして」 |
指示出しの5項目チェックリスト
指示を出す前に、次の項目を確認する。
- 何を: 対象のファイル・関数・コンポーネント
- どこを: 変更すべき箇所の特定
- なぜ: 変更の目的・背景
- どこまで: 期待する完了条件
- 制約: 使うライブラリ、コーディング規約、互換性
すべてを毎回埋める必要はない。しかし「何を」「どこまで」の2つは常に含めたい。
具体的な指示が身につくと、ターン数が大幅に減る。結果としてコストも下がる。
コンテキストエンジニアリングの詳細は「コーディングエージェント時代のコンテキストエンジニアリング実践ガイド」を参照。
鉄則2: 必ず検証する
Claude Codeは高い精度でコードを生成する。しかし、100%正しいわけではない。「生成したら検証する」を徹底することで、問題を早期に発見できる。
3つの検証ポイント
1. diffを確認する
Claude Codeが変更を加えたら、まず差分を確認する。意図しない変更が混入していないかをチェックする。ターミナル上でgit diffを実行するか、エディタの差分表示を使う。
2. テストを実行する
変更後は必ずテストを実行する。Claude Codeにテスト実行を依頼してもよい。既存テストが壊れていないことを確認する。
テストを実行して、結果を報告して
3. /cost で消費量を確認する
/costコマンドで、セッション中のトークン消費量を確認する。想定以上に消費している場合、指示の仕方を見直すサインになる。
30秒検証チェックリスト
タスク完了時に、次の3点を確認する。
- diff に意図しない変更がないか
- テストが通るか(または手動で動作確認したか)
- コスト消費が想定内か
テストなしで「動いたから大丈夫」と判断するのは危険。Claude Codeが生成したコードにも、エッジケースの考慮漏れはある。
検証を徹底すると、手戻りが減り、結果的に開発速度が上がる。
検証とデバッグの実践的な手法は「デバッグ駆動コンテキストエンジニアリング実践ガイド」で詳しく解説している。
鉄則3: CLAUDE.mdでルールを言語化する
毎回同じ指示を繰り返していないだろうか。「TypeScriptで書いて」「テストはVitestで」「コミットメッセージは日本語で」。これらのルールはCLAUDE.mdに書いておけば、自動的に適用される。
CLAUDE.mdとは
CLAUDE.mdは、プロジェクトルートに置く設定ファイルである。Claude Codeがセッション開始時に自動で読み込み、すべてのやり取りに反映する。
スターターテンプレート
最初はシンプルに始める。次の4セクションで十分である。
# プロジェクト概要
- Node.js + TypeScriptのWebアプリケーション
- フレームワーク: Next.js 15(App Router)
- パッケージマネージャ: pnpm
# コーディング規約
- 変数名・関数名はcamelCase
- コンポーネントはPascalCase
- 1ファイル1コンポーネント
# テスト
- テストフレームワーク: Vitest
- テストファイルは __tests__/ ディレクトリに配置
# Git
- コミットメッセージは日本語
- 1コミット1機能
CLAUDE.mdにはプロジェクトルート以外にも複数のスコープがあるが、まずはルートの1ファイルだけで十分。詳細なスコープの使い分けは「Claude Code拡張機能活用ガイド」を参照。
使いながら育てる
CLAUDE.mdは最初から作り込む必要はない。Boris Cherny(『Programming TypeScript』著者)は、CLAUDE.mdの自己改善ループを提唱している。
- Claude Codeを使う中で「また同じ指示をした」と気づく
- その指示をCLAUDE.mdに追記する
- 次回から自動的に適用される
この繰り返しで、CLAUDE.mdは自然と充実していく。2週間もすれば、プロジェクト固有のナレッジベースになる。
鉄則4: セッションを短く保つ
長時間のセッションでは、Claude Codeの出力品質が徐々に低下する。コンテキストウィンドウには上限があるためである。
「1タスク1セッション」ルール
1つのタスクが終わったら、新しいセッションを始める。これだけで品質は安定する。
- 「認証機能の実装」→ 新セッション →「テストの追加」
- 「バグ修正A」→ 新セッション →「バグ修正B」
/compact コマンド
セッションの途中でコンテキストが膨らんだら、/compactコマンドを使う。会話履歴を要約して、コンテキストの空きを確保する。ただし、要約の過程で細かいニュアンスが失われる点は意識しておく。
コンテキスト劣化の3つの兆候
次のサインが出たら、新しいセッションに切り替える。
- 以前伝えた指示を忘れる(同じことを聞き返す)
- コードの一貫性が崩れる(命名規則がブレる)
- 関係のないファイルを編集し始める
コンテキストウィンドウの仕組みと最適な管理方法は「コンテキストウィンドウの処理フローと動作メカニズム完全解説」で解説している。
鉄則5: まず計画、次に実行
複雑なタスクをいきなり実行させると、方向性がズレやすい。まず計画を立てさせ、確認してから実行に移る。
3ステップの流れ
「5分ルール」
目安として、手作業で5分以上かかるタスクは計画から始める。
- 5分未満: 直接指示して実行
- 5分以上: まず計画を出させる
実例ウォークスルー
たとえば、認証機能の追加を依頼する場合を考える。
ステップ1: 計画を依頼する
ユーザー認証機能を追加したい。JWT + リフレッシュトークン方式で、
以下の要件を満たす実装計画を立てて。
- ログイン / ログアウト / トークンリフレッシュのAPI
- ミドルウェアでの認証チェック
- 既存のユーザーテーブルを使う
まだコードは書かないで。
ステップ2: 計画をレビューする
Claude Codeが計画を提示する。ファイル構成、実装順序、使用ライブラリを確認する。問題があれば修正を依頼する。
ステップ3: 実行を許可する
計画の内容でOK。ステップ1から順に実装を進めて。
このワークフローにより、大きな手戻りを防げる。
計画駆動のワークフローをさらに発展させた手法は「Claude Code Superpowers完全ガイド」で紹介している。
鉄則6: コストを意識する
Claude Codeは従量課金で動作する。無意識に使うとコストが膨らむ。日頃からコストを把握する仕組みを持っておく。
/cost コマンドの見方
セッション中に/costを実行すると、消費トークン数と概算費用を確認できる。定期的にチェックして、想定と大きく乖離していないかを見る。
コスト削減の3つのポイント
1. 指示を具体的にする(鉄則1の実践)
曖昧な指示は試行錯誤を生み、トークンを浪費する。1回の指示で的確に伝えることが、最も効果的なコスト削減になる。
2. 不要なファイルを読ませない
.claudeignoreファイルで、Claude Codeに読ませる必要のないファイルを除外する。node_modules/やビルド成果物、大きなデータファイルが対象になる。
node_modules/
dist/
*.log
*.csv
3. セッションを短く保つ(鉄則4の実践)
長いセッションはコンテキストの再送信が増え、コストが上がる。こまめにセッションを切り替える。
アンチパターン: 無意識なトークン消費
- 大きなファイルを丸ごと貼り付ける(該当部分だけで十分)
- 「全部直して」のような広範囲な指示を出す
- 同じセッションで無関係なタスクを続ける
Claude Codeを活用した業務効率化の具体例は「Claude Codeで実現する業務自動化」を参照。
鉄則7: 次の一歩 -- 自動化の入口
鉄則1〜6を押さえたら、次は自動化に踏み出そう。Claude Codeには、繰り返し作業を自動化する仕組みが複数ある。
興味別の次ステップ
CLAUDE.mdをもっと活用したい
プロジェクトルート以外のスコープ(~/.claude/CLAUDE.mdやディレクトリ別)を使い分けて、より細かくルールを管理できる。
コマンド実行を自動化したい
Hooksを使うと、特定のイベント(ファイル保存、コミット前など)にスクリプトを自動実行できる。
→ Claude Code Hooks全14イベント完全解説
外部ツールと連携したい
MCPサーバーを作れば、データベースやAPIなどの外部ツールとClaude Codeを接続できる。
複数のClaude Codeを協調させたい
Agent Teamsを使えば、複数のClaude Codeインスタンスが並列で作業できる。
→ Agent Teams実践ガイド
→ サブエージェント vs Agent Teams 比較
まとめ
本記事で紹介した7つの鉄則を振り返る。
| カテゴリ | 鉄則 | ポイント |
|---|---|---|
| 基本動作 | 鉄則1: 具体的に頼む | 5項目チェックリストで指示を組み立てる |
| 基本動作 | 鉄則2: 必ず検証する | diff、テスト、コストの3点確認 |
| 環境整備 | 鉄則3: CLAUDE.mdで言語化 | 繰り返す指示はファイルに書く |
| 環境整備 | 鉄則4: セッションを短く | 1タスク1セッションを守る |
| ワークフロー | 鉄則5: まず計画、次に実行 | 5分ルールで判断する |
| ワークフロー | 鉄則6: コストを意識する | /costで定期的に確認する |
| 自動化 | 鉄則7: 自動化の入口 | Hooks、MCP、Agent Teamsへ |
すべてを一度に取り入れる必要はない。まずは鉄則1(具体的に頼む)と鉄則2(必ず検証する)を意識するだけでも、Claude Codeの出力品質は目に見えて安定する。
残りの鉄則は、使い慣れてきたタイミングで1つずつ取り入れればよい。