Skip to content

Claude Code とは何か ​

Claude Code は、指示を受けると、ファイルを読み、コマンドを実行し、コードを書き換えるところまでを、自分で進める AI のツールです。このページでは、Claude Code がどのように作業を進めるのかを整理します。あとのページで扱う、権限、スキル、サブエージェントなどの機能は、ここで説明する仕組みの上に成り立っています。

この記事で分かること ​

  • Claude Code が作業を進める流れ(エージェントのループ)
  • 作業を支える 2 つの要素(モデルとツール)
  • Claude が扱えるものと、作業が行われる場所
  • セッションと、コンテキストウィンドウの考え方
  • 変更を元に戻す仕組みと、操作を制限する仕組み

用語の整理 ​

用語意味
エージェント(agent)目標を与えられると、必要な手順を自分で考えて、実行する AI
モデル(model)文章やコードを理解して、次に何をするかを考える、AI の本体。Claude Code では、Claude のモデルを使う
ツール(tool)モデルが、実際の操作を行うための道具。ファイルを読む、コマンドを実行する、など
ハーネス(agentic harness)モデルにツールを与え、モデルが見る情報を管理する、モデルの周りの仕組み。Claude Code そのものが、これにあたる
コンテキストウィンドウ(context window)モデルが、一度に扱える情報の量。会話の履歴や、読んだファイルの内容などが、ここに入る
セッション(session)Claude Code との、1 つの会話のまとまり
圧縮(compaction)コンテキストウィンドウがいっぱいになったときに、古い内容を要約して、空きを作ること
チェックポイント(checkpoint)Claude がファイルを書き換える前に保存される、元の内容の記録
権限モード(permission mode)Claude が、確認なしで実行できる操作の範囲を決める設定

Claude Code とは ​

Claude Code は、エージェントとして動く、作業の支援ツールです。得意なのはコーディングですが、コマンドでできることであれば、ドキュメントの作成、ビルドの実行、ファイルの検索、調べものなどにも使えます。

コードの入力中に続きを提案するだけのツールとは、扱える範囲が違います。そうしたツールが見ているのは、主に今開いているファイルです。Claude Code は、プロジェクト全体を見て、複数のファイルにまたがる作業を進められます。たとえば「この不具合を直して」と頼むと、関係するファイルを探し、複数のファイルを読んで状況を理解し、必要な箇所をまとめて書き換え、テストで確かめる、というところまでを行います。

作業の進め方:エージェントのループ ​

Claude は、作業を 3 つの段階で進めます。

text
あなたの指示
    ↓
┌─→ ① 状況を調べる(gather context)
│       ファイルを探す、読む、コマンドの結果を見る
│           ↓
│   ② 実行する(take action)
│       ファイルを書き換える、コマンドを実行する
│           ↓
│   ③ 結果を確かめる(verify results)
│       テストを実行する、出力を確認する
│           ↓
└── まだ終わっていなければ、① に戻る
    ↓
作業の完了

この 3 つは、きれいに分かれているわけではなく、混ざり合いながら進みます。また、頼んだ内容によって、形が変わります。

頼んだ内容ループの形
コードについての質問① の「状況を調べる」だけで終わることが多い
不具合の修正①〜③ を、何度も繰り返す
大きな書き直し③ の「結果を確かめる」に、多くの手間をかける

Claude は、前の手順で分かったことをもとに、次に何をするかを決めます。数十の操作を続けて行い、途中で方針を修正しながら進みます。

人も、ループの一部 ​

Claude は自律的に作業を進めますが、人はいつでも割り込めます。途中で止めて方向を変える、情報を追加する、別のやり方を試すように頼む、といったことができます。

ループを動かす 2 つの要素 ​

エージェントのループは、考える役のモデルと、実行する役のツールの 2 つで動いています。

モデル ​

モデルは、コードを理解して、作業について考えます。どの言語のコードも読めて、部品同士のつながりを理解し、目標を達成するために何を変える必要があるかを判断します。込み入った作業では、作業を手順に分けて実行し、分かったことに応じて調整します。

