0
2

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 を使い始める・興味がある人向けに書いたものです。

はじめに

IT界隈にてSNSの波に最も乗ってい(た)AIエージェントがこのClaude Code
Claude Codeは、単に質問に答えるだけのチャットボットではなく、自律的に問題を解決する「エージェント型」のコーディングツールです。
海外では多くの開発チーム(フロントエンド、バックエンド、インフラ、セキュリティなど)で日常的に使用されており、日本でも導入がちらほらきている(印象)なAIです。

最も特徴的な点はCLIベースであることです。ターミナルやCMD (コマンドプロンプト)といった、いわゆる「ハッカーが操作してそうな黒い画面」で使うことができるツールなのです。
※比較として、他のAIコーディングツールとしてCursorがありますがこれは「AIコードエディタ」と呼ばれる「編集ツールにAIが組み込まれた」ものでClaude Codeとは別物に当たります。

今回は、Claude Code を完全に理解する為に、Claude Codeの使い方、ユースケース、ベストプラクティスをまとめました。

是非、誰かのキャッチアップに役立てたなら幸いです。

基本的に公式Docsの内容に沿って書きましたが、僕の体験・経験上、公式と逸れた解釈が入っている可能性があります。ご了承ください。

Claude Code とは

Claude Codeは、ターミナルで直接動作するAIを活用した「エージェント型(Agentic)」のコーディングアシスタントです。単にコードの断片を生成したり質問に答えたりするだけの従来のチャットボットとは異なり、プロジェクトのコードベース全体を理解し、自律的に機能を構築、バグの修正、開発タスクの自動化を支援します。

開発者はターミナル上で実現したいことを説明するだけで、Claude Codeは自らアプローチを計画し、複数のファイルにわたってコードを作成・編集し、その動作を検証まで行います。

Claude Code の核心「Agentic ループ」

Claude Codeの最大の特徴は、以下の3つのフェーズを繰り返しながらタスクを遂行する「Agentic ループ」にあります。

  1. コンテキストの収集:タスクを理解するために、関連するソースファイルを検索・読み込み、プロジェクトの構造や規約(CLAUDE.mdなど)を確認する
  2. アクションの実行:コードの編集、新規ファイルの作成、ビルドコマンドの実行、テストの実施、git操作など、目標達成に必要な具体的なアクションをツールを通じて実行する
  3. 結果の検証:実行したアクションが期待通りに機能したか、テストの実行やエラーログの確認、時にはブラウザ操作(Chrome拡張機能)を通じて自分自身の作業を検証する

このループはタスクに応じて柔軟に適応します。例えば、複雑なバグ修正ではこれら3つのフェーズを何度も繰り返して根本原因を特定し解決しますが、単純な質問であればコンテキストの収集だけで完了することもあります。Claude Codeはこのループを数十回連鎖させ、途中で軌道修正を行いながら、目標を達成するまで自律的に動作し続けます。

なぜ今 Claude Code なのか

従来のAIアシスタントとの決定的な違いは、「思考」と「行動」が高度に統合されている点にあります。

  • 完全な自律性:人間がコードを書いてAIにレビューさせるのではなく、やりたいことを説明すればAIが探索・計画・実装のすべてを考え出してくれる
  • 強力な実行能力:ファイルの読み書きだけでなく、ビルドツールの実行、パッケージ管理、git操作など、開発者がターミナルから行うあらゆる操作をエージェント自身が実行できる
  • 検証可能な信頼性:テストを実行したり出力を検証したりして、自分自身の作業が「本当に正しいか」を確認できるフィードバックループを持っているため、人間が細かく指示を与える負担が劇的に軽減される

開発者は細かな実装を指示するのではなく、「有能な同僚」に仕事を委譲するように、コンテキストと方向性を与えるだけでよくなります。その結果、開発工程や人員削減が可能になる(という噂が広まった)ので特に経営陣がこぞってClaude Codeに目を輝かせています。

そもそも Claude って

