AICU Study

CLAUDE ACADEMY 公式レクチャー

Building with the Claude API — 全75レッスンの大型実装コース

Academy 最長。9時間・75レッスン

中級 全75レッスン 約9時間 クイズあり 修了バッジあり 提供: Anthropic · 英語

マーシャが教える学習ポイント

この講座で何を学べるかを、日本語で聴けます。約32分29秒。
受講を始める前に聴いておくと、公式サイトを見ながらの理解度が上がります。

再生速度

話しているのは AICU のボイス「マーシャ・アランチャ」(合成音声)です。 内容は AICU が独自に書いた解説で、公式教材の音読ではありません。

このコースの内容

Anthropic モデルを API で扱う範囲をほぼ全域カバーする最大規模のコース。APIキー管理と最初のリクエスト、マルチターン、システムプロンプト、temperature、ストリーミング、構造化出力という基礎を固めたあと、プロンプト評価(テストデータ生成・モデル採点・コード採点)、プロンプトエンジニアリング(明確で具体的な指示、XMLタグによる構造化、例示)、ツール使用(スキーマ設計、複数ツール、fine-grained tool calling、text edit ツール、ウェブ検索ツール、バッチ処理)、RAG(チャンキング、埋め込み、BM25 レキシカル検索、マルチインデックス構成)、extended thinking・画像・PDF・引用・プロンプトキャッシュ・コード実行と Files API、MCP のサーバーとクライアント実装、そして並列化・チェーン・ルーティングによるエージェント設計へと進む。

マーシャの注目ポイント75レッスン9時間は一気にやる分量ではありません。章末ごとにクイズが挟まる構成なので、章単位で分割受講する前提で計画を。

学習目標

日本語は AICU による要約です。Anthropic 公式の翻訳ではありません。