モデルには複数の種類があり、得意なことと、速さや費用が違います。公式ドキュメントでは、多くのコーディングの作業には Sonnet が向いていて、込み入った設計の判断には、より強い推論力を持つ Opus が向いている、と説明されています。

このサイトの説明で「Claude が判断する」「Claude が決める」と書くとき、考えているのは、このモデルです。

ツール ​

ツールがなければ、モデルは文章で答えることしかできません。ツールがあることで、コードを読む、ファイルを書き換える、コマンドを実行する、といった実際の操作ができるようになります。ツールを使った結果は、モデルに返されて、次の判断の材料になります。

最初から備わっているツールは、大きく 5 つに分けられます。

分類できること
ファイルの操作ファイルを読む、コードを編集する、新しいファイルを作る、名前を変えて整理する
検索名前のパターンでファイルを探す、内容を検索する、コード全体を調べる
実行コマンドを実行する、サーバーを起動する、テストを実行する、Git を使う
WebWeb を検索する、ドキュメントを取得する、エラーメッセージを調べる
コードの解析編集したあとの型のエラーや警告を見る、定義の場所に移動する、使われている箇所を探す(専用のプラグインが必要)

このほかに、サブエージェントを起動するツールや、人に質問するツールなどもあります。

例:「失敗しているテストを直して」 ​

公式ドキュメントでは、この指示を受けたときの動きの例として、次の流れが挙げられています。

  1. テストを実行して、何が失敗しているかを見る
  2. エラーの出力を読む
  3. 関係するソースファイルを探す
  4. そのファイルを読んで、コードを理解する
  5. ファイルを編集して、問題を直す
  6. もう一度テストを実行して、直ったことを確かめる

1〜4 が「状況を調べる」、5 が「実行する」、6 が「結果を確かめる」にあたります。どのツールを、どの順番で使うかは、人が指定するのではなく、Claude が決めます。

Claude が扱えるもの ​

あるフォルダーで Claude Code を起動すると、Claude は次のものを扱えるようになります。

扱えるもの内容
プロジェクトそのフォルダーと、その中のフォルダーにあるファイル。それ以外の場所のファイルは、許可があれば扱える
ターミナル人が実行できるコマンドは、Claude も実行できる。ビルドの道具、Git、パッケージの管理ツールなど
Git の状態現在のブランチ、まだコミットしていない変更、最近のコミットの履歴
CLAUDE.mdプロジェクトのルールや約束ごとを書いておくファイル。Claude は、毎回のセッションでこれを読む
自動メモリ(auto memory)作業の中で、Claude が自分で保存する覚え書き。利用者の好みなどを、次のセッションに引き継ぐ
追加した機能外部のサービスにつなぐ MCP サーバー、手順をまとめたスキル、作業を任せるサブエージェントなど

「それ以外の場所のファイルは、許可があれば」という点は、確認の画面が出るかどうかに関わります。詳しくは「03. 権限モードと、確認を減らす方法」で扱う予定です。

作業が行われる場所と、操作する画面 ​

エージェントのループと、ツールの働きは、どこで Claude Code を使っても同じです。違うのは、コードが実行される場所と、人が操作する画面です。

コードが実行される場所 ​

場所コードが動くところ向いている場面
ローカル自分の PC標準の使い方。自分のファイル、道具、環境を、そのまま使える
クラウドAnthropic が用意した環境など作業を任せて手を離したい。手元にないリポジトリで作業したい
Remote Control自分の PC。ブラウザーなど、別の画面から操作する実行とファイルは自分の PC に置いたまま、別の画面から使いたい

操作する画面 ​

ターミナル、デスクトップアプリ、VS Code などの拡張機能、Web(claude.ai/code)、スマートフォンのアプリなどから使えます。画面が違っても、裏で動いているループは同じです。

それぞれの違いと使い分けは、「02. Claude Code を使う場所」で扱う予定です。

セッション ​

Claude Code との 1 つの会話のまとまりを、セッションといいます。

会話は、自分の PC に保存される ​

