ankuro.dev
← ブログ一覧に戻る
【CCA Foundations対策 / Claude Code実践編 #1】Claude Codeとは——AIコーディングアシスタントの仕組みと最初の設定
2026-04-03#Claude Code#AI#入門#CLAUDE.md#Claude Certified Architect

【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の使い分け・会話履歴の制御を解説する。


【振り返りクイズ】MCP編#2:コードの変更とコンテキスト管理