Anthropic Academy「Claude Code in Action」を受講してわかった、AI開発アシスタントの本当の使い方

AI

Anthropicが2026年3月に公開した無料の公式学習プラットフォーム「Anthropic Academy」。その中でも開発者向けの目玉コース「Claude Code in Action」を実際に受講しました。

この記事では、コースで学んだ内容を3つのセクションに沿って解説します。Claude Codeを使い始めたばかりの方から、もっと使いこなしたい方まで参考になるはずです。


Section 1:Claude Codeはなぜ「ただのチャットAI」と違うのか

コースの最初のセクション「What is Claude Code?」では、コーディングアシスタントの根本的な仕組みを学びます。Claude Codeのコーディングアシスタントは、内部的に言語モデルを利用してユーザーから与えられたタスクを完了させていく仕組みになっています。


言語モデル単体ではできないこと

言語モデル(LLM)はテキストを処理してテキストを返すことしかできません。ファイルを読む、コマンドを実行するといった「外部世界との接触」が単体ではできないのです。そこで登場するのが「ツールユース(Tool Use)」という仕組みです。

コーディングアシスタントが動く仕組みは、大きく4つのステップで構成されています。

  1. コンテキスト収集:エラー内容から関連ファイルを特定する
  2. プランの立案:どのファイルを編集し、どのテストを実行するか決める
  3. ツール呼び出し:「ReadFile: main.go」のようなコマンドをモデルが発行する
  4. 結果を受け取り回答:ファイル内容を受け取ったモデルが最終的な回答を生成する

ツールユースとは、言語モデルが「テキストを返すだけ」という限界を超えて、外部の機能やシステムを呼び出せるようにする仕組みです。「言語モデルの」と「ツールの手足」を組み合わせて、現実の開発作業をこなせるようにする仕組みとなります。

代表的なツール

ツール名できること
Readファイルを読む
Writeファイルを書く
Editファイルを編集する
Bashシェルコマンドを実行する
Grepファイル内を検索する
WebSearchWebを検索する
TodoWriteTodoリストを管理する

コースでは、Claudeシリーズのモデルはツールユースにおいてとくに優れていると説明されています。具体的には以下の3点が挙げられています。

  • 難しいタスクへの対応:複数のツールを組み合わせ、見たことのないツールも活用して複雑な問題を解決する
  • 拡張性の高さ:新しいツールを追加するとClaudeが自動的に使いこなすようになる
  • セキュリティ面の優位性:コードベース全体を外部サーバーに送信せず、必要なファイルだけを読む


Section 2:実際に使いこなすための6つのテクニック

第2セクション「Getting hands on」は、Claude Codeを実務で最大限活用するための実践テクニックが詰まっています。以下に6つのテクニックをまとめます。


① コンテキストの追加(/init と CLAUDE.md)

新しいプロジェクトで最初にすべきことは /init コマンドの実行です。Claudeがコードベース全体を分析し、CLAUDE.md ファイルに要約を書き込みます。CLAUDE.mdの置き場所は用途に応じて3種類あります。

ファイル名用途
CLAUDE.mdチーム共有の設定
CLAUDE.local.md個人設定(gitignore推奨)
~/.claude/CLAUDE.md全プロジェクト共通の設定

@ 記号でファイルをメンションすることで、Claudeに特定のファイルを読み込ませることもできます。

How does the auth system work? @auth/middleware.ts


② 変更を加える(スクリーンショット・計画モード・思考モード)

UIの修正を依頼するとき、言葉だけよりスクリーンショット(Ctrl+V / Cmd+V / Ctl+V)を貼り付けて指示する方が正確に伝わります。また、タスクの複雑さに応じて以下のモードを使い分けましょう。

  • 計画モードShift + Tab を2回押す → 複数ファイルにまたがる複雑な変更に有効
  • 思考モード:プロンプトに「think」「ultrathink」などを含める → ロジックが難しいアルゴリズムやデバッグに有効


③ コンテキスト管理(/compact・/clear・Escキー)

会話が長くなるとコンテキストウィンドウを圧迫します。以下のコマンドやキー操作でうまく管理しましょう。

操作効果
Esc(1回)Claudeの返答を途中で止める
Esc(2回)会話を巻き戻し、過去のメッセージから再開
/compact重要情報を保持しつつ会話履歴を要約
/clear全履歴を消去してゼロからスタート


④ カスタムコマンド

繰り返すタスクはカスタムコマンドにまとめられます。.claude/commands/ フォルダにMarkdownファイルを作るだけです。