Claude Codeの頭脳となっているのは、Anthropic社が開発した次世代の高性能AIモデルClaude」です。Claudeは世界で最も知的なモデルの一つであり、複雑なコードの理解、高度な推論、そして人間のような自然な対話能力を備えています。

Anthropic社の高性能AIモデル

Claude Codeでは、用途やタスクの難易度に応じて複数のモデルが使い分けられます。

  • Claude 3.5 / 3.7 Sonnet日常的なコーディングタスクに最適で、インテリジェンスとスピードのバランスに優れた最新モデル
  • Claude 4.7 Opus最も高性能なモデルであり、複雑なアーキテクチャの決定や深い推論が必要な難しい問題の解決に向いている
  • Claude 3.5 Haiku:シンプルで決まりきったタスクを処理するための、高速かつ効率的なモデル

これらのモデルは標準で20万(200k)トークンのコンテキストウィンドウを持ちますが、大規模なプロジェクトや長い会話に対応するため、**最大100万トークンの「拡張コンテキスト(1M context)」**を利用することも可能です。

モデルの使い分けと「努力レベル」

Claude Codeでは、モデルの選択だけでなく、**「努力レベル(Effort Level)」**を調整することで、AIの「考えの深さ」を制御できます。

  • 適応的推論(Adaptive Thinking):タスクの複雑さに応じて、各ステップでどの程度思考にリソースを割くかをモデルが自律的に判断します。これにより、単純なプロンプトには素早く答え、難しい問題には深く考えるという効率的な動作が可能になる
  • 努力レベルの選択low(低),medium(中),high(高),max(最大)まで段階があり、コストを抑えたい場合は低く、究極の解決策を求める場合は高く設定すると良い
    • high:ほとんどのコーディングタスクに最適な、推奨されるデフォルト設定です(Opus 4.7の場合)
    • max:トークン支出の制限なしに最も深い推論を実行できるが、Opusでしか使えないのと、正直オーバースペックかも(個人的感想)
  • opusplanモード:**「計画時はOpusで深く考え、実行時はSonnetで効率的に書く」**という、推論力と効率性を両立させる特別なハイブリッド設定も用意されている

このように、単にAIを使うだけでなく、タスクの性質に合わせてAIの知能を最適化できるのがClaude Codeの大きな強みです。

Claude Codeのユースケース

Claude Codeは、単にコードを生成するだけのツールじゃなく、自律的に問題を解決する「エージェント型」のアシスタントです。開発者はやりたいことを説明するだけで、Claude Codeがプロジェクト全体を探索し、計画を立て、実行し、その結果を検証する一連のループを回します。

そこで僕が考える Claude Code の代表的なユースケースをいくつか紹介します。

1. 機能開発とバグ修正の自動化

Claude Codeの最も強力な能力は、複雑なタスクを自律的に遂行できる点にあります。

  • 新規機能の実装:実現したい機能を自然言語で伝えるだけで、Claudeはプロジェクト構造を理解し、必要なライブラリの選定から複数ファイルにまたがるコードの作成、さらにはビルドが通るかの確認までを一貫して行う
  • エラーログからのデバッグ:ターミナルに表示されたエラーログをそのまま渡すと、Claudeはコードベースで調査を行い根本原因を特定し、修正を実装する

ここで気をつけたいのが、Plan Modeの活用です。大規模な変更を加える前に、/planコマンドやPlan Mode(Shift+Tab で切り替え可能)を使用して、まずは詳細な実装計画を作成させ、人間がレビュー・編集してから実装へ移行する方が安全なワークフローになるので、僕的にはこれ推奨です。

2. テストコードの自動生成とカバレッジ向上

テスト工程でめんどくさい、テストケースの洗い出しや資料作成など、エンジニアがテストを書きやすくするのに役立ちます。