Claude Code は、会話の内容を、作業を進めながら自分の PC に保存します。メッセージ、ツールの使用、その結果が、~/.claude/projects/ の下のファイルに、1 行ずつ書き込まれます。この記録があるので、あとで会話を再開したり、途中の状態に戻したりできます。

セッションは、互いに独立している ​

新しいセッションは、空のコンテキストウィンドウから始まります。前のセッションの会話の履歴は、引き継がれません。

セッションをまたいで覚えておいてほしいことは、次の 2 つに入れます。

入れる場所内容
CLAUDE.md人が書く、プロジェクトのルール
自動メモリClaude が自分で保存する、覚え書き

セッションは、フォルダーに結び付いている ​

セッションは、起動したフォルダーに結び付いています。そのため、過去のセッションを開き直すときは、基本的に、同じフォルダーのセッションが一覧に表示されます。

ブランチを切り替えると、Claude が見るファイルは新しいブランチのものに変わりますが、会話の履歴はそのまま残ります。

再開と、分岐 ​

操作動き
再開(resume)同じセッションを開き直して、続きを書き足す
分岐(fork)会話の履歴を新しいセッションに複製する。元のセッションは変わらない

コンテキストウィンドウ ​

コンテキストウィンドウは、モデルが一度に扱える情報の量です。ここに、次のものが入ります。

  • 会話の履歴
  • 読んだファイルの内容
  • コマンドの出力
  • CLAUDE.md と、自動メモリ
  • 読み込まれたスキル
  • システムからの指示

作業を進めると、コンテキストウィンドウは埋まっていきます。

いっぱいになると、どうなるか ​

上限に近づくと、Claude Code が自動で空きを作ります。

  1. まず、古いツールの出力を消す
  2. それでも足りなければ、会話を要約する(圧縮)

人の依頼と、重要なコードの部分は残されます。一方で、会話の初めのほうで伝えた、細かい指示は、失われることがあります。

そのため、ずっと守ってほしいルールは、会話の中で伝えるだけでなく、CLAUDE.md に書いておくことが勧められています。

使われ方を確かめる、節約する ​

方法内容
/context何がコンテキストウィンドウを使っているかを表示する
/compact手動で圧縮する。「〜を中心に」と、残したい内容を指定できる
スキル必要なときにだけ読み込まれる。最初に読み込まれるのは、短い説明だけ
サブエージェント別のコンテキストウィンドウで作業して、結果の要約だけを返す。途中のツールの出力は、元の会話に入らない

スキルとサブエージェントは、あとのページ(06、14)で扱う予定です。どちらも、「コンテキストウィンドウを節約する」という面を持っています。

安全のための 2 つの仕組み ​

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

Claude は、ファイルを書き換える前に、元の内容を保存します。問題が起きたら、前の状態に戻せます。

ただし、戻せるのはファイルの変更だけです。データベース、外部のサービス、公開の処理など、外部に影響する操作は、元に戻せません。こうした操作は、次の権限の仕組みで管理します。

操作を制限する:権限 ​

権限モードによって、Claude が確認なしで実行できる操作の範囲が決まります。また、特定のコマンドを、あらかじめ許可しておくこともできます。

詳しくは、「03. 権限モードと、確認を減らす方法」と「04. 設定ファイルの仕組み」で扱う予定です。

うまく使うための考え方 ​

公式ドキュメントで勧められている考え方です。

考え方内容
Claude に、使い方を聞く「フックは、どう設定するのか」のように、Claude Code 自体の使い方を、Claude に尋ねられる
会話として進める最初から完璧な指示を書く必要はない。まず頼んで、結果を見て、直していく
途中で止めて、方向を変える違うと思ったら、最初からやり直さずに、その場で伝える
細かく指図せず、任せる状況と方向を伝えたら、どのファイルを読むか、どのコマンドを使うかは、Claude に任せる

実際にやってみる ​

このサイト(study-lab)のリポジトリで、ここまでの内容を確かめました。

エージェントのループを、実際の作業に当てはめる ​