カリキュラム — 全75レッスン

  1. 1
    API へのアクセスAccessing the API

    このレッスンでは、ユーザーの送信から Claude の応答が画面に出るまでの一連の処理を把握できます。サーバー経由で API を呼ぶ理由と、リクエストに必要な項目(API Key、Model、Messages、Max Tokens)を学び、安全な設計のポイントが分かります。内部処理としてのトークン化、Embedding、Contextualization、Generation の役割と、生成が止まる条件や API レスポンスの読み方も理解できるようになります。

    • 5段階リクエストフロー
    • なぜサーバーが必要か
    • API リクエストの作成
    • Claude の処理内部
    • トークナイゼーション
    • 埋め込み(Embedding)
    • 文脈化(Contextualization)
    • 生成(Generation)
    • Claude が生成を停止する場合
    • API レスポンス
    • 主要な要点
  2. 2
    API キーの取得Getting an API key

    Anthropic のプラットフォームで API キーを作成し、次のレッスンで使える状態にする手順を学びます。コンソールへの移動からキーの生成、ワークスペースと識別名の設定、表示されたキーの確実なコピーまでを順を追って説明します。キーは一度しか表示されない点や、誤って閉じた際の対処(古いキーの削除と再生成)といった実務的な注意点も押さえます。

    • Anthropic API コンソールへの移動
    • 「Get API Keys」ボタンの操作
    • 「Create Key」ボタンの操作
    • キーのワークスペースと名前の入力
    • キーのコピー
  3. 3
    リクエストを送るMaking a request

    このレッスンでは、Claude API に初回リクエストを送るための実務的な手順を学びます。環境変数による API キーの安全な管理から、client.messages.create() の主要パラメータ(model、max_tokens、messages)の役割までを実例で理解します。メッセージフォーマットや応答オブジェクトから生成テキストを抽出する方法も身につき、最小限のコードで Claude とやり取りできるようになります。

    • 環境設定
    • Create 関数の解説
    • Messages の理解
    • 最初のリクエスト送信
    • レスポンスの抽出
  4. 4
    マルチターン会話Multi-Turn conversations

    Claude API が各リクエストを独立して扱う「ステートレス」性を前提に、会話の文脈を自分で管理する方法を学びます。メッセージ履歴を保持して毎回送るという設計原則と、それを簡潔に扱うためのヘルパー関数(add_user_message、add_assistant_message、chat)の作り方・使い方を実践的に理解できます。これにより、複数ターンにわたる自然なやり取りを実装可能になります。

    • ステートレス会話の問題点
    • マルチターン会話の仕組み
    • ヘルパー関数の作成
    • 全体の統合
  5. 5
    システムプロンプトSystem prompts

    このレッスンでは、Claude に期待する振る舞い(口調や役割)を system prompt でどう定義し、実装に組み込むかがわかります。具体例を通じて、システムプロンプトがない場合とある場合の応答の違いや、チューターのような役割を与える書き方を学べます。さらに、system を関数の引数にして再利用性を高める実装上の注意点(None を送れない等)も習得できます。

    • システムプロンプトの重要性
    • システムプロンプトの仕組み
    • 違いの確認
    • 柔軟なチャット関数の構築
  6. 6
    TemperatureTemperature

    Temperature パラメータが Claude の出力の「予測可能さ」と「創造性」をどう制御するかを学べます。低温度は決定的で事実志向の応答に向き、高温度は多様で想像力豊かな応答を生みます。用途別の適切な温度レンジの選び方や、実装例(コードでの温度指定)とテスト方法を通じて、実際のアプリに合わせて Claude の振る舞いを調整するスキルが身につきます。

    • Claude のテキスト生成
    • Temperature の役割
    • 対話式 Temperature デモ
    • 最適な Temperature の選択
    • 低温設定 (0.0–0.3)
    • 中温設定 (0.4–0.7)
    • 高温設定 (0.8–1.0)
    • コードでの Temperature 実装
    • Temperature 効果のテスト
    • 主要な要点
  7. 7
    レスポンスのストリーミングResponse streaming

    このレッスンでは、レスポンスの遅延を解消する「ストリーミング」の仕組みと実装方法を学びます。stream=True や SDK の text_stream を使った基本的な流し方と、受信イベント(MessageStart/ContentBlockDelta など)の役割を理解して、クライアントへ逐次表示する方法が身につきます。また、配信中に逐次表示しつつ最終メッセージを stream.get_final_message() で取得する実務的な運用も扱います。

    • 標準応答の問題点
    • ストリーミングの仕組み
    • ストリームイベントの理解
    • 基本的なストリーミング実装
    • 簡易テキストストリーミング
    • 完全メッセージの取得
  8. 8
    構造化データStructured data

    このレッスンでは、Claude に JSON やコード、箇条書きなどの構造化データだけを出力させる実践テクニックを学べます。assistant message prefilling と stop sequences を組み合わせる方法で、余計な説明やマークダウンを除いた生データを取得し、アプリにそのまま組み込める形に整える手順と注意点(改行の扱いなど)を学びます。用途は JSON だけでなく Python スニペットや CSV、リスト生成にも応用可能です。

    • デフォルト応答の問題点
    • 解決策:Assistant メッセージの事前入力と Stop シーケンス
    • レスポンスの処理
    • JSON を超えて
  9. 9
    クイズ: API で Claude を使うQuiz on accessing Claude with the API

    API を使って Claude にアクセスする基本を確認する回です。API キー取得の流れ、リクエストの作り方、マルチターン会話や system prompt、Temperature 設定、レスポンスのストリーミングなど、実装で頻出する概念を短いクイズで復習します。実務での初期セットアップやデバッグに役立つ理解を素早く確認したい人向けです。

  10. 10
    プロンプト評価Prompt evaluation

    このレッスンでは、プロンプト作成だけで終わらせず、評価を前提にしたワークフローで信頼性の高いAIアプリを作る考え方を学びます。プロンプトエンジニアリングと自動評価の違いを理解し、簡易チェックに陥る罠や評価パイプラインを導入する意義を把握できます。目的は客観的な指標でプロンプトを比較・改善し、本番で壊れにくい振る舞いを作ることです。

    • プロンプト設計と評価の違い
    • プロンプト作成後の三つの選択肢
    • エンジニアが陥るテストの落とし穴
    • 評価優先の手法
  11. 11
    評価ワークフローの基本形A typical eval workflow

    このレッスンでは、プロンプト改良を体系的に評価する一連の流れを学びます。小さなデータセットを用意して Claude に投げ、返答をグレーダーでスコア化することで定量的な基準を得る方法を身につけます。得られたスコアを元にプロンプトを改変・再評価して改善を繰り返す実践的プロセスが理解できます。実運用でスケールさせるための基本設計が掴めます。

    • ステップ1 プロンプト作成
    • ステップ2 評価データ作成
    • ステップ3 Claude に投入
    • ステップ4 グレーダーに投入
    • ステップ5 プロンプト修正と反復
    • プロンプトの採点
  12. 12
    テストデータセットの生成Generating test datasets

    このレッスンでは、評価用プロンプトの目的設定から実際のテストデータ生成、検証、保存までの一連の流れを学びます。AWS向けのPythonコード、JSON 設定、正規表現という出力フォーマットに特化したタスク設計や、Claude や軽量モデル(例: Haiku)を使った自動データ生成の実装パターンを身につけます。生成したデータを使ったテスト実行と JSON ファイルへの永続化方法も理解でき、プロンプト評価ワークフローを自前で回せるようになります。

    • 目標設定
    • 評価データの作成
    • コードでテストデータ生成
    • データ生成の動作確認
    • データセットの保存
  13. 13
    評価を実行するRunning the eval

    このレッスンでは、評価パイプラインの骨組みを実装して、テストケースごとにプロンプトを生成・送信し、応答を集計する流れを学びます。run_prompt / run_test_case / run_eval の役割分担を理解し、データセットを一括処理して結果を構造化する方法が身につきます。まだグレーディングは単純な置き換えですが、ここを起点に評価ロジック改善やプロンプト最適化、処理速度の工夫へと進められます。

    • コア関数の構築
    • run_prompt 関数
    • run_test_case 関数
    • run_eval 関数
    • 評価の実行
    • 結果の確認
    • 達成事項の整理
  14. 14
    モデルによる採点Model based grading

    モデルによる採点の考え方と実装方法が学べます。Code grader と Model grader、Human grader の違いや使い分けがわかり、評価基準の設計(フォーマット、構文、タスク遵守など)をどのように決めるかが整理できます。さらに、別モデルを使った自動採点の実装例(スコアと理由を返すプロンプト設計や評価の統合)を通じて、プロンプト評価ワークフローに客観的な指標を組み込む方法を習得します。

    • グレーダーの種類
    • コードグレーダー
    • モデルグレーダー
    • 人間グレーダー
    • 評価基準の定義
    • モデルグレーダーの実装
  15. 15
    コードによる採点Code based grading

    この回では、AIが生成したコードを単に人間の感覚で評価するのではなく、構文レベルで機械的に検証する方法を学べます。Python/JSON/Regexそれぞれのバリデータ実装や、テストケースに期待フォーマットを埋め込むデータセット設計、プロンプトで出力フォーマットを厳密に指定する手法を扱います。さらにモデル評価スコアと構文スコアを合成して定量的に改善を図る仕組みも紹介します。

    • コード採点の仕組み
    • 構文検証関数
    • データ形式の要件
    • プロンプト明確化の改善
    • スコアの合成
    • 実装のテスト
  16. 16
    クイズ: プロンプト評価Quiz on prompt evaluation

    プロンプト評価の基礎と実務的な手順を学べます。評価用データセットの作り方、モデルベースとコードベースの採点方法、それぞれの長所・短所や適用場面が理解できるようになります。テスト設計や自動化の考え方も押さえ、プロンプト改善サイクルに組み込める実践的スキルが身につきます。

  17. 17
    プロンプトエンジニアリングPrompt engineering

    このレッスンでは、プロンプトを目的に合わせて改善する反復プロセスを学びます。評価パイプラインの構築方法、テストデータの自動生成、初期プロンプトの作り方と評価基準の追加方法を実践的に理解し、モデル出力を数値とレポートで分析して改善サイクルを回せるようになります。1つずつ変更を加えて効果を検証する運用感も身に付きます。

    • 反復的改善プロセス
    • 評価パイプラインの構築
    • テストデータの生成
    • 初期プロンプトの作成
    • 評価基準の追加
    • 結果の分析
    • 次のステップ
  18. 18
    明確に、直接的に書くBeing clear and direct

    このレッスンでは、プロンプトの最初の一行で何を伝えるべきかが分かります。明確さ(Clarity)と直接性(Directness)を重視し、余計な言い回しを避けて「何を」「どの形式で」「どんな制約で」求めているかを端的に示す方法を学べます。具体的な動詞で始める指示文の書き方や、曖昧な問いを具体的なタスクに変換する実践例を通じて、Claude から期待通りの出力を得る技術が身に付きます。

    • 明確で直接的な表現
    • 分かりやすい伝達
    • 直接指示
    • 実践への適用
    • 結果の重視
  19. 19
    具体的に書くBeing specific

    Claude に具体的な指示を与えることで結果の一貫性と品質を高める方法が分かります。出力の「品質ガイドライン」で形式・長さ・トーンなどを指定するやり方と、「プロセス手順」で段階的に思考させるやり方の違いと使い分けが理解できます。複雑な問題では両者を組み合わせて使う実践的な指針も学べます。

    • 二種類のガイドライン
    • 出力品質ガイドライン
    • プロセス手順
    • 現実世界への影響
    • 各手法の使い分け
    • 常に出力ガイドラインを適用
    • 複雑問題に対するプロセス手順
    • 両手法の併用
  20. 20
    XML タグで構造化するStructure with XML tags

    大量のテキストや異なる種類の情報をプロンプトに混ぜるとき、Claude に意図どおり解釈させるための実践的な手法が身につきます。XML タグ風のラベルを使ってデータやコード、ドキュメントなどを明確に区切る方法、タグ名の設計方針、いつタグ化が有効かといった判断基準を学べます。複雑なプロンプトや多変数を扱う実装で、誤解を減らし精度を高めるテクニックが得られます。

    • 構造の重要性
    • 実例:コードとドキュメント
    • カスタムタグ名
    • XMLタグの使用時
    • 実運用での応用
  21. 21
    例を与えるProviding examples

    このレッスンでは、Claude に望む出力を「見本」で示すことで挙動を安定化させる方法を学べます。コーナーケースや皮肉などの難しい入力を例で扱う手法、one-shot と multi-shot の使い分け、評価から良いサンプルを抽出してプロンプトに組み込む実践的な手順を解説します。さらに、XML タグで例を構造化し、なぜその出力が望ましいかを説明することでモデルの理解を深めるベストプラクティスも習得できます。

    • 例の働き方
    • コーナーケース対応の例追加
    • 例を使う場面
    • ワンショットとマルチショット
    • 評価から良い例を見つける
    • 例への文脈追加
    • ベストプラクティス
  22. 22
    クイズ: プロンプト技法Quiz on prompt engineering techniques

    このクイズではプロンプト設計の基礎を確認し、明確さや具体性、タグや例示を使った構造化などの実践的テクニックを身につけられます。短い問答で自分の理解度を測り、API を使ったプロンプト作成でよくある落とし穴や改善点を把握できます。学んだポイントを実践に落とし込み、より意図どおりの応答を引き出すスキルが磨けます。

  23. 23
    ツール利用の基礎Introducing tool use

    このレッスンでは、Claude が訓練データだけでなく外部データにアクセスしてリアルタイムの情報を扱えるようになる仕組みを学べます。アプリ側と Claude のやり取り(リクエスト→ツール要求→外部 API 呼び出し→結果返却→最終応答)の流れを理解し、天気情報を使った実例でツール利用の実装イメージを掴めます。外部システム連携の利点や、動的で最新の応答を作る利点も把握できます。

    • ツールなしの課題
    • ツール活用の仕組み
    • 天気例の実践
    • 主要な利点
  24. 24
    プロジェクト概要Project overview

    このレッスンでは、Claude に「リマインダーを設定する」機能を持たせるために必要な設計上の課題と解決方針が分かります。現在時刻の取得や日時の加算、実際にリマインダーを登録する「ツール」を分割して実装する流れを学び、ツール呼び出しでモデルの弱点を補う考え方が身につきます。最初は単純なツールから順に作る実践的な進め方が理解できます。

    • なぜ難しいのか
    • 必要なツール群
  25. 25
    ツール関数Tool functions

    このレッスンでは、Claude にリアルタイム情報や外部操作を任せるための「ツール関数」の役割と作り方がわかります。関数名やパラメータ設計、入力検証とエラーメッセージの重要性といったベストプラクティスを学び、実際に現在時刻を返す最初のツール関数を実装します。最後に、作成した関数を Claude に伝えるためのスキーマ作成やチャット統合の次ステップも示されます。

    • ツール関数とは
    • ツール関数のベストプラクティス
    • 最初のツール関数構築
    • 次のステップ
  26. 26
    ツールスキーマTool schemas

    このレッスンでは、ツール呼び出し用に必要な JSON Schema の役割と基本構成(name、description、input_schema)を実務的に理解できます。ツール説明の書き方や引数ごとの詳細記述のコツ、Claude を使ってスキーマを自動生成する手順、生成したスキーマをコードに組み込む命名パターン、そして型安全性を高めるための ToolParam 利用法まで、実装に直結するノウハウを学べます。

    • JSON Schema の理解
    • 効果的な説明文の作成
    • スキーマ生成の簡便法
    • コードでのスキーマ実装
    • 型安全性の付与
  27. 27
    メッセージブロックの扱いHandling message blocks

    このレッスンでは、Claude API のツール機能が返す「マルチブロック」メッセージの扱い方がわかります。tools パラメータの追加方法や、ツール呼び出し情報を含むメッセージ構造の読み取り・保存方法、ツール実行結果を会話履歴として戻す一連のフローを学びます。既存の add_user_message や add_assistant_message といったヘルパーをマルチブロック対応に更新する実践的なポイントも扱います。

    • ツール対応 API 呼び出し
    • マルチブロックメッセージの理解
    • マルチブロックでの履歴管理
    • ツール利用の全体流れ
    • ヘルパー関数の更新
  28. 28
    ツール結果を返すSending tool results

    このレッスンでは、Claude からのツール呼び出しを受けて実際に関数を実行し、その結果を Claude に正しく返す一連の流れを学びます。ツール結果を表すメッセージブロックの構造や必須フィールド(tool_use_id、content、is_error)の扱い方、複数のツール呼び出しがあった場合のID対応方法を実践的に理解できます。さらに、会話履歴にツール結果を組み込んだフォローアップリクエストの作り方と、ツールスキーマを含めて最終リクエストを送る理由も学べます。

    • ツール実行
    • ツール結果ブロック
    • 複数ツール呼び出しの処理
    • フォローアップ要求の組立て
    • 最終リクエストの送信
  29. 29
    ツールを使ったマルチターン会話Multi-turn conversations with tools

    このレッスンでは、Claude が複数のツールを順番に呼び出す「マルチターン」パターンを扱う方法が学べます。会話ループの設計や、ツール呼び出しに対応したメッセージハンドラ/chat 関数へのリファクタリング手法を身につけ、ツール結果をメッセージオブジェクトとしてやり取りする実装技術が得られます。最終的に複数ツールを自動で連携させる堅牢な会話フローを構築できます。

    • マルチターンツールパターン
    • 会話ループの構築
    • ヘルパー関数のリファクタリング
    • メッセージハンドラの更新
    • チャット関数の更新
    • メッセージからのテキスト抽出
    • 主要改善点
  30. 30
    複数ターンを実装するImplementing multiple turns

    会話内で Claude が外部ツールを呼び出す流れを実装する手順が分かります。レスポンスの stop_reason を使ったツール要求検出、ループでの呼び出し繰り返し、1回の応答で複数ツールを扱う方法、各ツール呼び出しに対する結果ブロックの作り方とエラー処理、そして多数のツールを扱うためのルーティング設計までを実例で学べます。これにより複数ターンでツールを組み合わせた実用的な会話システムが作れるようになります。

    • ツール要求の検出
    • 会話ループ
    • 複数ツール呼び出しの処理
    • ツール結果ブロック
    • エラー処理
    • スケーラブルなツールルーティング
    • 完全ワークフロー
  31. 31
    複数ツールを使うUsing multiple tools

    このレッスンでは、既存のツールハンドリング基盤を拡張して複数ツールを扱う実装パターンが学べます。具体的には、ツールのスキーマを会話に追加し、run_tool(ツールルーター)に新しいケースを加えて呼び出しをルーティングする手順を理解します。複数のツールを順番に使う会話の流れやメッセージ構造も確認でき、同様の手順で新機能をモジュール的に増やせるようになります。

    • 追加するツール一覧
    • 会話へのツール追加
    • ツールルータの更新
    • 複数ツール利用のテスト
    • メッセージフローの理解
    • ツール追加の簡易パターン
  32. 32
    きめ細かいツール呼び出しFine grained tool calling

    このレッスンでは、Claude API でのツール呼び出しをストリーミングで扱う際の挙動と実装上の注意点が学べます。InputJsonEvent を使った部分的な JSON 受信とスナップショット処理の作り方、API 側の JSON 検証によるバッファリングの仕組みを理解します。さらに、fine_grained=True を使った検証無効化でより細かいチャンクを即座に受け取る方法と、それに伴う無効 JSON 処理の実装方針も習得します。どの場面で細粒度モードを選ぶべきかの判断基準も示します。

    • 基本的なツールストリーミング
    • JSON 検証の仕組み
    • 細粒度なツール呼び出し
    • 無効 JSON の処理
    • 細粒度呼び出しの適用場面
  33. 33
    テキスト編集ツールThe text edit tool

    このレッスンでは、Claude が組み込みで理解する「text editor tool」の機能と、それを自分のアプリで動かすために必要な実装責任の違いが分かります。ツールが提供するファイル閲覧・編集・新規作成・差し戻しなどの操作を把握し、モデルごとのスキーマ指定方法(スキーマスタブ)や実際のリクエスト例を学べます。結果として、Claude を使ってプログラム的にファイル編集を行うアプリやワークフローを設計・実装できるようになります。

    • テキストエディタツールの機能
    • 実装要件の理解
    • スキーマバージョン
    • 実践例
    • テキストエディタツールの利点
  34. 34
    Web 検索ツールThe web search tool

    このレッスンでは、Claude API の組み込み Web 検索ツールを使って最新情報や専門知識を取り込む方法が学べます。ツールの設定方法(schema、max_uses、allowed_domains)と、検索時に返る各種ブロック(検索クエリ表示や検索結果、引用)の意味と表示方法を理解できるので、透明性の高い情報出力を実装できます。実践的にはドメイン制限やレンダリング方針を使って信頼性を高め、最新の事象や専門分野の調査に応用する方法が身につきます。

    • Web検索ツールの設定
    • 応答の仕組み
    • 検索ドメインの制限
    • 検索結果の表示
    • 実践的な使い方
  35. 35
    クイズ: ツール利用Quiz on tool use with Claude

    このレッスンでは、Claude を使ったツール連携の理解を確認するクイズに挑戦します。ツールの定義やスキーマ、メッセージブロックの扱い方、ツール結果の送信や複数ターンでのやり取りなど、実装で重要なポイントを復習できます。自身の設計やデバッグで間違いやすい箇所を見つけ、実践的な運用知識を固めるのに役立ちます。

  36. 36
    RAG 入門Introducing Retrieval Augmented Generation

    このレッスンでは、RAG(Retrieval Augmented Generation)の基本概念と実践上の利点・課題が分かります。大きすぎてプロンプトに収まらない文書をどう扱うか、全文を詰め込む方法と分割して関連部分のみを検索して渡す方法の違いを理解できます。また、テキストをチャンク化し検索するフローやコスト・性能面のトレードオフ、実装上の注意点(前処理や検索の必要性、チャンク設計の選択)について学べます。

    • 大規模文書の問題点
    • 方式1 プロンプトに全て含める
    • 方式2 文書を分割する
    • RAG の利点
    • RAG の課題
    • RAG を使う場面
  37. 37
    テキスト分割の戦略Text chunking strategies

    このレッスンでは、ドキュメントをどのように分割すれば RAG パイプラインの精度を保てるかを学びます。サイズベース、構造ベース、セマンティックベース、文単位の4つの代表的な手法とそれぞれの利点・欠点、重複(overlap)を使った実装上の工夫を理解できます。実運用での選び方やコストと品質のトレードオフも把握でき、実際のデータ形式に応じた最適な分割戦略が判断できるようになります。

    • サイズ基準の分割
    • 構造基準の分割
    • 意味基準の分割
    • 文単位の分割
    • 分割戦略の選定
  38. 38
    テキスト埋め込みText embeddings

    RAG パイプラインで必要な「どのテキスト断片が質問に関連するか」を判定するための考え方と実装手順がわかります。テキストを数値ベクトル(embeddings)に変換する仕組み、各次元が持つ意味の扱い方、そしてVoyageAIを使った埋め込み生成の実践方法を学びます。最後に生成したベクトルを比較して類似度検索(semantic search)に活用する流れが理解できるようになります。

    • セマンティック検索
    • テキスト埋め込み
    • 数値の理解
    • VoyageAIの埋め込み
    • 実装
  39. 39
    RAG の全体フローThe full RAG flow

    このレッスンでは、RAG(Retrieval Augmented Generation)の全体像と実装手順が分かります。テキストをチャンク化して埋め込みを作り、ベクターデータベースに保存し、ユーザー問い合わせを同じ埋め込みで検索して最適な文脈を抽出する流れを学びます。Cosine similarity/cosine distance の意味と結果の解釈、最終的に検索結果をプロンプトに組み込んで Claude に投げる一連の実務的な手順が身につきます。

    • 手順1 テキストの分割
    • 手順2 埋め込みの生成
    • 正規化
    • 手順3 ベクトルDBへの格納
    • 手順4 ユーザクエリの処理
    • 手順5 類似埋め込みの探索
    • 類似度の仕組み:コサイン類似度
    • コサイン距離
    • 手順6 最終プロンプトの作成
  40. 40
    RAG フローの実装Implementing the RAG flow

    このレッスンでは、RAG(Retrieval Augmented Generation)の実装手順を実践的に学べます。大きな文書をセクションごとに分割して(chunking)embeddingsを作成・ベクトルデータベースに保存し、ユーザー質問の埋め込みと類似度検索で関連箇所を取り出す一連の流れを習得します。なぜ元のテキストを一緒に保持するかや、検索結果の解釈(距離と類似度の関係)も理解できます。基本実装の注意点と改良点への導入も含まれます。

    • 5段階の RAG 実装
    • 手順1 テキストのチャンク化
    • 手順2 埋め込みの生成
    • 手順3 ベクトルDBへの格納
    • 原文を保管する理由
    • 手順4 ユーザクエリの処理
    • 手順5 関連コンテンツの発見
    • 結果の解釈
    • 次のステップ
  41. 41
    BM25 によるキーワード検索BM25 lexical search

    RAG パイプラインで語義的検索だけでは見つからない正確な用語やIDを逃さないために、BM25 を使ったレキシカル検索の考え方と実装を学びます。検索クエリのトークン化、出現頻度に基づく重み付け、BM25 インデックスの作り方と並列でのセマンティック検索との統合手法により、概念検索と正確一致の両立を目指す実践的な設計が身につきます。

    • セマンティック検索単独の問題点
    • ハイブリッド検索戦略
    • BM25 の仕組み
    • BM25 検索の実装
    • なぜこれが有効か
  42. 42
    マルチインデックス RAG パイプラインA Multi-Index RAG pipeline

    ベクトル検索(semantic)と BM25(lexical)という異なる検索手法を同一インタフェースで統合し、Retriever クラスで結果を結合する設計を学びます。Reciprocal Rank Fusion によるスコア正規化とランキング統合の考え方と実装上のポイントが理解できます。実際の検索精度改善例でハイブリッド検索の有用性を確認し、新しいインデックスを容易に追加できる拡張性あるアーキテクチャの設計手法を身につけます。

    • マルチインデックス構成
    • 逆位順位融合の理解
    • 実装の詳細
    • ハイブリッド方式の検証
    • 拡張性
  43. 43
    拡張思考Extended thinking

    このレッスンでは、Claude の Extended thinking 機能が何をするか、その利点とコスト/制約を踏まえていつ使うべきかを学びます。thinking のリクエストパラメータや budget_tokens の扱い方、max_tokens との関係など実装上の注意点を理解し、可視化された思考(とその署名や redacted 処理)を安全に取り扱う方法を身につけます。最初に通常のプロンプトで評価を行い、必要な場合に拡張思考を導入する運用判断も解説します。

    • Extended Thinking の仕組み
    • Extended Thinking の活用場面
    • 応答構造とセキュリティ
    • Redacted Thinking 概要
    • 実装
    • Redacted 応答の検証
  44. 44
    画像への対応Image support

    Claude API による画像対応の基本と制約(枚数・サイズ・トークン換算)を理解し、画像ブロックを含むメッセージ送信フローを実践できるようになります。単純な問いかけでは誤りが出やすいため、分析手順の分解やワンショット例で精度を上げるプロンプト設計法を学びます。実務向けの応用例(衛星画像を使った火災リスク評価)を通じて、画像解析タスクを構造化して安定した出力を得る方法が身につきます。

    • 画像処理の基礎
    • メッセージの流れ
    • プロンプト技法
    • 逐次解析
    • ワンショット例
    • 実例:火災リスク評価
  45. 45
    PDF への対応PDF support

    このレッスンでは、Claude API を使って PDF を直接読み取り・解析する方法が分かります。画像処理とほぼ同じフローで扱える一方、media_type を application/pdf にするなどの実装上の差分や変数命名の注意点を学びます。さらにテキストだけでなく画像や表、文書構造まで抽出・分析できる用途例(要約やデータ抽出)も理解できるようになります。

    • PDF処理の設定
    • 画像処理からの主な差分
    • Claude がPDFから抽出できるもの
  46. 46
    引用Citations

    この回では、Claude が参照元ドキュメントから情報を引き出した箇所を明示する「Citations」の仕組みと実装方法を学びます。ドキュメント送信時の構造変更や citations フラグの付け方、返却される構造化データ(引用箇所のテキスト、ドキュメント識別、ページ/文字位置など)の読み取り方を解説。UIでの提示方法やプレーンテキスト対応、どんな場面で引用を有効にすべきかも理解でき、回答の透明性と検証性を高める実装ができるようになります。

    • 引用の重要性
    • 引用の有効化
    • 引用構造の理解
    • 引用付きUIの構築
    • プレーンテキストでの引用
    • 引用を使う場面
  47. 47
    プロンプトキャッシュPrompt caching

    このレッスンでは、Claude API の「プロンプトキャッシュ」が何を解決するかと仕組みを学べます。通常のリクエスト処理で捨てられるトークン化や埋め込みなどの前処理をキャッシュして再利用することで、応答速度と生成コストを下げる方法を理解できます。キャッシュの有効期限や適用が有効なユースケース(同一コンテンツの頻繁な再利用やドキュメント解析など)と、その制約も把握できます。

    • Claude の通常の処理流れ
    • 作業破棄の問題点
    • プロンプトキャッシュによる解決
    • 利点と制約
  48. 48
    プロンプトキャッシュのルールRules of prompt caching

    このレッスンでは、Claude API のプロンプトキャッシュの仕組みと使いどころが分かります。どのブロックに手動で cache breakpoint を置けば処理結果を再利用できるか、キャッシュが有効になる条件(寿命、最小トークン長、最大ブレイクポイント数)や処理順序(tools → system prompt → messages)を学び、システムプロンプトやツール定義のような頻繁に変わらない部分を効率よくキャッシュする方法を身につけます。

    • キャッシュの分岐点
    • キャッシュ分岐の仕組み
    • メッセージ間キャッシュ
    • システムプロンプトとツール
    • キャッシュの順序付け
    • 最小コンテンツ長
  49. 49
    プロンプトキャッシュ実践Prompt caching in action

    このレッスンでは、同一のシステムプロンプトやツール定義を繰り返し送る際に API コストとレイテンシを下げる「プロンプトキャッシュ」の仕組みと実装手順が分かります。tools や system のどこに cache_control を追加するか、キャッシュの有効期限(5分/1時間)や感度(1文字の変更で無効化される点)、複数ブレークポイントの順序とその振る舞いも解説。実運用で効果を出すための注意点や使いどころが理解できます。

    • プロンプトキャッシュの仕組み
    • ツールスキーマのキャッシュ設定
    • システムプロンプトのキャッシュ
    • キャッシュ挙動の理解
    • キャッシュ順序と分岐点
    • 実務上の考慮点
  50. 50
    コード実行と Files APICode execution and the Files API

    Files API とCode Executionを組み合わせた実践的なワークフローを学べます。ファイルを事前アップロードしてfile_idで参照し、ネットワーク非依存の隔離されたDocker上で Claude にPythonコードを実行させる流れと利点を理解できます。生成されたプロットやレポートをFiles API で取得する方法や、データ分析以外の応用(画像処理や文書変換、数値計算など)まで見通せる内容です。

    • Files API
    • コード実行ツール
    • Files API と Code Execution の連携
    • 実践例
    • レスポンスの理解
    • 生成ファイルのダウンロード
    • データ分析を超えて
  51. 51
    クイズ: Claude の機能Quiz on features of Claude

    このクイズで Claude の機能理解を確認できます。Extended thinking、画像・PDF対応、引用やプロンプトキャッシュなどの特徴を把握し、それらが実装やワークフローにどう影響するかを短時間で復習します。実務で Claude を使う際に重要なポイントを押さえ、今後のレッスン(MCP、Claude Code、エージェント)への理解を深めるための到達確認ができます。

  52. 52
    MCP 入門Introducing MCP

    このレッスンでは、MCP(Model Context Protocol)が何を解決するのかを実務目線で理解できます。大量の外部サービス連携で発生する「ツール定義・実行」の負担を誰がどう肩代わりするのか、MCP サーバーの役割とメリットを具体例(GitHub 連携)で学びます。MCP と直接 API コールや一般的なツール利用との違い、誰が MCP サーバーを作るのかといった運用上の疑問にも答えます。

    • 実例で学ぶ MCP
    • ツール関数の問題点
    • MCP の解決法
    • MCP に関するよくある疑問
    • MCP サーバーの作成者
    • MCP と直接 API 呼び出しの違い
    • 単なるツール利用ではないか
  53. 53
    MCP クライアントMCP clients

    MCP クライアントがサーバーとどのようにやり取りするかを実践的に理解できます。Transport agnostic の設計により標準入出力やHTTP、WebSocketなど複数の通信手段で接続できること、MCP が定義する ListTools/CallTool といったメッセージ種類の役割と流れ、ツール呼び出しから結果が Claude に戻るまでの実際の通信シーケンスを追えるようになります。自前のクライアント実装で各コンポーネントの責務を分離して扱う感覚が身につきます。

    • トランスポート非依存の通信
    • メッセージ種類
    • フローの完全例
  54. 54
    プロジェクトのセットアップProject setup

    このレッスンでは、CLIベースのチャットボットを通じて MCP クライアントとサーバーの役割と連携の仕組みが分かります。プロジェクトの初期セットアップ手順(.env への API キー追加、依存関係の導入、起動確認)を実践し、実行中に既知の質問で動作を検証する習慣を身につけます。サーバー側がドキュメント操作を担当し、クライアント側が対話を扱うといった責務分離の理解も深まります。

    • 構築するもの
    • 重要なアーキテクチャ注意点
    • プロジェクト設定
    • アプリケーションの実行
    • 保持すべきチェックポイント
  55. 55
    MCP でツールを定義するDefining tools with MCP

    MCP Python SDK を使って、ツール定義とサーバ実装の基本が分かります。デコレータと型ヒントで JSON スキーマを自動生成し、ドキュメントを読み書きするツール(読み取り・find-and-replace)の作り方と簡単なエラーハンドリングを学べます。開発効率や型安全性、Pydantic によるパラメータ検証など SDK 利用の利点も理解できます。コード中心でプロトタイプを短時間で構築したい人向けの回です。

    • MCP サーバーのセットアップ
    • デコレータによるツール定義
    • ドキュメントリーダーの作成
    • ドキュメントエディタの構築
    • エラー処理
    • SDK アプローチの主な利点
  56. 56
    サーバーインスペクターThe server inspector

    このレッスンでは、Python MCP サーバーをローカルで動かしてブラウザ上の Inspector を使い、ツールやドキュメント操作を手早く検証する方法を学びます。Inspector の基本操作(接続、ツール実行、結果確認)と、編集→再読込といったチェーンテストによる検証手順が身につきます。フルアプリに組み込む前に個別機能をデバッグできるため、開発ループを高速化し複雑な MCP サーバー構築を効率化できます。

    • インスペクタの起動
    • インターフェースに関する重要事項
    • ツールの接続とテスト
    • ドキュメント操作のテスト
    • 開発ワークフロー
  57. 57
    クライアントを実装するImplementing a client

    MCP クライアントの役割と構成を理解し、アプリ側から MCP サーバに安全に接続して操作できるようになります。具体的には list_tools と call_tool のコアメソッドを実装して、サーバ上のツール一覧取得やツール実行を行えるようにします。テスト用ハーネスで動作確認を行い、Claude との対話フローでクライアントがどのように橋渡しをするかを実例で学びます。これによりアプリケーションと MCP の接続管理やリソースクリーンアップが扱えるようになります。

    • クライアントアーキテクチャの理解
    • クライアントのアプリ内位置づけ
    • コアメソッドの実装
    • ツール一覧メソッド
    • ツール呼び出しメソッド
    • クライアントのテスト
    • 全体の統合
  58. 58
    リソースを定義するDefining resources

    このレッスンでは、MCP サーバー上でクライアントにデータを提供する「リソース」の設計と実装が学べます。静的な一覧を返す Direct Resource と、URI パラメータで特定データを取り出す Templated Resource の違いや作り方、mime_type の指定と SDK によるシリアライズ挙動、Inspector を使った動作確認手順まで実践的に理解できます。ドキュメント参照やファイルブラウズなど取得系機能の実装に役立ちます。

    • 例で理解するリソース
    • リソースの仕組み
    • リソースの種類
    • リソースの実装
    • 直接リソース一覧
    • テンプレート化リソース取得
    • MIME タイプ
    • リソースのテスト
    • 要点まとめ
  59. 59
    リソースにアクセスするAccessing resources

    このレッスンでは、MCP サーバーに定義したリソースをクライアント側で安全かつ効率的に取得してプロンプトに組み込む方法を学びます。read_resource の役割と実装例、MIME タイプに応じた JSON/テキストのパース処理、必要なインポートや検証手順について実践的に解説します。これにより、外部ドキュメントをツール呼び出しなしで直接 Claude に渡す仕組みが作れるようになります。

    • リソース要求の理解
    • リソース読み取りの実装
    • 異なるコンテンツ処理
    • 必須インポート
    • リソースアクセスのテスト
    • アプリ連携
  60. 60
    プロンプトを定義するDefining prompts

    MCP サーバー上で使える高品質なプロンプトの設計と運用方法が学べます。プロンプトの構成(ユーザー/アシスタントメッセージ)、@mcp.prompt デコレータによる定義方法、変数を埋め込んだテンプレート作成、MCP Inspector を使った動作確認手順まで実践的に解説します。サーバー固有のツール連携やテスト、運用でのベストプラクティスも身につきます。

    • プロンプトの意義
    • プロンプトの仕組み
    • フォーマットコマンド作成
    • プロンプトのテスト
    • ベストプラクティス
  61. 61
    クライアント側のプロンプトPrompts in the client

    このレッスンでは、MCP クライアント側でプロンプトを扱う実装と運用上の要点が分かります。list_prompts/get_prompt の使い方や、サーバー側のプロンプト関数へ引数を渡して動的にテンプレートを生成する仕組みを学べます。CLI でのテスト手順や、実運用に備えたプロンプト設計のベストプラクティス(目的に合った指示、引数設計、入念なテスト)も理解できます。これによりサーバー機能とユーザー入力をつなぐ堅牢なプロンプトを作れるようになります。

    • リスト用プロンプト実装
    • 個別プロンプト取得
    • プロンプト引数の仕組み
    • CLIでのプロンプトテスト
    • プロンプトの実践指針
  62. 62
    クイズ: MCPQuiz on Model Context Protocol

    このクイズで Model Context Protocol(MCP)の基本概念と実装ポイントを確認できます。MCP クライアントとサーバーの役割、ツールやリソースの定義方法、クライアント内のプロンプト管理など実務で重要な設計要素が理解できるようになります。設計ミスや接続の落とし穴を意識し、MCP を使った複数コンポーネント間のやり取りを正しく扱う力が身につきます。

  63. 63
    Anthropic のアプリ群Anthropic apps

    このレッスンでは、Anthropicが公開する実用的なアプリ群をケーススタディとして、エージェントの設計や運用で重要な要素が何かを掴めます。端末上で動く Claude Code を使った開発支援や、Computer Use によるデスクトップ操作の自動化が具体例です。ツール統合、マルチステップ処理、環境との相互作用といった観点から、実装に活かせる知見を得られます。

    • 私たちの計画
    • Claude Code
    • コンピュータ利用法
    • エージェントへの重要性
  64. 64
    Claude Code のセットアップClaude Code setup

    このレッスンでは、ターミナル上で動くコーディングアシスタント Claude Code の用途と導入手順が分かります。ファイル操作や端末コマンド実行、Web検索やドキュメント取得など開発ワークフローで使える機能群と、MCP サーバーを通じた拡張方法の概念を学べます。さらに MacOS/Windows WSL/Linux での対応と、Node.js からのインストール手順や初回ログイン方法まで実践的に把握できます。

    • Claude Code の可能性
    • インストール方法
  65. 65
    Claude Code 実践Claude Code in action

    このレッスンでは、Claude Code をプロジェクト開発の相棒として使う手順が分かります。/init でコードベースを解析して CLAUDE.md を生成する方法、関連ファイルを与えて設計→実装と進めるワークフロー、テスト駆動で信頼性を高めるやり方、実践例や便利コマンド(/clear、# など)を学び、日常の開発作業を Claude に任せる流れが身につきます。

    • /init コマンド
    • 共通ワークフロー
    • 手順1: コンテキスト供給
    • 手順2: 解決策の立案依頼
    • 手順3: 解決策の実装依頼
    • TDD ワークフロー
    • 実践例
    • 追加コマンド
  66. 66
    MCP サーバーで機能を広げるEnhancements with MCP servers

    このレッスンでは、Claude Code と MCP サーバーを組み合わせてAIの機能を拡張する方法が学べます。MCP の基本構成(Tools、Prompts、Resources)とサーバー登録手順を理解し、ドキュメント処理などの実例でカスタムツールを動かす流れを掴めます。さらに、Sentry、Playwright、Figma、Slack など既存ツールと統合して開発ワークフローに組み込む実践的な構築例も習得できます。

    • MCP による拡張
    • MCP サーバー設定
    • 例: ドキュメント処理
    • 代表的な MCP 連携
    • 開発ワークフロー構築
  67. 67
    エージェントとワークフローAgents and workflows

    このレッスンでは、Workflows と Agents の使い分けや、それぞれが合う問題の見極め方が学べます。具体例として画像から CAD ファイルを生成するワークフローを分解し、Producer・Grader・フィードバックループで回す Evaluator-Optimizer パターンを理解します。こうしたワークフロー設計のテンプレートを身につけることで、実装方針を素早く決められるようになります。

    • ワークフローとエージェントの使い分け
    • 例: 画像→CAD ワークフロー
    • Evaluator-Optimizer パターン
    • ワークフローパターンの学び方
  68. 68
    並列化ワークフローParallelization workflows

    複雑な判断を単一プロンプトで処理するのではなく、並列化ワークフローで分割・同時実行・集約する設計が学べます。各サブタスクに専用の評価基準やプロンプトを与えることで精度と信頼性を向上させ、個別最適化やスケール拡張も容易になります。どんな場面でこのパターンを適用すべきかの見極め方も理解できます。

    • 単一プロンプトの複雑さの問題
    • 改善策:並列化
    • 並列化ワークフローの仕組み
    • この手法の利点
    • 並列化の利用場面
  69. 69
    チェイニングワークフローChaining workflows

    複雑なタスクを一回の巨大なプロンプトで押し通すのではなく、小さな手順に分けて順番に処理する「チェイニング」の考え方と実践がわかります。各ステップで Claude に焦点を絞らせ、必要に応じて非 LLM 処理や検証を挟むことで精度と管理性を高める方法を学びます。長いプロンプトで起きる制約違反への対処法(生成→修正の二段階パターン)や、どんなケースでチェイニングを採用すべきかの判断基準も習得できます。

    • ワークフローチェイニングとは
    • なぜチェインか:一つの大きなプロンプトとの違い
    • 長いプロンプトの問題
    • チェイニングによる解決
    • チェイニングの利用場面
  70. 70
    ルーティングワークフローRouting workflows

    多様なユーザー要求に対して一律のプロンプトで対処する限界と、その解決策としてのルーティングワークフローの考え方が学べます。リクエストをカテゴリ分けして、各カテゴリに最適化したプロンプトや処理パイプラインに振り分ける実装手順やアーキテクチャを理解できます。いつこのパターンを採用すべきか(顧客対応やコンテンツ生成などの具体例)や、分類と専用処理のトレードオフについても把握できます。

    • 汎用プロンプトの問題点
    • コンテンツカテゴリの設定
    • ルーティングの実践方法
    • ルーティングワークフローの構成
    • ルーティングの利用場面
  71. 71
    エージェントとツールAgents and tools

    このレッスンでは、エージェント設計の考え方とツール戦略が分かります。単純な機能を持つツールを組み合わせることで複雑な振る舞いを生み出す方法、ツールは抽象的で汎用的に設計するべき理由、そして相互に組み合わせ可能なツール群を用意することでユーザーの反応に応じて柔軟に処理を変えられる点を学べます。信頼性やコストとのトレードオフにも触れます。

    • ツールがエージェントを作る仕組み
    • ツールは抽象化すべき理由
    • ベストプラクティス:組み合わせ可能なツール
  72. 72
    実行環境を調べるEnvironment inspection

    このレッスンでは、Claude が「見る」ことで初めて正しく動けるという概念、つまり環境を検査する重要性を学びます。ファイルや UI、動画などに対して操作前に状態を読み取り、操作後に結果を確認するパターンを身につけることで、エラー検出や品質保証、進捗管理が可能になります。実装ではスクリーンショット取得やファイル読み取り、API レスポンス検証など具体的な手法が紹介されます。

    • 環境検査が重要な理由
    • 書く前の読み取り
    • 環境検査のためのシステムプロンプト
    • 環境検査の利点
    • 実践的実装方法
  73. 73
    ワークフローとエージェントの違いWorkflows vs agents

    このレッスンでは、ワークフローとエージェントという2つの設計パターンの違いと向き不向きが分かります。ワークフローは手順が明確な処理を高精度かつ予測可能に実行する方法、エージェントは不確定な要求に対してツールを組み合わせて柔軟に対処する方法です。それぞれの利点・欠点を理解し、実運用でどちらを採用すべきか判断できるようになります。

    • ワークフローとは
    • エージェントとは
    • ワークフローの利点
    • エージェントの利点
    • ワークフローの欠点
    • エージェントの欠点
    • 各手法の使い分け
  74. 74
    クイズ: エージェントとワークフローQuiz on Agents and Workflows

    このクイズでエージェントとワークフローの設計・運用に関する理解度を確認します。エージェントとワークフローの違いや、並列化・チェイニング・ルーティングなど主要パターン、ツールや環境検査の役割、MCP や Claude Code との連携が実際の実装でどう影響するかを把握できるようになります。実務で適切なアプローチを選べる基礎力を養う回です。

  75. 75
    最終アセスメントFinal Assessment

    この最終アセスメントでは、コース全体で学んだ Claude API の主要概念と実装スキルをまとめて確認します。API アクセス、プロンプト設計、ツール連携、RAG、MCP、Claude Code といった機能を横断的に評価する問題を通じて、自分の実装力や設計判断を点検できます。実務での応用を意識した総合力の確認に最適です。

見出しは公式の構成にもとづく日本語の要約です。レッスン本文は公式サイト上でのみ提供されています。各行から公式ページへ移動します。

この講座に出てくる用語 — 15語

この講座で扱う概念です。意味が分からない語で止まったら、ここから辞典を引けます。数字は難易度(1が易しく5が難しい)。
本文中でも初めて出てきた箇所にリンクを張っています。

用語の解説は AICU term(AICU が独自に編集している用語辞典)。

原題: Building with the Claude API — https://academy.claude.com/courses/building-with-the-claude-api