さらには、空入力や最大値など、初期テストで見落とされがちな境界条件の洗い出しにも優れているのでヒューマンエラーを防ぐことも期待できます。

  • テストされていないコードの特定:既存のコードを分析させ、テストが不足している箇所や複雑なロジックを特定させる
  • エッジケースを網羅したテスト作成:正常系だけでなく、境界値やエラー条件などの見落としやすいエッジケースをカバーするテストを生成させることが可能に
  • 自律的な検証:テストを生成するだけでなく、実際にテストを実行して、作成したテストが合格することまでをClaude自身に確認させることができる

3. ドキュメントの更新

コードの変更に合わせてドキュメントを最新の状態に保つのは骨の折れる作業ですが、Claude Codeはこのプロセスを大幅に効率化することができます。

  • ソースコードからのドキュメント生成:javadoc、APIリファレンスなどをプロジェクトの既存スタイルに合わせて自動生成・更新する
  • 設計書の作成・更新:実装内容に基づき、対応する設計書を更新したり、既存のフォーマットに合わせて作成することが可能

※現在の開発現場においてExcelベースの設計書での運用ケースがほとんどであり、Claude CodeではExcelの編集は「ちょっとだるい設定必要」なのでここはまだむずいかもです。

4. Git連携とPR作成

Git操作を会話形式で行うことで、チーム開発のサイクルを効率化・最適化することができます。

  • コミットワークフローの自動化:変更内容を分析させ、適切なコミットメッセージの作成、ステージング、コミットまでを自動で行わせる
  • プルリクエスト(PR)の自動生成:変更のサマリー、実装の決定理由、テスト結果などを含む詳細なPR説明文を自動生成し、そのままPRをオープンできる
  • GitHub CLI(gh)の活用gh CLIがインストールされていれば、Claudeはそれを使用して課題の読み取りやPRの管理をより効率的に行うことが可能

5. セキュリティ脆弱性スキャンと修正案作成

コードの品質だけでなく、安全性を担保するガードマンとしても機能します。

  • /security-reviewの実行:専用のコマンドを使用して、現在のブランチの変更点にインジェクション攻撃のリスク、認証の問題、機密データの露出などの脆弱性がないかを分析させる
  • 脆弱性の自動修正:発見されたセキュリティリスクに対し、安全な実装パターンを提案させ、そのままコードに適用させることができる
  • フック(Hooks)による監視:AIがファイルを編集しても、自動的にセキュリティスキャンやリントを実行する設定ができるので、開発の全工程で安全性を強制することも可能

これらのユースケースを通じて、エンジニアは**「詳細を理解して行動する」から「目標を示し、結果を承認する上司ポジ」**へと役割が変化していくと考えています。

他にも、Claude Codeの強力な拡張機能(Skills、Hooks、MCP、Subagents、Agent Teams)を組み合わせることで、

  • テストのタスクに特化したものを事前に準備して、簡単に指示出しできる
  • 調査と設計が得意なAI人格を作れて、それ通りに仕事をこなす
  • 複数の専門AIエージェントを作って「AI組織」が作れる
  • 外部のシステムやサービスとAIが自動で連携して作用させることができる

のようにAIの拡張性・深度を高めた扱いが可能になります。

Claude Codeの使い方

公式サイトはこちら。

インストールと環境構築

macOS, Linux, Windows (WSL) など、主要なOSへのインストール方法もあれば、実はCLI以外にもデスクトップアプリ、VS Code/Cursorへの拡張機能などさまざまな環境で使うことができます。ターミナルが初心者の方であれば、まずはデスクトップアプリを使ってどんなもんなのかを感じてみてからCLI版を触ってみるのがいいと思います。

↓以下公式サイトからダウンロード可能です。

CLIを使いたい方はターミナルで以下のコマンドでインストール可能です。

  • mac,Linuxの人
curl -fsSL https://claude.ai/install.sh | bash
  • Windows の人 → PowerShellで実行すること
irm https://claude.ai/install.ps1 | iex

警告
2026年5月現在にて用意されているコマンドです。
公式のアップデートによってはコマンドが変わっていることもあるのでa必ず公式のコマンドからインストールしましょう。

