こんにちは、カディンチェです。
「AIコーディングツールを導入したけれど、思ったほど生産性が上がらない」 ──そんな声を耳にすることが増えました。実はAIコーディングツールは、ちょっとした使い方の違いで成果が劇的に変わります。
先日の社内AI勉強会で、カディンチェのエンジニアがClaude Codeを42日間使い倒した実データとともに、本当に効果のあった5つのプラクティスを発表しました。本記事では、Anthropic社エンジニアBoris Cherny氏が公開したベストプラクティスと、実際のプロダクト開発で得た知見を交えてお伝えします。
目次
- Claude Codeとは? ─ 実データで見るその実力
- 実践1: Plan Modeで計画してから実装する
- 質問後は /rewind でコンテキストを元に戻す
- 実践2: CLAUDE.mdに投資する
- CLAUDE.mdに書くべき3つの内容
- 実践3: 検証方法を与える ─ 最も効果的な施策
- 実践4: サブエージェントでコンテキスト管理
- 実践5: 避けるべき5つのパターン
- 実践事例: ZoomSDKのUnity統合を2週間で実現
- まとめ: 今日から試す3つのこと
- 参考リソース
- 本記事の元ネタ
- 実践Tips
- 公式ドキュメント
- 実践データ
Claude Codeとは? ─ 実データで見るその実力
Claude Codeは、Anthropic社が提供するエージェント型のコーディングツールです。ファイルの読み取り、コマンドの実行、自律的な問題解決まで行えるのが特徴で、単なるコード補完ツールとは一線を画します。
今回の発表の元ネタとなったのは、Anthropic社のエンジニアBoris Cherny氏がX(旧Twitter)で公開したClaude Codeのベストプラクティスです。カディンチェのエンジニアがこれらを実際のプロダクト開発で試し、/insight コマンドで生成したレポートから以下の実績が確認できました。
1日あたり約620メッセージ。この大量の実践から、特に効果のあったプラクティスを5つに絞って紹介します。
実践1: Plan Modeで計画してから実装する
「計画に全力を注ぎ、一発で実装させる。行き詰まったらすぐPlan Modeに戻る」 ── Boris Cherny氏
Claude Codeには、コードを直接変更する「実装モード」と、まず計画を立てる「Plan Mode」の2つのモードがあります。Shift+TabでPlan Modeに切り替えられます。
42日間の実践データでは、115回もの「リクエスト誤解」が発生していました。その主な原因は、プロジェクト構造の事前説明不足です。いきなり実装を指示するのではなく、まずPlan Modeで「こういうものを作りたい。不明点は質問して」と伝え、AIと一緒に計画を練ってから実装に入ることで、成功率が大きく向上しました。
特に複数の言語やフレームワークをまたぐ開発(例:Rust、C#、C++の組み合わせ)では、計画フェーズを挟むことがほぼ必須です。
質問後は /rewind でコンテキストを元に戻す
Plan Modeと併せて活用したいのが、/rewind と /fork です。
実装中に「なぜこの実装なの?」「他のパターンは?」と質問したくなることがあります。しかし、質問のやり取りがコンテキスト(AIが把握している会話の文脈)に蓄積されると、性能低下の原因になります。
[図1: Plan Mode → 実装のフロー図] Plan Modeで計画 → 承認 → 実装モードで開発 → 質問は/forkで分岐 → /rewindで本筋に復帰
質問は /fork で別セッションに分岐し、疑問が解消したら /rewind でメインの会話に戻る。このテクニックで、コンテキストをクリーンに保てます。
実践2: CLAUDE.mdに投資する
「Update your docs so you don't make that mistake again(ドキュメントを更新して、同じミスを繰り返さないようにしよう)」 ── Boris Cherny氏
Claude Codeはプロジェクト内のCLAUDE.mdというファイルを自動的に読み込み、プロジェクトのルールや背景情報として活用します。このファイルにどれだけ投資するかで、AIの精度が大きく変わります。
実際に効果の高かった.claude/ディレクトリの構成を紹介します。
.claude/
├── CLAUDE.md # 簡潔なガイド(目次的な役割)
├── TODO.md # 要件・調査結果
├── ISSUES.md # バグ目次
├── ISSUES-unity.md # Unity関連バグ詳細
├── ISSUES-native.md # ネイティブ層バグ詳細
├── TEST.md # テスト手順の蓄積
└── skills/ # 詳細なスキル定義.claude/
├── CLAUDE.md # 簡潔なガイド(目次的な役割)
├── TODO.md # 要件・調査結果
├── ISSUES.md # バグ目次
├── ISSUES-unity.md # Unity関連バグ詳細
├── ISSUES-native.md # ネイティブ層バグ詳細
├── TEST.md # テスト手順の蓄積
└── skills/ # 詳細なスキル定義copy
ポイントは目次と詳細ファイルの分離です。CLAUDE.md自体は簡潔に保ち、詳細は別ファイルに書きます。長すぎるCLAUDE.mdはノイズになり、重要なルールが埋もれてしまうためです。
CLAUDE.mdに書くべき3つの内容
- ベストプラクティスのリマインド: 「探索 → 計画 → 実装」の手順、早めの軌道修正(Esc, /rewind, /clear)
- プロジェクト固有の落とし穴: 例えば「OnUserLeaveCallbackでポインタにアクセスしない(既に無効化されている)」のような具体的な注意点。詳細はISSUES-unity.md #003に記載
- 再利用可能なパターン: Subscribe/Unsubscribeのクールダウンパターン(200ms待機)のようなコードスニペット付きの定型処理
特にテスト手順をTEST.mdに書き溜めておく運用は非常に効果的でした。あるバグ修正が他の機能に影響していないかを確認する回帰テストの手順を、過去のテスト項目から自動で探し出してくれるようになります。
実践3: 検証方法を与える ─ 最も効果的な施策
「Claudeが自分で作業をチェックできるようにする」 ── Anthropic公式ドキュメント
5つの実践の中で最も効果が高かったのが、この「検証手段の提供」です。
AIに「このバグを直して」と漠然と指示するのではなく、AIが自分で正しさを確認できる手段を一緒に渡します。
ここで重要なのは、ログをプロンプトに直接貼り付けるのではなく、ファイルに出力してそのパスを伝える方が効果的だという点です。余計な情報を読み込まないため、コンテキストの消費を抑えられます。
さらに、参考にしたいオープンソースのリポジトリや論文のPDFがあれば、それをダウンロードしてCLAUDE.mdにパスを書いておくと、「参照実装」としてAIが活用してくれます。これにより、作りたいものをより早く、より正確に開発できるようになりました。
実践4: サブエージェントでコンテキスト管理
Claude Codeでは「サブエージェント」を起動して、メインの作業コンテキストとは別の独立した環境でタスクを実行できます。Boris氏は3つの活用法を紹介しています。
- 計算リソースを増やしたい時 プロンプトに"use subagents"を追加するだけで、複数のサブエージェントが並列で動いてくれます。
- 調査タスクの委譲 「認証システムの仕組みを調査して」のような探索的タスクをサブエージェントに任せることで、メインのコンテキストが汚れません。調査結果だけをメインに持ち帰れます。
- コンテキストの汚染を防ぐ Claude Codeではコンテキスト(会話の蓄積)が一定量を超えると自動的に圧縮(コンパクション)が行われ、過去のやり取りを「忘れる」ことがあります。サブエージェントを活用してメインのコンテキストを軽く保つことで、この問題を軽減できます。
実践5: 避けるべき5つのパターン
効果的な使い方と同様に、避けるべきパターンを知っておくことも重要です。
特に覚えておきたいルールは「同じ問題で2回以上修正に失敗したら、/clearしてより具体的なプロンプトで再開する」です。失敗の文脈が残ったまま続けるよりも、リセットした方が結果的に早く解決できます。
実践事例: ZoomSDKのUnity統合を2週間で実現
これらのプラクティスが実際にどれほどの効果があるか、具体的な開発事例を紹介します。
カディンチェでは、ZoomのビデオSDKをUnityで利用できるようにするプロジェクトに取り組みました。このプロジェクトの技術的な難しさは、C++のSDKをUnityのC#から利用するために3段階のラッピングが必要だった点です。
Zoom Video SDK(C++)
→ Cラッピング(C形式でエクスポート)
→ Rustバインディング(csbindgen経由でC#コードを自動生成)
→ C# API(Unityから使いやすいインターフェース)Zoom Video SDK(C++)
→ Cラッピング(C形式でエクスポート)
→ Rustバインディング(csbindgen経由でC#コードを自動生成)
→ C# API(Unityから使いやすいインターフェース)copy
手動で実装した場合、SDKの調査、各層のラッピング実装、テストを含めて2ヶ月以上かかる見込みでした。しかしClaude Codeを活用した結果、ビデオ通話・画面共有・リモートコントロールまで含めて約2週間で動作するものが完成しました。
注目すべきは、コードを一行も手書きしていないという点です。手動で行ったのはUnityプロジェクトの新規作成と、使用するライブラリの登録だけ。GitのコミットやプルリクエストもClaude Codeにプロンプトで指示して実行しています。
もちろん、ソフトウェアアーキテクチャの全体像を把握し、やりたいことを明確に伝えられるスキルは前提として必要です。しかし、そこさえ押さえれば、このスピード感で開発が進められるのです。
まとめ: 今日から試す3つのこと
Claude Codeを使いこなすために、今日からぜひ試していただきたい3つのアクションをまとめます。
- 検証方法を与える ── ログ、スクリーンショット、期待出力。AIが自分で結果を確認できる手段を必ず渡す
- 複雑なタスクはPlan Mode ── まず計画を練り、質問は/forkで分岐、/rewindでコンテキストを守る
- CLAUDE.mdを構造化 ── 目次+詳細ファイルの分離で、AIに効率よくプロジェクトを理解させる
そして何より大切なルール:2回失敗したら/clearして、より具体的なプロンプトで再スタート!
なお、本記事で紹介したプラクティスはClaude Opus 4.5での実践に基づいています。AIモデルは急速に進化しており、新しいモデルがリリースされるたびに最適な使い方も変わっていきます。ベストプラクティスは一度覚えたら終わりではなく、モデルの更新に合わせて都度見直していくことが大切です。
カディンチェでは、今後もAI技術の実践的な活用方法を社内勉強会で探求し、その成果を共有していきます。Claude Codeに限らず、AIコーディングツールをもっと使いこなしたいとお考えの方は、ぜひ本記事のプラクティスを一つずつ試してみてください。
参考リソース
本記事の元ネタ
実践Tips
公式ドキュメント
実践データ
- Claude Code /insightコマンドで生成(読者の皆さんもぜひお試しください)