メインコンテンツへスキップ
Claude Code はターミナルで実行される agentic アシスタントです。コーディングに優れていますが、コマンドラインからできることなら何でも支援できます。ドキュメント作成、ビルド実行、ファイル検索、トピック調査など、様々なタスクに対応します。 このガイドでは、コアアーキテクチャ、組み込み機能、および Claude Code を効果的に使用するためのヒント について説明します。ステップバイステップのウォークスルーについては、一般的なワークフロー を参照してください。スキル、MCP、フックなどの拡張機能については、Claude Code を拡張する を参照してください。

agentic ループ

Claude にタスクを与えると、3 つのフェーズを通じて処理します。コンテキストの収集アクション実行結果の検証 です。これらのフェーズは相互に融合します。Claude はツールを使用して、コードを理解するためのファイル検索、変更を加えるための編集、作業を確認するためのテスト実行など、様々な場面で活用します。 agentic ループ:プロンプトから Claude がコンテキストを収集し、アクションを実行し、結果を検証し、タスク完了まで繰り返します。任意の時点で中断できます。 ループは質問内容に応じて適応します。コードベースに関する質問はコンテキスト収集のみで済む場合もあります。バグ修正は 3 つのフェーズすべてを何度も繰り返します。リファクタリングは広範な検証を伴う場合があります。Claude は前のステップから学んだことに基づいて各ステップに必要なものを判断し、数十のアクションを連鎖させながら進路を修正していきます。 あなたもこのループの一部です。任意の時点で中断して Claude を別の方向に導いたり、追加のコンテキストを提供したり、別のアプローチを試すよう指示できます。Claude は自律的に動作しますが、入力に対して応答性を保ちます。 agentic ループは 2 つのコンポーネントで動作します。推論を行う モデル と、アクションを実行する ツール です。Claude Code は Claude の周りの agentic ハーネス として機能します。言語モデルを有能なコーディングエージェントに変えるツール、コンテキスト管理、実行環境を提供します。

モデル

Claude Code は Claude モデルを使用してコードを理解し、タスクについて推論します。Claude はあらゆる言語のコードを読み、コンポーネントがどのように接続されているかを理解し、目標を達成するために何を変更する必要があるかを判断できます。複雑なタスクの場合、作業をステップに分割し、実行し、学んだことに基づいて調整します。 複数のモデル が異なるトレードオフで利用可能です。Sonnet はほとんどのコーディングタスクをうまく処理します。Opus は複雑なアーキテクチャ上の決定に対してより強力な推論を提供します。セッション中に /model で切り替えるか、claude --model <name> で開始します。 このガイドで「Claude が選択する」または「Claude が決定する」と言う場合、モデルが推論を行っています。

ツール

ツールが Claude Code を agentic にします。ツールがなければ、Claude はテキストで応答することしかできません。ツールがあれば、Claude はアクションを実行できます。コードを読み、ファイルを編集し、コマンドを実行し、ウェブを検索し、外部サービスと相互作用します。各ツール使用は情報を返し、ループにフィードバックされ、Claude の次の決定に情報を与えます。 組み込みツールは一般的に 5 つのカテゴリに分類され、それぞれが異なる種類のエージェンシーを表します。
カテゴリClaude ができること
ファイル操作ファイルの読み取り、コード編集、新規ファイル作成、名前変更と再編成
検索パターンでファイルを検索、正規表現でコンテンツを検索、コードベースを探索
実行シェルコマンド実行、サーバー起動、テスト実行、git 使用
ウェブウェブ検索、ドキュメント取得、エラーメッセージ検索
コード インテリジェンス編集後の型エラーと警告表示、定義へのジャンプ、参照の検索(コード インテリジェンス プラグイン が必要)
これらが主な機能です。Claude には subagent の生成、質問、その他のオーケストレーションタスク用のツールもあります。完全なリストについては、Claude が利用可能なツール を参照してください。 Claude はプロンプトと学んだことに基づいて、どのツールを使用するかを選択します。「失敗しているテストを修正して」と言うと、Claude は以下のように対応する場合があります。
  1. テストスイートを実行して何が失敗しているかを確認
  2. エラー出力を読み取る
  3. 関連するソースファイルを検索
  4. それらのファイルを読んでコードを理解
  5. ファイルを編集して問題を修正
  6. テストを再度実行して検証
