agentic ループ
Claude にタスクを与えると、3 つのフェーズを通じて作業します。コンテキストの収集、アクションの実行、結果の検証 です。これらのフェーズは相互に融合します。Claude はツールを使用して、コードを理解するためのファイル検索、変更を加えるための編集、作業を確認するためのテスト実行など、様々な場面で活用します。モデル
Claude Code は Claude モデルを使用して、コードを理解し、タスクについて推論します。Claude は任意の言語のコードを読み、コンポーネントがどのように接続されているかを理解し、目標を達成するために何を変更する必要があるかを判断できます。複雑なタスクの場合、作業をステップに分割し、実行し、学んだことに基づいて調整します。 複数のモデル が異なるトレードオフで利用可能です。Sonnet はほとんどのコーディングタスクをうまく処理します。Opus は複雑なアーキテクチャ上の決定に対してより強力な推論を提供します。セッション中に/model で切り替えるか、claude --model <name> で開始します。
このガイドで「Claude が選択する」または「Claude が決定する」と言う場合、モデルが推論を行っています。
ツール
ツールは Claude Code を agentic にするものです。ツールがなければ、Claude はテキストで応答することしかできません。ツールがあれば、Claude はアクションを実行できます。コードを読み、ファイルを編集し、コマンドを実行し、ウェブを検索し、外部サービスと相互作用します。各ツール使用は情報を返し、ループにフィードバックされ、Claude の次の決定に情報を与えます。 組み込みツールは一般的に 5 つのカテゴリに分類され、それぞれが異なる種類のエージェンシーを表します。
これらが主な機能です。Claude には subagent の生成、質問、その他のオーケストレーションタスク用のツールもあります。完全なリストについては、Claude が利用可能なツール を参照してください。
Claude はプロンプトと学んだことに基づいて、どのツールを使用するかを選択します。「失敗しているテストを修正して」と言うと、Claude は以下のようなことを行うかもしれません。
- テストスイートを実行して、何が失敗しているかを確認
- エラー出力を読む
- 関連するソースファイルを検索
- それらのファイルを読んでコードを理解
- ファイルを編集して問題を修正
- テストを再度実行して検証
Claude がアクセスできるもの
ディレクトリでclaude を実行すると、Claude Code は以下にアクセスできます。
- プロジェクト。 ディレクトリとサブディレクトリ内のファイル、および許可を得た他の場所のファイル。
- ターミナル。 実行できるあらゆるコマンド。ビルドツール、git、パッケージマネージャー、システムユーティリティ、スクリプト。コマンドラインからできることなら、Claude もできます。
- git の状態。 現在のブランチ、コミットされていない変更、最近のコミット履歴。
- CLAUDE.md。 プロジェクト固有の指示、規約、Claude が毎回のセッションで知っておくべきコンテキストを保存するマークダウンファイル。リポジトリに他のコーディングエージェント用の AGENTS.md がある場合、Claude は それを読むことができます。CLAUDE.md と一緒に、または単独で読むことができます。
- 自動メモリ。 作業中に Claude が自動的に保存する学習。設定など。MEMORY.md の最初の 200 行または 25KB のいずれか先に達した方が、各セッションの開始時に読み込まれます。
- 設定した拡張機能。 外部サービス用の MCP サーバー、ワークフロー用の skills、委譲作業用の subagents、ブラウザ相互作用用の Claude in Chrome。
環境とインターフェース
agentic ループ、ツール、および機能は、Claude Code を使用するあらゆる場所で同じです。変わるのは、コードが実行される場所とそれとの相互作用方法です。実行環境
Claude Code は 3 つの環境で実行され、各環境はコード実行場所に対して異なるトレードオフを持ちます。インターフェース
Claude Code には、ターミナル、デスクトップアプリ、IDE 拡張機能、claude.ai/code、リモートコントロール、Slack、CI/CD パイプライン を通じてアクセスできます。インターフェースは Claude の表示方法と相互作用方法を決定しますが、基盤となる agentic ループは同じです。完全なリストについては、Claude Code をどこでも使用する を参照してください。セッションで作業する
Claude Code は作業中にローカルで会話を保存します。各メッセージ、ツール使用、結果は~/.claude/projects/ の下のプレーンテキスト JSONL ファイルに書き込まれ、巻き戻し、再開、フォーク セッションが可能になります。Claude がコード変更を行う前に、影響を受けるファイルのスナップショットも作成されるため、必要に応じて元に戻すことができます。パス、保持期間、このデータをクリアする方法については、~/.claude のアプリケーションデータ を参照してください。
セッションは独立しています。 各新規セッションは、前のセッションの会話履歴なしで、新しいコンテキストウィンドウで開始されます。Claude は 自動メモリ を使用してセッション間で学習を保持でき、CLAUDE.md に独自の永続的な指示を追加できます。
ブランチ間で作業する
各 Claude Code 会話は、現在のディレクトリに結び付けられたセッションです。/resume ピッカーはデフォルトで現在の worktree からのセッションを表示し、キーボードショートカットを使用してリストを他の worktree またはプロジェクトに拡張できます。ピッカーショートカットの完全なリストと名前解決の仕組みについては、セッションを管理する を参照してください。
Claude は現在のブランチのファイルを見ます。ブランチを切り替えると、Claude は新しいブランチのファイルを見ますが、会話履歴は同じままです。Claude はブランチ切り替え後も、議論したことを覚えています。
セッションはディレクトリに結び付けられているため、git worktrees を使用して並列 Claude Code セッションを実行できます。これは個別のブランチ用に別のディレクトリを作成します。
セッションを再開またはフォークする
claude --continue または claude --resume でセッションを再開すると、同じセッション ID を使用して中断したところから再開し、新しいメッセージを既存の会話に追加します。--fork-session または /branch でフォークすると、履歴を新しいセッション ID にコピーし、元のセッションは変更されません。
/resume ピッカー、命名、同じセッションが 2 つのターミナルで開いている場合の動作については、セッションを管理する を参照してください。
コンテキストウィンドウ
Claude のコンテキストウィンドウは、会話履歴、ファイルコンテンツ、コマンド出力、CLAUDE.md、自動メモリ、読み込まれたスキル、システム指示を保持します。作業を進めると、コンテキストが満杯になります。Claude は自動的にコンパクト化しますが、会話の早い段階からの指示が失われる可能性があります。永続的なルールを CLAUDE.md に入れ、/context を実行してスペースを使用しているものを確認してください。
対話的なウォークスルーについては、コンテキストウィンドウを探索する を参照してください。
コンテキストが満杯になったとき
Claude Code はコンテキストウィンドウの制限に近づくと、自動的にコンテキストを管理します。古いツール出力をクリアし、必要に応じて会話を要約します。リクエストと主要なコードスニペットは保持されます。会話の早い段階からの詳細な指示は失われる可能性があります。会話履歴に依存するのではなく、永続的なルールを CLAUDE.md に入れてください。 コンパクト化中に保持されるものを制御するには、CLAUDE.md に「Compact Instructions」セクションを追加するか、/compact をフォーカス付きで実行します(例:/compact focus on the API changes)。
単一のファイルまたはツール出力が非常に大きく、各要約後にコンテキストがすぐに再度満杯になる場合、Claude Code は数回の試行後に自動コンパクト化を停止し、ループする代わりにエラーを表示します。自動コンパクト化が thrashing エラーで停止する を参照して、復旧手順を確認してください。
/context を実行してスペースを使用しているものを確認してください。MCP ツール定義はデフォルトで遅延され、ツール検索 を通じてオンデマンドで読み込まれるため、Claude が特定のツールを使用するまで、ツール名とサーバー指示のみがコンテキストを消費します。
スキルと subagent でコンテキストを管理する
コンパクト化を超えて、他の機能を使用してコンテキストに読み込まれるものを制御できます。 スキル はオンデマンドで読み込まれます。Claude はセッション開始時にスキル説明を見ますが、完全なコンテンツはスキルが使用されるときのみ読み込まれます。手動で呼び出すスキルの場合、disable-model-invocation: true を設定して、必要になるまで説明をコンテキストから除外します。自分で書いていないスキルの場合、skillOverrides を使用して設定から同じことを行います。
Subagent は独自のコンテキストウィンドウで動作します。Subagent は、フォーク でない限り新規に開始されます。フォークの場合は、これまでの会話のコピーで開始されます。どちらの場合でも、subagent のツール呼び出しはコンテキストから除外され、Claude は subagent が完了したときに要約を取得します。
各機能のコストについては コンテキストコスト を参照し、コンテキスト管理のヒントについては トークン使用量を削減する を参照してください。
チェックポイントと権限で安全に保つ
Claude には 2 つの安全メカニズムがあります。チェックポイントはファイル変更を元に戻すことができ、権限は Claude ができることを制御します。チェックポイントで変更を元に戻す
ファイル編集はすべて可逆的です。 Claude がファイルを編集する前に、現在のコンテンツのスナップショットを作成します。何か問題が発生した場合、Esc を 2 回押して前の状態に巻き戻すか、Claude に元に戻すよう求めてください。
チェックポイントは git とは別であり、会話を再開するときに利用可能なままです。ファイル変更のみをカバーし、復元は シンボリックリンクとハードリンクされたファイルをスキップします。リモートシステム(データベース、API、デプロイメント)に影響するアクションはチェックポイントできません。これらは権限モードと権限ルールで制御します。
Claude ができることを制御する
権限モードを選択して、Claude が求めずにできることを設定します。Shift+Tab を押して権限モードをサイクルします。
- Auto:分類器がバックグラウンドでほとんどのアクションをレビューし、求める代わりにリスクのあるものをブロックします。Pro、Max、Team プランでは、インタラクティブターミナルと VS Code セッションの 組み込みの開始権限モード です
- Manual:Claude はファイル編集とシェルコマンドの前に求めます
- Accept edits:Claude はファイルを編集し、
mkdirやmvなどの一般的なファイルシステムコマンドを実行するよう求めず、他のコマンドはまだ求めます - Plan:Claude はソースファイルを編集せずに探索し、プランを提案します
.claude/settings.json で特定のコマンドを許可することもできます。これにより、Claude は毎回求めません。これは npm test や git status などの信頼できるコマンドに便利です。設定は組織全体のポリシーから個人的な設定までスコープできます。詳細については、権限 を参照してください。
Claude Code を効果的に使用する
これらのヒントは Claude Code からより良い結果を得るのに役立ちます。特定のプロンプト、検証、計画の詳細については、ベストプラクティスを参照してください。Claude Code に助言を求める
Claude Code はそれの使い方を教えることができます。「hooks をどのようにセットアップするのか」や「CLAUDE.md を構造化する最良の方法は何か」といった質問をしてください。Claude が説明します。 組み込みコマンドもセットアップをガイドします:/initはプロジェクト用のスターター CLAUDE.md を生成します/doctorはセットアップチェックアップを実行し、インストールと設定の問題を診断し、修正することができます
これは会話です
Claude Code は会話型です。完璧なプロンプトは必要ありません。やりたいことから始めて、その後改善します:割り込みと操舵
任意の時点で Claude をリダイレクトでき、最初からやり直す必要はありません。以下のいずれかを実行してください:Escキーを押すと Claude が直ちに停止します。実行中のツール呼び出しがキャンセルされ、Claude は次の指示を待ちます。メッセージがキューに入っている場合、Claude Code は次にそれらを送信します。- 修正を入力して
Enterキーを押すと Claude を停止せずに実行します。メッセージは入力ボックスの上にキューに入っているものとして表示されます。Claude がツール呼び出しを実行している場合、それらの呼び出しが完了するとすぐに、同じターン内でメッセージを読み取り、次のステップの前に調整します。Claude が作業している間にメッセージをキューに入れるは、他のキューに入っているエントリがいつ送信されるかについて説明しています。
指示するのではなく委譲する
有能な同僚に委譲することを考えてください。コンテキストと方向性を提供し、その後 Claude が詳細を理解することを信頼してください:次のステップ
機能で拡張する
スキルと MCP 接続を追加
一般的なワークフロー
典型的なタスクのステップバイステップガイド