※以降、ターミナルで行う想定で話を進めていきます。

claude を立ち上げよう

ターミナルで /claude とコマンドを入力するとClaude Codeが立ち上がります。今回は初回なのでブラウザが自動で開き、Anthropic アカウントへのログイン画面が表示されます。ログイン・サブスクリプション加入が完了すると Claude Code が使えるようになります。

警告
Desktopといった上層での claude code 立ち上げは避けましょう。
それ配下の情報全てにclaudeがアクセスできてしまう状況になってしまい、最悪情報漏洩につながります。
必ず任意のプロジェクトの中で立ち上げるようにしましょう。

最初のセッションを開始する

任意のプロジェクト(フォルダー・ディレクトリ)に移動(cdコマンドで移動)して /claude とコマンドを叩くだけで、AIとの対話型セッションが始まります。起動後は自然言語(普通に日本語でOK)で指示を行うことでClaude Codeにタスクをさせることができます。

Claude Codeを使っていく上で(基礎)

ここでは Claude Code をよりいい感じに使っていく上でのコツを紹介します。

指示の出し方

これは他のAIにも、さらには人と仕事をしてくときでも同じことが言えるんですが、ざっくりした指示を出すよりも、どんなことをしたいか、対象はどこか、こんなことを想定・考えている、などを含めた指示を出すと、「思ってたんとちゃう」みたいなことがガクンっと減ります。僕が意識しているのは、

  • 「何」を「どうしたいか」を明記する
  • 「いいかんじ」とかはぜったい使わない
  • 曖昧なものや主観部分は残さない
  • タスクのゴール・成功の基準を明記する

ファイル参照(@-メンション)と画像添付

@記号を使用して特定のファイルをコンテキスト(指示情報)に含めたり、スクリーンショットを貼り付けてUIの修正を詳細に依頼したりすることができます。

1会話を長引かせ過ぎない

Claude Codeにて「コンテキストウィンドウ」というもの(正直これが一番重要)が存在します。これをうまく管理できるかどうかが、Claude Code を上手に使う鍵になります。

「コンテキストウィンドウ」とは?

コンテキストウィンドウは、Claude Codeがいわば「一度に机の上に広げておける作業フィールド」のようなものです。今までの会話の履歴、読み取ったファイルの内容、ターミナルでのコマンド出力結果、他にもプロジェクト固有のルール(CLAUDE.md)、自動メモリなどなど、セッション中のすべての情報がこのウィンドウ内に保持されています。

コンテキストを管理する重要性

Claude Codeを使用する上で、コンテキストウィンドウは最も重要なリソースです。ウィンドウがいっぱいになると、以下のような影響が出始めてしまいます。

  • パフォーマンスの低下:コンテキストが満杯に近づくにつれて、推論の精度が落ちたり、以前の指示を「忘れて」しまったり、間違いを犯しやすくなったりする
    →情報がいっぱいなのでありきたり平均化した回答が多くなる
  • 自動要約へ:制限に近づくと、Claude Codeはスペースを解放するために会話履歴を自動的に要約(コンパクト化)します。ですがこれにより重要かつ詳細な部分が抜け落ちる可能性がある
    →情報を要点でまとめるのでざっくりとした一般化した回答が多くなる

イメージでいうと、ログイン機能を実装させた後に決済機能の設計をさせようと指示したら、ログイン部分の情報に引っ張られた回答が多くなっちゃった、みたいな感じです。

賢く使いこなすためのTips