各ツール使用は Claude に新しい情報を与え、次のステップに情報を与えます。これが agentic ループの実際の動作です。 基本機能の拡張: 組み込みツールが基盤です。スキル で Claude の知識を拡張し、MCP で外部サービスに接続し、フック でワークフローを自動化し、subagent にタスクをオフロードできます。これらの拡張はコア agentic ループの上に層を形成します。ニーズに合った拡張を選択するためのガイダンスについては、Claude Code を拡張する を参照してください。

Claude がアクセスできるもの

このガイドはターミナルに焦点を当てています。Claude Code は VS CodeJetBrains IDE、その他の環境でも実行されます。 ディレクトリで claude を実行すると、Claude Code は以下にアクセスできます。
  • プロジェクト。 ディレクトリとサブディレクトリ内のファイル、および許可を得た他の場所のファイル。
  • ターミナル。 実行できるあらゆるコマンド。ビルドツール、git、パッケージマネージャー、システムユーティリティ、スクリプト。コマンドラインからできることなら、Claude もできます。
  • git の状態。 現在のブランチ、コミットされていない変更、最近のコミット履歴。
  • CLAUDE.md プロジェクト固有の指示、規約、Claude が毎回のセッションで知っておくべきコンテキストを保存するマークダウンファイル。
  • 自動メモリ Claude が作業中に自動的に保存する学習内容。プロジェクトパターンと設定など。MEMORY.md の最初の 200 行は各セッションの開始時に読み込まれます。
  • 設定した拡張機能。 外部サービス用の MCP サーバー、ワークフロー用の スキル、委譲作業用の subagent、ブラウザ相互作用用の Claude in Chrome
Claude はプロジェクト全体を見ることができるため、プロジェクト全体で作業できます。「認証バグを修正して」と Claude に指示すると、関連ファイルを検索し、複数のファイルを読んでコンテキストを理解し、それらを調整して編集し、修正を検証するためにテストを実行し、要求に応じて変更をコミットします。これは現在のファイルのみを見るインラインコードアシスタントとは異なります。

環境とインターフェース

上記で説明した agentic ループ、ツール、機能は、Claude Code を使用するあらゆる場所で同じです。変わるのは、コードが実行される場所とそれとの相互作用方法です。

実行環境

Claude Code は 3 つの環境で実行され、各環境はコード実行場所に対して異なるトレードオフを持ちます。
環境コード実行場所ユースケース
ローカルマシンデフォルト。ファイル、ツール、環境への完全なアクセス
クラウドAnthropic 管理 VMタスクをオフロード、ローカルにないリポジトリで作業
リモートコントロールマシン、ブラウザから制御ウェブ UI を使用しながらすべてをローカルに保つ

インターフェース

Claude Code には、ターミナル、デスクトップアプリIDE 拡張機能claude.ai/codeリモートコントロールSlackCI/CD パイプライン を通じてアクセスできます。インターフェースは Claude の表示方法と相互作用方法を決定しますが、基盤となる agentic ループは同じです。完全なリストについては、Claude Code をどこでも使用する を参照してください。

セッションで作業する

Claude Code は作業中にローカルで会話を保存します。各メッセージ、ツール使用、結果が保存され、巻き戻し再開、フォーク セッションが可能になります。Claude がコード変更を加える前に、影響を受けるファイルのスナップショットも作成されるため、必要に応じて元に戻すことができます。 セッションは独立しています。 各新規セッションは新しいコンテキストウィンドウで開始され、前のセッションの会話履歴がありません。Claude は 自動メモリ を使用してセッション間で学習を保持でき、CLAUDE.md に独自の永続的な指示を追加できます。

ブランチ間で作業する