このサイトでは、記事の「最終更新」の日時が、どの記事も同じ日時になる不具合がありました。この修正を、3 つの段階に当てはめると、次のようになります。

段階Claude が行ったこと
① 状況を調べる公開されているサイトに埋め込まれた日時を取得した。Git の履歴から、各記事を実際に最後に変更した日時を調べた。2 つを比べて、どの記事も「最後に公開した日時」になっていることを確かめた。公開の処理の設定ファイルを読んだ
② 実行する公開の処理が、変更の履歴を最新の 1 件しか取得していないことが原因だと判断した。設定ファイルに、履歴をすべて取得する指定を加えた
③ 結果を確かめる手元で、履歴が 1 件だけの場合と、すべてある場合を再現して、サイトを作り直した。履歴が 1 件だけだと誤った日時になり、すべてあると正しい日時になることを確かめた。公開したあとに、公開サイトの 7 ページの日時が、実際の日時と一致することを確かめた

人が伝えたのは、「最終更新の不具合を直してほしい」ということだけです。どの日時を比べるか、どのファイルを読むか、どう再現するかは、Claude が決めました。

この例で大事なのは、**③ の「結果を確かめる」**です。設定を直しただけで終わらせずに、直す前の状態で不具合が再現することと、直したあとに解消することの、両方を確かめています。

セッションの記録を確かめる ​

会話が自分の PC に保存されていることを、確かめました。

bash
ls ~/.claude/projects/

フォルダーごとに、記録を入れる場所が作られていました。名前は、作業したフォルダーのパスをもとに付けられています。

このサイトのリポジトリのセッションについて、記録のファイルを調べた結果です。

項目結果
ファイルの形式1 行に 1 件の記録が並ぶ、テキストのファイル(JSONL という形式)
記録の件数約 4,000 行
ファイルの大きさ約 11 MB
記録の種類Claude の応答、利用者の入力、添付された情報、など

長いセッションでは、記録がかなり大きくなることが分かります。この中には、会話の内容、読んだファイルの内容、コマンドの出力が含まれています。記録のファイルは、取り扱いに注意が必要なデータだと分かります。

プロジェクトのルールのファイルを確かめる ​

bash
ls CLAUDE.md

このサイトのリポジトリには、まだ CLAUDE.md がありませんでした。ここまでの作業で決めたルール(用語は最初に説明する、公式の情報で確認してから書く、など)は、会話の中で伝えたものと、自動メモリに保存されたものだけです。

上の「コンテキストウィンドウ」の節で見たとおり、会話の中で伝えた指示は、失われることがあります。ルールを CLAUDE.md に書き出す作業は、「05. CLAUDE.md とメモリ」で行う予定です。

まとめ ​

  • Claude Code は、エージェントとして動く。作業を、「状況を調べる」「実行する」「結果を確かめる」の繰り返しで進める。
  • ループを動かすのは、考える役のモデルと、実行する役のツールである。Claude Code は、その周りで、ツールを与え、情報を管理する仕組みにあたる。
  • Claude は、プロジェクト全体を見て、複数のファイルにまたがる作業を進められる。
  • セッションは互いに独立していて、新しいセッションは、空のコンテキストウィンドウから始まる。引き継ぎたいことは、CLAUDE.md と自動メモリに入れる。
  • コンテキストウィンドウがいっぱいになると、古い内容が要約される。会話の初めの細かい指示は、失われることがある。
  • ファイルの変更は、チェックポイントで元に戻せる。外部に影響する操作は、元に戻せないので、権限の仕組みで管理する。

確認の記録 ​

項目内容
最終確認日2026 年 10 月 11 日
Claude Code のバージョン2.1.295(macOS のデスクトップアプリ)
検証の状況「仕組み」にあたる節は、公式ドキュメントの内容と照合した。「実際にやってみる」は、このサイトのリポジトリと、macOS のデスクトップアプリで確かめた結果
確かめていない内容/context、/compact、セッションの再開と分岐は、公式ドキュメントの説明をもとに書いている。このページを書く中では、実際に操作していない