コンテキストウィンドウを効率的に管理し、Claudeのパフォーマンスを最大限に引き出すための機能が公式から用意されています。僕も実際に使ってみて「これは常々意識しなきゃな」と思っている部分なのでぜひ意識してみてください。
一番簡単なのは、タスクが終わったら絶対に/clearを使うことです。

  1. /context で視覚化:現在のウィンドウがどの程度トークンを消費しているかをカラーグリッドで確認できる
  2. /compact で整理:特定の箇所にフォーカスして手動で要約を行い、重要な情報を残しつつスペースを解放する。例: /compact ●●部分の詳細特化で要約して
  3. /clear でリセット:タスクが完了したら、コンテキストを完全にリセットして新しいセッションを始めることで、以前のノイズに邪魔されないクリーンな状態で作業できる
  4. サブエージェント(Subagents)の活用:大規模なファイルの調査や検索を普通にさせるとコンテキストをほぼ食い荒らされてしまうので、サブエージェントというメインの会話とは別の独立したコンテキストウィンドウで作業ができて、結果の要約だけを返してくれる機能があります。これによってメインのコンテキストを節約しつつ複雑な調査を行うことができる

コンテキストウィンドウの状態を意識し、定期的に整理することで、Claude Codeを常に「Maxに頭が冴えた状態」に保つことができます。

Claude Codeを使っていく上で(応用)

ここではより Claude Code をよりいい感じに使っていく上での設定や便利機能を紹介します。

CLAUDE.md で大事な情報を覚えさせる

実は、Claude Code はセッションを跨いで記憶を保持していません。コンテキストがクリアされるので「これがここでの目的で、フォルダ構成は...、ここを意識して欲しくて...」と毎回説明し直すのはだるいです。

それを解決できるのが CLAUDE.md です。ここに書いた

  • プロジェクト概要
  • コーディングで守ってほしいこと
  • してほしいことや手順
  • してほしい思考プロセス
  • ...etc

というように、Claude Code の脳みそを設定することができます。
※厳密にはセッション開始時に読み込む「永続的な指示」を設定することができます。

さらにこのCLAUDE.mdは何ヶ所かに分けて配置することができます。ここもかなり大事で、

  • ~/.claude/CLAUDE.md: 自分のPC上全てのプロジェクトに適用。プロジェクトの枠を超えた設定や、個人的な好み、全体共通ルールを反映させる場合はここ
  • プロジェクト直下にCLAUDE.md: このプロジェクトでのみ適用。プロジェクトについてや技術スタックなど、さらにはGitでチーム全体で共有したいルールを反映させる場合はここ
  • サブディレクトリにCLAUDE.md: プロジェクトの中でもこの場所だけ特別に適用させたい時に使う。例えば認証機能で絶対守ってほしい子などを反映させる場合はここ

このようにしてCLAUDE.mdを設定することができます。

注意点としてはコンテキストの話と被りますが詰め込み過ぎないことです。長すぎると Claude が重要な部分を見落とすようになります。これこそ「情報あり過ぎてありきたりなことしかできない」状態になってしまいます。
公式ドキュメントにおけるCLAUDE.mdのベストプラクティスがあったのでそちらも解説します。

全体的なベストプラクティス

CLAUDE.mdは、Claudeがすべてのセッション開始時に読み込む「永続的な指示」を保存する特別なファイルです。

  • サイズを200行以下に保つ: 200行を超える長いファイルはコンテキストを過剰に消費し、Claudeが指示を無視したり、遵守率が低下したりする原因となります。
  • 具体的に記述する: 「コードを適切にフォーマットする」といった曖昧な表現ではなく、「2スペースのインデントを使用する」のように、Claudeが検証可能なほど具体的な基準を記述します。
  • 「削除テスト」を行う: 各行について、「これを削除するとClaudeが間違いを犯すか?」と自問自答し、そうでないものはノイズを減らすために容赦なく削除します。
  • 構造化する: マークダウンのヘッダーや箇条書きを使用して情報を整理します。これにより、Claudeが人間と同じように構造をスキャンしやすくなります。
  • 事実と手順を分離する: すべてのセッションで必要な事実(ビルドコマンド、規約)のみを記述し、特定のタスクにのみ関連する複雑な手順は「スキル(Skills)」などへ移動させます。