# .claude/commands/audit.md の例
以下の手順で依存関係を監査してください:
1. npm audit を実行して脆弱なパッケージを確認する
2. npm audit fix で修正を適用する
3. テストを実行して動作確認をする

ファイル名が /audit になります。また$ARGUMENTS プレースホルダーを使うことで引数も受け取れます。


⑤ MCPサーバーの活用

MCP(Model Context Protocol)サーバーを追加することで、Claudeの能力を外部ツールと連携させて拡張できます。以下はPlaywrightのMCPサーバーを追加する例です。

claude mcp add playwright npx @playwright/mcp@latest

設定ファイルで事前に許可しておくと、毎回の確認ダイアログが不要になります。

{
  "permissions": {
    "allow": ["mcp__playwright"],
    "deny": []
  }
}


⑥ GitHub連携

/install-github-app コマンドでGitHub ActionsとClaude Codeを連携できます。連携後は以下のことが可能になります。

  • IssueやPRで @claude とメンションするだけでタスクを依頼できる
  • PRを作成すると自動でコードレビューが行われる


Section 3:HooksとSDKでClaude Codeを自動化の基盤にする

第3セクション「Hooks and the SDK」は、Claude Codeをワークフローに深く組み込む上級テクニックです。Hooksを使いこなすことで、Claude Codeを単なるアシスタントから自動化ワークフローの中核へと昇格させることができます。


Hooksとは何か

フック(Hook)を使うと、Claudeがツールを実行する直前(PreToolUse)または直後(PostToolUse)に、任意のシェルコマンドやスクリプトを割り込ませることができます。

フックが発火すると、設定したコマンドが起動し、stdin(標準入力) からJSONデータを受け取ります。このJSONには session_id(セッションID)・tool_name(実行されたツール名)・tool_input(ツールへの入力値)などが含まれており、PostToolUseの場合はさらに tool_response(ツールの実行結果)も含まれます。

スクリプトはこのデータをパースして、処理の継続・ブロック・フィードバック送信などを行います。

(例)
Claude Code が TodoWrite を実行

PostToolUse Hook が発火

設定したコマンドが起動 (例: python hook.py)

このJSONがそのコマンドのstdinに流し込まれる

スクリプト側でJSONをパースして処理

フックの種類タイミングできること
PreToolUseツール実行前終了コード2を返すことで操作をブロックする
PostToolUseツール実行後後続処理やClaudeへのフィードバックを送る


実用的なフック例

コースでは以下のような実践的なフックの活用例が紹介されています。

  1. .envファイルの読み取り防止フック:Claudeが .env ファイルを読もうとしたとき、フックがインターセプトして終了コード2でブロックする
  2. TypeScript型チェックフック:ファイル編集後に tsc --noEmit を自動実行し、型エラーをリアルタイムでClaudeにフィードバックする
  3. クエリ重複防止フック:queriesディレクトリへの変更時に別のClaude Codeインスタンスを起動し、既存クエリとの重複を確認する


その他のフックイベント一覧

イベント名発動タイミング
NotificationClaudeが許可待ちになったとき、または60秒アイドル後
StopClaudeの応答が完了したとき
SubagentStopサブエージェントの処理が完了したとき
PreCompactコンパクト操作が実行される前
UserPromptSubmitユーザーがプロンプトを送信したとき
SessionStart / SessionEndセッション開始・終了時


Claude Code SDK

TypeScript / Python / CLIからClaude Codeをプログラムで呼び出せるSDKも提供されています。以下はTypeScriptでの使用例です。

import { query } from "@anthropic-ai/claude-code";

for await (const message of query({
  prompt: "Look for duplicate queries in the ./src/queries dir",
  options: {
    allowedTools: ["Read", "Grep"]
  }
})) {
  console.log(JSON.stringify(message, null, 2));
}

SDKはデフォルトで読み取り専用です。ファイルの書き込みや編集が必要な場合は、allowedTools オプションで明示的に許可してください。


まとめ:コースで学んだ3つの核心

  1. Claude Codeは「ツールユース」という仕組みで言語モデルがファイル操作やコマンド実行を行う。Claudeはこのツールユースが特に得意
  2. /init・CLAUDE.md・カスタムコマンド・MCP・GitHub連携など、実務を加速する多彩な機能が揃っている
  3. HooksとSDKを組み合わせることで、Claude Codeを自動化ワークフローの中核として機能させることができる


参考リソース

コメント

タイトルとURLをコピーしました