各 Claude Code 会話はセッションで、現在のディレクトリに関連付けられています。再開すると、そのディレクトリからのセッションのみが表示されます。 Claude は現在のブランチのファイルを見ます。ブランチを切り替えると、Claude は新しいブランチのファイルを見ますが、会話履歴は同じままです。Claude はブランチ切り替え後も、議論した内容を覚えています。 セッションはディレクトリに関連付けられているため、git worktree を使用して並列 Claude Code セッションを実行できます。これは個別のブランチ用に別のディレクトリを作成します。

セッションを再開またはフォークする

claude --continue または claude --resume でセッションを再開すると、同じセッション ID を使用して中断したところから再開します。新しいメッセージは既存の会話に追加されます。完全な会話履歴が復元されますが、セッションスコープの権限は復元されません。それらを再度承認する必要があります。 セッション継続性:再開は同じセッションを続行し、フォークは新しい ID で新しいブランチを作成します。 元のセッションに影響を与えずに別のアプローチを試すために分岐するには、--fork-session フラグを使用します。
claude --continue --fork-session
これは会話履歴をその時点まで保持しながら新しいセッション ID を作成します。元のセッションは変更されません。再開と同様に、フォークされたセッションはセッションスコープの権限を継承しません。 複数のターミナルで同じセッション:複数のターミナルで同じセッションを再開すると、両方のターミナルが同じセッションファイルに書き込みます。両方からのメッセージがインターリーブされます。同じノートブックに 2 人が書き込むようなものです。何も破損しませんが、会話がごちゃごちゃになります。セッション中は各ターミナルは独自のメッセージのみを見ますが、後でそのセッションを再開すると、すべてがインターリーブされた状態で表示されます。同じ開始点から並列作業する場合は、--fork-session を使用して各ターミナルに独自のクリーンなセッションを与えます。

コンテキストウィンドウ

Claude のコンテキストウィンドウは、会話履歴、ファイルコンテンツ、コマンド出力、CLAUDE.md、読み込まれたスキル、システム指示を保持します。作業を進めるとコンテキストが満杯になります。Claude は自動的にコンパクト化しますが、会話の早い段階の指示が失われる可能性があります。永続的なルールは CLAUDE.md に入れ、/context を実行してスペースを使用しているものを確認します。

コンテキストが満杯になったとき

Claude Code はコンテキストウィンドウの制限に近づくと、自動的にコンテキストを管理します。古いツール出力をクリアし、必要に応じて会話を要約します。リクエストと主要なコードスニペットは保持されます。会話の早い段階の詳細な指示は失われる可能性があります。会話履歴に依存するのではなく、永続的なルールを CLAUDE.md に入れます。 コンパクト化中に保持されるものを制御するには、CLAUDE.md に「Compact Instructions」セクションを追加するか、/compact をフォーカス付きで実行します(例:/compact focus on the API changes)。 /context を実行してスペースを使用しているものを確認します。MCP サーバーはすべてのリクエストにツール定義を追加するため、数個のサーバーで作業を開始する前に大量のコンテキストを消費できます。/mcp を実行してサーバーごとのコストを確認します。

スキルと subagent でコンテキストを管理する

コンパクト化を超えて、他の機能を使用してコンテキストに読み込まれるものを制御できます。 スキル はオンデマンドで読み込まれます。Claude はセッション開始時にスキル説明を見ますが、完全なコンテンツはスキルが使用されるときのみ読み込まれます。手動で呼び出すスキルの場合、disable-model-invocation: true を設定して、必要になるまで説明をコンテキストから除外します。 Subagent は独自の新しいコンテキストを取得し、メイン会話から完全に分離されます。それらの作業はコンテキストを膨張させません。完了すると、要約を返します。この分離が長いセッションで subagent が役立つ理由です。 コンテキストコスト で各機能のコストを確認し、トークン使用量を削減 でコンテキスト管理のヒントを確認します。

チェックポイントと権限で安全に保つ

Claude には 2 つの安全メカニズムがあります。チェックポイントはファイル変更を元に戻すことができ、権限は Claude が質問なしでできることを制御します。

チェックポイントで変更を元に戻す

