agentic ループ
Claude にタスクを与えると、3 つのフェーズを通じて処理します。コンテキストの収集、アクション実行、結果の検証 です。これらのフェーズは相互に融合します。Claude はツールを使用して、コードを理解するためのファイル検索、変更を加えるための編集、作業を確認するためのテスト実行など、様々な場面で活用します。モデル
Claude Code は Claude モデルを使用してコードを理解し、タスクについて推論します。Claude はあらゆる言語のコードを読み、コンポーネントがどのように接続されているかを理解し、目標を達成するために何を変更する必要があるかを判断できます。複雑なタスクの場合、作業をステップに分割し、実行し、学んだことに基づいて調整します。 複数のモデル が異なるトレードオフで利用可能です。Sonnet はほとんどのコーディングタスクをうまく処理します。Opus は複雑なアーキテクチャ上の決定に対してより強力な推論を提供します。セッション中に/model で切り替えるか、claude --model <name> で開始します。
このガイドで「Claude が選択する」または「Claude が決定する」と言う場合、モデルが推論を行っています。
ツール
ツールが Claude Code を agentic にします。ツールがなければ、Claude はテキストで応答することしかできません。ツールがあれば、Claude はアクションを実行できます。コードを読み、ファイルを編集し、コマンドを実行し、ウェブを検索し、外部サービスと相互作用します。各ツール使用は情報を返し、ループにフィードバックされ、Claude の次の決定に情報を与えます。 組み込みツールは一般的に 5 つのカテゴリに分類され、それぞれが異なる種類のエージェンシーを表します。| カテゴリ | Claude ができること |
|---|---|
| ファイル操作 | ファイルの読み取り、コード編集、新規ファイル作成、名前変更と再編成 |
| 検索 | パターンでファイルを検索、正規表現でコンテンツを検索、コードベースを探索 |
| 実行 | シェルコマンド実行、サーバー起動、テスト実行、git 使用 |
| ウェブ | ウェブ検索、ドキュメント取得、エラーメッセージ検索 |
| コード インテリジェンス | 編集後の型エラーと警告表示、定義へのジャンプ、参照の検索(コード インテリジェンス プラグイン が必要) |
- テストスイートを実行して何が失敗しているかを確認
- エラー出力を読み取る
- 関連するソースファイルを検索
- それらのファイルを読んでコードを理解
- ファイルを編集して問題を修正
- テストを再度実行して検証
Claude がアクセスできるもの
このガイドはターミナルに焦点を当てています。Claude Code は VS Code、JetBrains IDE、その他の環境でも実行されます。 ディレクトリでclaude を実行すると、Claude Code は以下にアクセスできます。
- プロジェクト。 ディレクトリとサブディレクトリ内のファイル、および許可を得た他の場所のファイル。
- ターミナル。 実行できるあらゆるコマンド。ビルドツール、git、パッケージマネージャー、システムユーティリティ、スクリプト。コマンドラインからできることなら、Claude もできます。
- git の状態。 現在のブランチ、コミットされていない変更、最近のコミット履歴。
- CLAUDE.md。 プロジェクト固有の指示、規約、Claude が毎回のセッションで知っておくべきコンテキストを保存するマークダウンファイル。
- 自動メモリ。 Claude が作業中に自動的に保存する学習内容。プロジェクトパターンと設定など。MEMORY.md の最初の 200 行は各セッションの開始時に読み込まれます。
- 設定した拡張機能。 外部サービス用の MCP サーバー、ワークフロー用の スキル、委譲作業用の subagent、ブラウザ相互作用用の Claude in Chrome。
環境とインターフェース
上記で説明した agentic ループ、ツール、機能は、Claude Code を使用するあらゆる場所で同じです。変わるのは、コードが実行される場所とそれとの相互作用方法です。実行環境
Claude Code は 3 つの環境で実行され、各環境はコード実行場所に対して異なるトレードオフを持ちます。| 環境 | コード実行場所 | ユースケース |
|---|---|---|
| ローカル | マシン | デフォルト。ファイル、ツール、環境への完全なアクセス |
| クラウド | Anthropic 管理 VM | タスクをオフロード、ローカルにないリポジトリで作業 |
| リモートコントロール | マシン、ブラウザから制御 | ウェブ UI を使用しながらすべてをローカルに保つ |
インターフェース
Claude Code には、ターミナル、デスクトップアプリ、IDE 拡張機能、claude.ai/code、リモートコントロール、Slack、CI/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 を使用して中断したところから再開します。新しいメッセージは既存の会話に追加されます。完全な会話履歴が復元されますが、セッションスコープの権限は復元されません。それらを再度承認する必要があります。
--fork-session フラグを使用します。
--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 test や git status などの信頼できるコマンドに便利です。設定は組織全体のポリシーから個人的な設定までスコープできます。詳細については、権限 を参照してください。
Claude Code を効果的に使用する
これらのヒントは Claude Code からより良い結果を得るのに役立ちます。Claude Code に助けを求める
Claude Code は使用方法を教えることができます。「フックの設定方法は?」や「CLAUDE.md を構造化する最良の方法は?」などの質問をすると、Claude が説明します。 組み込みコマンドもセットアップをガイドします。/initはプロジェクト用の CLAUDE.md 作成をウォークスルーします/agentsはカスタム subagent の設定を支援します/doctorはインストールの一般的な問題を診断します
会話です
Claude Code は会話型です。完璧なプロンプトは必要ありません。やりたいことから始めて、その後改善します。中断して操舵する
任意の時点で Claude を中断できます。間違った方向に進んでいる場合は、修正を入力して Enter キーを押すだけです。Claude は何をしていたかを停止し、入力に基づいてアプローチを調整します。完了を待つ必要も、最初からやり直す必要もありません。最初から具体的に
最初のプロンプトが正確であるほど、必要な修正が少なくなります。特定のファイルを参照し、制約を述べ、例のパターンを指摘します。Claude が検証するものを与える
Claude は独自の作業を確認できるときにより良いパフォーマンスを発揮します。テストケース、期待される UI のスクリーンショット、または必要な出力を定義します。実装する前に探索する
複雑な問題の場合、研究とコーディングを分離します。プランモード(Shift+Tab を 2 回)を使用してコードベースを最初に分析します。