TL;DR
- Claude Code は「チャット補助」ではなく「自律エージェント」として使うとパワーが全然違う
- CLAUDE.md によるコンテキスト設計が生産性の 80% を決める
- ツール権限・サブエージェント・コスト管理の 3 軸を押さえれば実務投入できる
背景
2025 年、Anthropic が CLI ベースのコーディングエージェント Claude Code をリリースした。GitHub Copilot や Cursor との大きな違いは、「補完」ではなく「タスク実行」に特化している点だ。ファイルの読み書き・シェル実行・サブエージェント起動を組み合わせて、Issue 1 本をまるごと解決してくれる。
しかし「とりあえず入れてみた」だけでは、高コストで遅い Claude の亜種にしかならない。本記事では、実際に運用して見えてきた 7 つの実践テクニック を紹介する。
対象読者: Claude Code をすでに試したことがある中級〜上級エンジニア
1. CLAUDE.md を「設計図」として使う
Claude Code はプロジェクトルートの CLAUDE.md を自動的に読み込む。ここに書いた内容は 全セッションに渡って共有されるシステムプロンプト のように機能する。
# CLAUDE.md
## プロジェクト概要
Next.js 14 (App Router) + Rust (axum) のフルスタック構成。
## 開発ルール
- TypeScript: strict モード必須
- テスト: vitest。新機能は必ずテストを同梱する
- コミット: conventional commits (feat/fix/chore)
## よく使うコマンド
- `pnpm dev` : フロント開発サーバー
- `cargo watch -x run` : Rust バックエンド
- `pnpm test` : ユニットテスト一括実行
## してはいけないこと
- `node_modules` を直接編集しない
- `.env` ファイルを読み込んで内容を出力しない
ポイント: 「してはいけないこと」セクションは特に重要。エージェントが暴走しがちな操作を明示的に制約できる。
階層的 CLAUDE.md
サブディレクトリにも CLAUDE.md を置ける。/frontend/CLAUDE.md に Next.js 固有のルールを、/backend/CLAUDE.md に Rust 固有のルールを書くと、作業対象ディレクトリに応じてコンテキストが絞られる。
2. ツール権限を最小化して「安全な自走」を実現する
Claude Code の /permissions コマンドでツールの使用可否を細かく制御できる。
/permissions
> allow: Read, Write, Bash(pnpm test), Bash(cargo build)
> deny: Bash(rm -rf), Bash(curl), WebFetch
推奨セットアップ (開発環境):
| ツール | 推奨 | 理由 |
|---|---|---|
| Read | ✅ 常時許可 | コードを読まないと何もできない |
| Write | ✅ 常時許可 | 実装が目的 |
| Bash(テスト) | ✅ 許可 | 自己検証のため |
| Bash(git) | ✅ 許可 | コミット・ブランチ操作 |
| Bash(curl / wget) | ⚠️ 要確認 | 外部通信は本番と分けたい |
| Bash(rm) | ❌ 基本禁止 | 取り返しがつかない削除を防ぐ |
| WebFetch | ✅ 読み取り専用なら可 | ドキュメント参照に便利 |
--allowedTools フラグで起動時に指定する方法もある:
claude --allowedTools "Read,Write,Bash(pnpm test),Bash(git *)"
3. 「サブエージェント」で並列処理を指示する
Claude Code は /agents コマンドや自然言語の指示でサブエージェントを起動できる。大きなタスクを分割して並列に実行させることで、壁打ちの速度が上がる。
# 使用例 (プロンプト)
以下を並列で実施してください:
1. /frontend の TypeScript 型エラーを全て修正
2. /backend の clippy 警告をゼロにする
3. README.md の古いコマンド例を現行に合わせて更新
各サブタスクが完了したら報告してください。
注意点: サブエージェントはそれぞれトークンを消費する。並列化すると費用が乗算になるケースがある。後述のコスト管理 (§6) と組み合わせて運用する。
4. コンテキストウィンドウを意識した「タスク分割」
Claude のコンテキストウィンドウは有限だ。大きなリポジトリで「全部読んで直して」は失敗しやすい。効果的な分割戦略:
❌ 悪い指示
このリポジトリ全体を読んで、パフォーマンスを改善してください。
✅ 良い指示
/frontend/app/dashboard/page.tsx の Lighthouse Performance スコアを改善してください。
具体的には:
1. 不要な Client Component を Server Component に変換
2. 画像を next/image に置き換え
3. 結果を pnpm build && pnpm start で確認
変更ファイルは page.tsx と関連コンポーネントに限定してください。
スコープを「1 ファイル〜数ファイル」に絞ると精度が劇的に向上する。
5. /compact と要約チェックポイントを活用する
長時間の作業セッションでは /compact コマンドで会話を要約・圧縮できる。これによりコンテキスト枯渇を防ぎつつ、作業の継続性を保てる。
/compact
> 会話を要約しました。現在の状態:
> - dashboard/page.tsx: Server Component 化完了
> - Image 置き換え: 3/5 完了 (hero, card は済み・avatar が残り)
> - ビルド確認: 未実施
運用パターン:
- 大きなタスクを「フェーズ」に分ける
- 各フェーズの終わりに
/compactを実行 - 次フェーズ開始時に「前回の要約」を貼り付けて再起動
これにより、長時間セッションでも文脈が崩れにくい。
6. コストを制御する 3 つのレバー
Claude Code を実務投入する最大の障壁はコスト。以下の 3 つで大幅に削減できる。
6-1. OpenRouter の :free モデルを補助に使う
Claude Code 自体は Anthropic API を使うが、簡単な調査・整形タスクは別途安いモデルにオフロードすると全体コストが下がる。Claude Code から Bash で OpenRouter を呼ぶ構成:
# シェルスクリプト例 (学習用最小構成)
curl https://openrouter.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3-8b:free",
"messages": [{"role":"user","content":"このログを要約して: ..."}]
}'
ポイントは「思考が不要な整形・要約・テンプレ生成」を :free モデルに任せること。
6-2. --max-tokens で上限を設定
claude --max-tokens 4096 "この関数にユニットテストを追加して"
回答が長くなりすぎるタスクに上限を設けると、不要な冗長出力を防げる。
6-3. モデルをタスクで使い分ける
| タスク | 推奨モデル |
|---|---|
| 複雑なリファクタリング・設計 | claude-sonnet (バランス) |
| 単純なバグ修正・型エラー解消 | claude-haiku (軽量・安価) |
| ドキュメント生成・コメント追加 | claude-haiku または :free
|
CLAUDE.md にデフォルトモデルを指定する方法もある (公式ドキュメント参照)。
7. Git 統合で「エージェントの作業を安全に追跡」する
Claude Code に直接コードを書かせるときの最大のリスクは「何を変更されたかわからなくなること」。Git を防波堤として使う。
推奨ワークフロー
# 1. 作業前に必ずブランチを切る
git checkout -b agent/fix-dashboard-perf
# 2. Claude Code に作業指示
claude "dashboard/page.tsx を Server Component に変換して、テストが通ることを確認して"
# 3. エージェント作業中は git diff で随時確認可能
# 4. 完了後に差分を人間がレビュー
git diff main
# 5. 問題なければマージ、問題あれば破棄
git checkout main && git branch -D agent/fix-dashboard-perf
小技: CLAUDE.md に「作業完了時は git add -p で差分を確認してからコミットする」と書いておくと、エージェントが自律的に細かいコミットを積んでくれる。レビューが格段に楽になる。
まとめ
| テクニック | 効果 |
|---|---|
| CLAUDE.md の設計 | コンテキスト品質 +80% |
| ツール権限の最小化 | 安全性確保 |
| サブエージェント並列化 | 速度向上 |
| タスクスコープの絞り込み | 精度向上 |
| /compact チェックポイント | 長時間セッション安定化 |
| コスト 3 レバー | 費用最適化 |
| Git ブランチ統合 | 変更追跡・ロールバック容易化 |
Claude Code は「使い方を知っているかどうか」で生産性が 10 倍変わるツールだ。最初の 1 週間は CLAUDE.md を育てることに集中すると、その後の体験が大きく変わる。
参考リンク
- Claude Code 公式ドキュメント
- Claude Code: Best practices for agentic coding (Anthropic Blog)
- OpenRouter ドキュメント
- Conventional Commits 仕様
✍️ 本記事の著者: 合同会社ジモラボ
ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。
- 🌐 公式サイト: https://locallab.jp
- 🔍 AI SEO 最適化 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ お問い合わせ: info@locallab.jp
興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!
セルフレビュー結果
| チェック項目 | 結果 |
|---|---|
| §4-A〜4-D に該当する記述がないか | ✅ NO (社内構成・saas-template・運用判断なし) |
| コード断片は OSS/公式/最小学習例のみか | ✅ YES |
| OSS ライセンス明記 | ✅ (参照した OSS の公式リンクを記載) |
| 出典 URL を記載したか | ✅ YES |
| タイトルに数字を入れたか | ✅ 「7つ」 |
| タグは Qiita 慣習に合っているか | ✅ (推奨タグ: Claude AI claude-code 開発効率化 LLM) |
| 末尾プロフィール + lookupai リンク | ✅ YES |
| lookupai への自然な誘導 | ✅ 末尾フッターに自然な形で記載 |
| 誤字脱字・コードブロック言語指定 | ✅ OK |
YouTube URL が正本 @locallab_llc か |
✅ YES |