すべてのファイル編集は可逆的です。 Claude がファイルを編集する前に、現在のコンテンツのスナップショットを作成します。何か問題が発生した場合、Esc を 2 回押して前の状態に巻き戻すか、Claude に元に戻すよう指示します。 チェックポイントはセッションに対してローカルで、git とは別です。ファイル変更のみをカバーします。リモートシステムに影響を与えるアクション(データベース、API、デプロイメント)はチェックポイントできません。これが Claude が外部の副作用を持つコマンドを実行する前に質問する理由です。

Claude ができることを制御する

Shift+Tab を押して権限モードをサイクルします。
  • デフォルト:Claude はファイル編集とシェルコマンドの前に質問します
  • 自動受け入れ編集:Claude はファイルを質問なしで編集し、コマンドについては質問します
  • プランモード:Claude は読み取り専用ツールのみを使用し、実行前に承認できるプランを作成します
.claude/settings.json で特定のコマンドを許可することもできます。これにより、Claude は毎回質問しません。npm testgit status などの信頼できるコマンドに便利です。設定は組織全体のポリシーから個人的な設定までスコープできます。詳細については、権限 を参照してください。

Claude Code を効果的に使用する

これらのヒントは Claude Code からより良い結果を得るのに役立ちます。

Claude Code に助けを求める

Claude Code は使用方法を教えることができます。「フックの設定方法は?」や「CLAUDE.md を構造化する最良の方法は?」などの質問をすると、Claude が説明します。 組み込みコマンドもセットアップをガイドします。
  • /init はプロジェクト用の CLAUDE.md 作成をウォークスルーします
  • /agents はカスタム subagent の設定を支援します
  • /doctor はインストールの一般的な問題を診断します

会話です

Claude Code は会話型です。完璧なプロンプトは必要ありません。やりたいことから始めて、その後改善します。
ログインバグを修正して
[Claude が調査し、何かを試す]
それは正確ではありません。問題はセッション処理にあります。
[Claude がアプローチを調整] 最初の試みが正しくない場合、最初からやり直す必要はありません。反復します。

中断して操舵する

任意の時点で Claude を中断できます。間違った方向に進んでいる場合は、修正を入力して Enter キーを押すだけです。Claude は何をしていたかを停止し、入力に基づいてアプローチを調整します。完了を待つ必要も、最初からやり直す必要もありません。

最初から具体的に

最初のプロンプトが正確であるほど、必要な修正が少なくなります。特定のファイルを参照し、制約を述べ、例のパターンを指摘します。
チェックアウトフローが期限切れカードのユーザーに対して機能していません。
src/payments/ で問題を確認してください。特にトークン更新。
最初に失敗するテストを書いて、その後修正してください。
曖昧なプロンプトは機能しますが、より多くの時間を操舵に費やします。上記のような具体的なプロンプトは最初の試みで成功することが多いです。

Claude が検証するものを与える

Claude は独自の作業を確認できるときにより良いパフォーマンスを発揮します。テストケース、期待される UI のスクリーンショット、または必要な出力を定義します。
validateEmail を実装します。テストケース:'[email protected]' → true、
'invalid' → false、'[email protected]' → false。その後テストを実行します。
ビジュアル作業の場合、デザインのスクリーンショットを貼り付けて、Claude に実装と比較するよう指示します。

実装する前に探索する

複雑な問題の場合、研究とコーディングを分離します。プランモード(Shift+Tab を 2 回)を使用してコードベースを最初に分析します。
src/auth/ を読んで、セッション処理方法を理解してください。
その後、OAuth サポート追加のプランを作成してください。
プランを確認し、会話を通じて改善し、その後 Claude に実装させます。このフェーズアプローチは、コードに直接ジャンプするよりも良い結果を生成します。

指示するのではなく委譲する

有能な同僚に委譲することを考えてください。コンテキストと方向を与え、その後 Claude が詳細を理解することを信頼します。
チェックアウトフローが期限切れカードのユーザーに対して機能していません。
関連するコードは src/payments/ にあります。調査して修正できますか?
どのファイルを読むか、どのコマンドを実行するかを指定する必要はありません。Claude がそれを理解します。

次のステップ