ここまで読むと「意外とめんどくさくね?どう書けばいいかわからない...」な人、多いと思います。
もし何を書けばいいかわからなければ、公式が用意した /init コマンドを実行してみてください。これをすると現在のコードベースを分析・検出して、スターター用のCLAUDE.mdが自動生成されます。あとはこれに沿って適宜穴埋めや改善を繰り返していくとだんだんいい感じになっていきます。

スキル(Skills)による機能拡張

スキルは、Claudeができることを直接的に拡張する仕組みです。プロジェクト固有のプレイブック、チェックリスト、または複雑な複数ステップの手順を「スキル」として記述しておくことで、Claudeがそれらをツールキットの一部として利用できるようになります。

  • オンデマンドなコンテキスト管理CLAUDE.mdが常に読み込まれる「脳みそ」であるのに対し、スキルは必要な時にだけ読み込まれるため、コンテキストウィンドウ(作業メモリ)を節約しながら詳細な指示を与えることができる
  • 柔軟な呼び出し方法/deploy のようにユーザーがスラッシュコマンドを使って明示的に実行するだけでなく、Claudeがタスクの内容から判断して自動的に適切なスキルをロードし、適用することも可能
  • 動的な情報注入:スキル内では !git diff HEAD のようなシェルコマンドを実行し、その実行結果をプロンプトに動的に埋め込むことができます。他にもPythonで実装した処理を仕込むなども可能です。これにより、常に最新の状況に基づいた指示をClaudeに与えられる
  • チーム間での共有:スキルはプロジェクトディレクトリ(.claude/skills/)に保存してGitにコミットしたり、「プラグイン」としてパッケージ化して配布したりすることで、チーム全体の開発ワークフローを標準化できる

MCP(Model Context Protocol)による外部接続

MCPは、Claude CodeをNotion、Slack、Figmaなど外部のデータソースやツールに接続するためのオープン標準プロトコル(繋げるやつ)です。これにより、Claudeはローカルのコードの情報だけでなく、接続している外部状況やデータにアクセスして作業を遂行できるようになります。

  • 「コピペ」から解放される:課題管理システム(Jiraとか)のチケット内容を読み取って機能を実装したりといった操作を、外部ツールからチャットに情報を転送することなく直接実行できる
  • 多様な外部サービスとの連携
    • ドキュメント管理:Notionのデザインドキュメントを読み込んだり
    • コミュニケーション:Slackにメッセージを投稿したり、ブラウザを介してウェブ操作を行ったり
    • データ操作:Supabaseなどのデータベースをクエリし、その結果に基づいたコード生成を行うことが可能
  • 高度なスケーラビリティ:「ツール検索(Tool Search)」機能により、数百のMCPサーバーを接続してもコンテキストを圧迫しません。Claudeは必要な時だけ関連するツールの定義を検索してロードする

これらの拡張機能を活用することで、Claude Codeは単なるエディタ上のアシスタントを超えて、開発環境全体をカバーできる強力なエージェントに進化させることが可能です。

Claude Codeを使っていく上で(実践)

ここではもっと Claude Code をよりいい感じ・確実に使っていく上で大事そうな部分を解説します。

特化したサブエージェント(Subagents)の活用

Claude Codeのパフォーマンスを最大化する鍵は、「サブエージェント(Subagents)」による作業の委譲にあります。サブエージェントは、特定のタスク(調査、テスト、レビューなど)を処理するために生成される特化AIアシスタントです。

  • コンテキストの分離による効率化:サブエージェントはメインの会話とは別の独立したコンテキストウィンドウで実行されます。膨大なログの読み込みや広範なファイル検索をサブエージェントに任せることで、メインの会話が不要な情報で溢れるのを防ぎ、コンテキストウィンドウの消費を抑えることができる
  • 組み込みエージェントの自動活用:Claude Codeには最初からいくつかのエージェントが備わっている
    • Explore:Haikuモデルを使用した読み取り専用エージェント。コードベースの検索や分析に最適化されている
    • Plan:計画モード中に、実装前の詳細な調査を行うために使用されます。
    • General-purpose:探索とコード変更の両方を伴う、複雑なマルチステップタスクを担当する
  • カスタムサブエージェントの作成/agents コマンドを使用するか、.claude/agents/ ディレクトリにMarkdownファイルを配置することで、独自の役割を持つエージェントを自分で作り出すことができる
  • 明示的な呼び出し:プロンプト内で @agent-name とメンションすることで、特定のタスクをそのエージェントに直接実行させることができる

