
【CCA Foundations対策 / Claude Code実践編 #1】Claude Codeとは——AIコーディングアシスタントの仕組みと最初の設定
Anthropic Academyの「Claude Code in Action」コースをもとに解説しています。
Claude Codeは「AIがコードを書いてくれるツール」として使われているが、その裏側の仕組みを理解すると指示の精度が大きく変わる。今回はTool Useの仕組みから始め、プロジェクトへの最初の設定まで整理する。
この記事でわかること:
- コーディングアシスタントがファイルを読み書きできる仕組み(Tool Use)
- なぜClaudeのTool Useが他モデルより強いのか
/initコマンドでCLAUDE.mdを生成する手順- CLAUDE.mdの3層構造(user / project / directory)と@importパターン
- Plan Modeを使うべき場面と使わなくていい場面
コーディングアシスタントの仕組み
言語モデルはテキストを受け取りテキストを返す——それだけの存在だ。単独ではファイルを読めないし、コマンドも実行できない。
コーディングアシスタントはこの制約をTool Useで解決している。
ユーザーのリクエストを受け取ると、アシスタントはツール定義をモデルへの入力に含める。モデルが「このファイルを読みたい」と判断すると、ReadFile: main.go のような形式のレスポンスを返す。アシスタントはそれを受け取り、実際にファイルを読んで結果をモデルに渡す。モデルはその内容をもとに最終回答を生成する。
① ユーザー: "main.goを確認して"
② アシスタント → モデル: ユーザーのリクエスト + ツール定義
③ モデル → アシスタント: "ReadFile: main.go"
④ アシスタント: 実際にファイルを読む
⑤ アシスタント → モデル: ファイルの内容
⑥ モデル: 内容をもとに回答
なぜClaudeのTool Useが強いのか
Tool Useの質はモデルによって大きく異なる。Claudeシリーズが特に評価されているのは3つの点。
複雑なタスクへの対応:複数のツールを組み合わせて、見たことのないツールでも適切に使える。
拡張性:新しいツールを追加するとClaudeは自然に使い始める。MCPサーバーや独自ツールを後から足せる。
セキュリティ:コードベース全体をインデックス化せずにファイルを横断できるため、コード全体を外部サーバーに送信しなくて済む。
/initでプロジェクトを読み込む
新しいプロジェクトでClaude Codeを使い始めるとき、まず /init を実行する。
/init
Claude Codeはコードベース全体を分析し、以下を把握する:
- プロジェクトの目的とアーキテクチャ
- 重要なコマンドとファイル
- コーディングパターンと構造
分析が終わると、要約を CLAUDE.md に書き出す。ファイル書き込みの許可を求めてきたとき、Shift+Tab を押すとセッション中のファイル書き込みをまとめて許可できる。
CLAUDE.mdの3層構造
CLAUDE.mdはClaude Codeが毎回のリクエストに自動で含める設定ファイル——プロジェクト専用のシステムプロンプトのような役割を持つ。
配置場所によって適用スコープが異なる。
| ファイル | スコープ | 特徴 |
|---|---|---|
CLAUDE.md(プロジェクトルート) |
プロジェクト全体 | /initで生成・リポジトリにコミットしてチームに共有 |
CLAUDE.local.md |
個人専用 | .gitignoreに追加・チームに共有されない |
~/.claude/CLAUDE.md |
全プロジェクト共通 | 自分のすべてのプロジェクトに適用 |
@importパターン
CLAUDE.mdからほかのファイルを参照できる。
# プロジェクト概要
データベーススキーマは @prisma/schema.prisma を参照すること。
認証フローの詳細は @docs/auth.md に記述している。
@ で指定したファイルの内容が毎回のリクエストに自動で含まれる。頻繁に参照するファイルをCLAUDE.mdに登録しておくと、「スキーマを確認して」と言うだけでClaudeがスキーマを把握した上で答えてくれる。
#メモリモードでCLAUDE.mdを更新する
会話中に # コマンドを使うと、CLAUDE.mdに即時追記できる。
# コメントは複雑なロジックにのみ付ける。明白なコードにコメントを書かない。
Claudeがこの指示を既存のCLAUDE.mdに自動でマージする。同じ指摘を毎回しなくて済む。
Plan Modeを使う判断基準
Shift+Tab を2回押すとPlan Modeが有効になる(すでに自動承認モードなら1回)。
Plan ModeではClaudeが実装前にコードベースを広く調査し、詳細な実装計画を提示して承認を待つ。
使うべき場面:
- 複数ファイルにまたがる変更
- アーキテクチャの判断が必要な実装
- 破壊的な変更を伴う作業
使わなくていい場面:
- 単一ファイルのバグ修正
- 既存パターンの踏襲(新しいAPIエンドポイント追加など)
- 変更の影響範囲が明確な小さなタスク
📋 試験ガイドより
公式試験ガイドのIn-Scope Topicsに「Plan mode vs direct execution: Complexity assessment, architectural decisions, single-file changes」が明記されている。Plan Modeを使うかどうかは「タスクの複雑さ」と「影響範囲の広さ」で判断する。単一ファイルの変更にPlan Modeは不要であり、多ファイル・アーキテクチャ判断を伴うタスクで価値が出る。
よくある誤解まとめ
| 誤解 | 実際 |
|---|---|
| ClaudeはAIなので直接ファイルを読める | Tool Useを使ってアシスタントがファイルを読み、内容をモデルに渡している |
| CLAUDE.mdはプロジェクトに1つだけ | user / project / directoryの3層がある。それぞれ適用スコープが異なる |
| CLAUDE.local.mdもチームに共有される | .gitignoreに追加して共有しないのが正しい使い方 |
| Plan Modeは常に使ったほうが安全 | 不要なタスクに使うとトークン消費が増えるだけ。複雑さで判断する |
| @importはURLも指定できる | ローカルファイルのみ指定できる |
設計の判断基準
| 場面 | やりがちな選択 | 正しい選択 | 判断の根拠 |
|---|---|---|---|
| チームに共有したいルールを書く | CLAUDE.local.mdに書く | CLAUDE.md(プロジェクトルート)に書いてコミットする | CLAUDE.local.mdは個人専用で共有されない |
| 個人のコーディング好みを設定する | プロジェクトのCLAUDE.mdに書く | CLAUDE.local.mdか~/.claude/CLAUDE.mdに書く | プロジェクトのCLAUDE.mdはチーム全員に適用される |
| 多ファイル横断のリファクタリングを依頼する | そのまま実行させる | Plan Modeを有効にして計画を確認してから実行する | 影響範囲が広い変更は事前計画で見落としを防げる |
まとめ
- Claude Codeのファイル読み書きはTool Useの仕組みで実現している。モデル自体がファイルを直接操作するわけではない
- ClaudeはTool Useが得意なため、未知のツールでも適切に使える拡張性がある
/initでCLAUDE.mdを生成し、プロジェクトのアーキテクチャをClaudeに伝える- CLAUDE.mdには3層ある。チーム共有はプロジェクトルート、個人設定はCLAUDE.local.mdか
~/.claude/CLAUDE.md - @importパターンで頻出ファイルをCLAUDE.mdから参照できる
- Plan Modeは多ファイル・アーキテクチャ判断のタスクに使う。単一ファイルの変更には不要
次回(#2)はコードの変更とコンテキスト管理——スクリーンショット活用・Planning/Thinking Modeの使い分け・会話履歴の制御を解説する。