フック(Hooks)による自動化

フック(Hooks)」は、Claude Codeのライフサイクル(ツール実行前後やセッション開始時など)に合わせて、シェルスクリプトなどを自動実行する仕組みです。これにより、AIの判断に頼らず「常に特定の処理を行う」という決定論的な制御が可能になります。

  • 代表的な活用例
    • 自動フォーマットPostToolUse イベントを使用し、Claudeがファイルを編集した直後に Prettier などのフォーマッタを自動実行させる
    • 機密ファイルの保護PreToolUse イベントで、.envpackage-lock.json への編集を検知したらアクションを強制的にブロックするようにする
    • デスクトップ通知Notification イベントを利用し、Claudeがユーザーの入力を待っているときやタスクが完了したときに、OSの通知を表示させる
    • 環境変数のリロードCwdChanged イベントで direnv などと連携し、ディレクトリ移動に合わせて環境変数を自動で読み込み直させる
  • 設定方法settings.jsonhooks ブロック内にイベント名と実行するコマンドを記述する

セッション管理とチェックポイント

Claude Codeは、作業内容をローカルに自動保存しており、いつでも過去の状態に戻ったり、中断した作業を再開したりできるセッション管理機能を備えています。

  • 会話の再開をする
    • claude --continue:現在のプロジェクトで最後に行った会話を即座に再開する
    • claude --resume:過去のセッションを検索・選択できるインタラクティブなピッカーを表示する
    • /rename:進行中のセッションに「auth-refactor」のような名前を付けることで、後で探しやすくできる
  • チェックポイント機能(/rewind)
    Claudeはファイル編集を行うたびに、自動的にコードの状態をキャプチャ(スナップショット)している
    • 巻き戻し操作Esc キーを2回押すか /rewind を実行すると、過去のプロンプトごとのチェックポイントがリスト表示される
    • 柔軟な復元:「コードと会話の両方を戻す」「会話の履歴だけを戻す」「ファイルの状態だけを元に戻す」といった選択が可能
    • 要約する/compactコマンドを実行すると、特定のメッセージ以降の会話をAIに要約(コンパクト化)させ、コンテキストウィンドウの空きスペースを確保することもできる

これらの実践的な機能を使いこなすことで、Claude Codeを単なるチャットツールとしてではなく、信頼できる自律的な開発パートナーとしてワークフローに組み込むことができます。

ベストプラクティス

ここでは僕が思う、Claude Codeを最大限に活用して自律的な開発パートナーとして機能させるためのベストプラクティスを解説します。

具体的なコンテキストの提供

まず大前提、「具体的にプロンプトを記述するほど、修正は少なくなります」。 Claude Codeは意図を推測できますが、開発者の心を完全に読み取ることは流石にできません。曖昧なタスク指示はせず、以下を意識して成功基準や既存のパターンを明示することが重要です。

  • タスクのスコープを限定する:対象となるファイル、具体的なシナリオ、モックの使用有無などの制約をあらかじめ指定する
  • ソースとパターンを指し示す:関連するファイルを@で参照したり、プロジェクト内の既存の優れた実装例をソースとして提示したりすることで、Claudeはプロジェクトの規約に沿った回答を出しやすくなる
  • 検証可能な基準を与える:テストケースの例や、期待されるUIのスクリーンショットを提供することで、Claudeが自分の作業を自律的に検証できるようにする

探索・計画・実装の分離

初手からコードを書かせるのではなく、「最初に探索し、次に計画し、その後にコーディングする」。 複雑な変更を加える際、Claudeを直接実装(コーディング)させちゃうと意図違いなことをしたり、間違った問題を解決するコードが生成されるリスクがあります。僕が推奨するワークフローは以下の4フェーズです。

  1. 探索(Exploration)Plan Modeに入り、Claudeにファイルを読み込ませ、変更を加えずに設計上の質問に答えさせる
  2. 計画(Planning):Claudeに詳細な実装計画を作成させます。 Claudeが実装を開始する前にエディタでその計画を直接編集し、意図をすり合わせることが可能
  3. 実装(Implementation):Normal Modeに戻り、承認された計画に基づいてコーディングを実行させる
  4. コミット(Commit):変更内容に基づいた説明でメッセージでコミットとPR作成を依頼しする

コンテキストの積極的な管理

コンテキストウィンドウは程よく貯めとくのがいいでしょう。ウィンドウが満杯に近づくとClaudeの推論精度が低下し、以前の指示を無視する可能性が高まります。しかしなさすぎると、情報不足でClaudeの推論精度が低下し、ありきたりな回答しか返ってこなくなります。

AI組織で実在人格とタスク

自分自身や実在する著名人の人格・思考プロセスを模した「カスタムサブエージェント」や「エージェントチーム」を構築することで、多角的な視点からタスクをこなすことが可能です。

  • 人格・役割の定義.claude/agents/ディレクトリにMarkdownファイルを作成し、作成したい人の人格や個性を設定することができます。例えば、「あなたは〇〇というエンジニアであり、常にパフォーマンスとメモリ効率を最優先に考え、皮肉交じりのコードレビューを行う」といった個性を記述することで、その人格を再現したサブエージェントを生成することができる
  • エージェントチームによる協調:異なる役割や専門性を持つ複数のエージェントを組み合わせた「AI組織」を編成することができます。 例えば、「リーダー(自分)」「セキュリティの専門家」「UI/UXデザイナー」という役割を与えたエージェントたちが、共有のタスクリストを使いながら互いにメッセージを送り合い、議論し、異議を唱え合いながら一つの目標に向かって自律的に作業を進めるワークフローが可能

まとめ

Claude Codeは、単なるコード生成AIではなく、自律的に問題を解決する「エージェント型」の開発パートナーです。ターミナルから直接プロジェクト全体を理解し、「探索・計画・実行・検証」のループを自ら回すことで、開発者は詳細な実装を指示する負担から解放され、目標の達成に集中できるようになりました。

入門として何から始めるか迷っている人は、まずはインストールしてみて、適当にプロジェクト作って /init コマンドを実行してみる といいかもです。最初から「ベストな状態・設定・操作する」必要はなくて、使っていく中で「ここはこうしたら良さそう」と焦らずじっくりイメージを固めていくのが結局ベストだと思います。
これにより、だんだんと自分に合ったCLAUDE.mdができてきたり、それによって毎回同じことしてたのを省けるようになりと作業効率が劇的に向上していきます。

Claude Codeの機能は今も増え続けています。最新の仕様や新機能については、常に 公式ドキュメント で確認するようにするとなおいいでしょう(僕はNoteboolLMで資料管理しています)。ツールを深く使いこなすためのヒントになるはずです。

最後に、今回は概要的なことしか解説できませんでしたが、ProFactではハンズオンや実際の操作画面のスクリーンショットを交えた、より実践的な入門講座を用意しています。「実際に手を動かしながらマスターしたい」という方は、ぜひチェックしてみてください!

今回の著者

現在、8年目になるエンジニア兼PMやってるやむぅです!普段はフリーランスエンジニアとして、8人の開発チームのPMをしたり、AIゲームコーチングサービスなどの「個人サービス運営」「個人的なエンジニアサポート」この三つを主軸に活動しています。

  • エンジニア歴: 8年目(上流の設計から下流の実装・テストまで全部やってます)
  • 得意な技術: Java, TypeScript, Next.js, Python, Go, Claude codeなど
0
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?