AIエージェント学習帳

AIエージェントの仕組みを、LLMの基礎から設計パターンまで体系的に学べる学習サイト。

AIエージェントを、基礎から順番に。

LLMの仕組みからツール使用・ReActループ・計画・メモリ/RAG・設計パターン・評価と安全まで、レッスンを上から順に読めば体系的に身につきます。各レッスンには出典を添えています。

LESSON 11

MCP入門 ─ エージェントとツールをつなぐ標準規格

MCP(モデルコンテキストプロトコル)はAnthropicが2024年11月に公開したオープン規格で、AIエージェントが外部ツール・データに統一インターフェースで繋がれるようにする。ホスト・クライアント・サーバーの3者構成と3つのプリミティブ(ツール・リソース・プロンプト)を押さえれば、エージェントがどうやって外界と会話するかが見えてくる。

LESSON 14

コンテキストエンジニアリング ─ エージェントのコンテキストウィンドウを設計する

コンテキストエンジニアリングとは、LLMのコンテキストウィンドウに何を入れるかを戦略的に設計する技術で、プロンプトエンジニアリングより広い概念。Write・Select・Compress・Isolateの4操作を意識するだけで、同じモデルでもエージェントの精度とコスト効率が大きく変わるとされる。

LESSON 15

コストとレイテンシを最適化する ─ モデル選択・プロンプトキャッシュ・バッチ処理

AIエージェントの実運用では精度だけでなくコストとレイテンシも設計の対象。モデル選択・プロンプトキャッシュ・バッチ処理の3施策を組み合わせると、同じ品質のまま費用を大幅に圧縮できる可能性がある。

LESSON 16

ツール設計のベストプラクティス ─ description・命名・レスポンス設計

ツール設計で最も重要なのはdescriptionの質。モデルはdescriptionを手がかりにツールを選ぶため「いつ・何を・どのパラメータで」を詳しく書くだけで精度が大きく変わる。命名・ツール数の整理・レスポンス設計もあわせて押さえると、同じモデルでもエージェントの動作が安定する。

LESSON 17

エージェントのトレーシングと観測性 ─ 動きを「見える化」するデバッグ術

エージェントは多ステップかつ非決定論的に動くため、動作を可視化する「観測性(Observability)」が必須。トレース・スパン・メトリクスの3シグナルを押さえ、LangFuse等のツールで「どのLLM呼び出しが遅いか」「どのツールで失敗したか」を特定できると、デバッグが当て推量から根拠ある調査に変わる。

LESSON 19

プロンプトインジェクション ─ エージェントを乗っ取る攻撃と対策

プロンプトインジェクションはLLMへの入力に悪意ある指示を仕込み本来の振る舞いを乗っ取る攻撃手法。ユーザーが直接行う「直接型」と外部コンテンツに指示を埋め込む「間接型」があり、Webページやファイルを読むエージェントは特にリスクが高い。入力の分離・権限最小化・人間によるレビューを組み合わせることで防御層を厚くできるとされる。

LESSON 22

コンピューター操作エージェント(Computer Use)─ スクリーンを見て操作するAIの仕組み

Computer UseはLLMがスクリーンショットを「目」として使い、マウスのクリックやキーボード入力を出力することで、人間と同じようにデスクトップを操作できる技術。APIのない既存アプリも操作できる汎用性が最大の特徴とされ、専用の仮想環境と最小権限での実行が安全運用の基本とされる。

LESSON 23

エラーハンドリングと再試行戦略 ─ エージェントの信頼性を高めるリトライ設計

エージェントはネットワーク障害やレート制限など一時的なエラーと必ず向き合う。エラーを「永続的」と「一時的」に分類し、指数バックオフ付きの再試行を組み込むだけで信頼性は大きく向上する。AnthropicのSDKはデフォルトで自動リトライを2回行うが、その仕組みと限界を理解することがエージェント設計の実力を上げる近道だ。

LESSON 24

ストリーミングレスポンス ─ LLMの出力をリアルタイムに受け取る

ストリーミングとはLLMの応答をトークン単位で逐次受け取る仕組みで、全文生成を待たずに画面へ表示できるためユーザー体験が大幅に改善する。API側では `stream:true` を指定するだけで有効になり、内部的にはServer-Sent Events(SSE)という標準プロトコルが使われている。

LESSON 25

長文コンテキストウィンドウを使いこなす ─ 100万トークン時代の落とし穴と活用法

現代のLLMは100万トークン超のコンテキストウィンドウを持つが、「Lost in the Middle」研究が示すように重要な情報を中盤に置くと見落とされやすい「位置バイアス」がある。先頭・末尾への重要情報の配置とRAGとの組み合わせを意識するだけで、長文コンテキストの精度を大きく引き上げられるとされる。

LESSON 26

拡張思考(Extended Thinking)─ モデルが考えてから答える仕組み

拡張思考(Extended Thinking)は、モデルが最終回答を出す前に内部推論を段階的に行う機能で、複雑な多ステップ問題での精度向上が確認されているとされる。APIで thinking パラメータを有効にするだけで「思考ブロック」として推論過程を取得でき、エージェントのデバッグや精度改善に活用できる。

LESSON 27

マルチモーダル入力(Vision)─ 画像・スクリーンショットをエージェントに渡す

現代のLLMはテキストだけでなく画像を入力として受け取れる「マルチモーダル」機能を持つ。APIではcontentに imageブロックを追加するだけでJPEG・PNG等を渡せ、スクリーンショット読み取り・帳票解析・UI自動化など応用範囲が大きく広がる。

LESSON 28

エンベッディング ─ 意味検索を支えるベクトル表現の仕組み

エンベッディングとはテキストを高次元の数値ベクトルに変換する技術で、意味が近い言葉ほどベクトル空間上でも近い位置に配置される。RAGの核心技術であり、キーワード一致では捉えられない「意味的な近さ」でドキュメントを検索できるようになる。

LESSON 29

ファインチューニング ─ モデルを追加学習してカスタマイズする

ファインチューニングとはモデルの重みを追加データで更新してカスタマイズする技術で、プロンプトだけでは難しいスタイルや専門用語の一貫性を獲得できる。データ収集と計算コスト・過学習のリスクがあるため、まずプロンプト設計の限界を探ってから検討するのが定石とされる。

LESSON 31

ハルシネーション(幻覚)─ LLMが「嘘をつく」メカニズムと対策

ハルシネーションとはLLMがもっともらしく聞こえるが事実と異なる情報を生成してしまう現象。モデルは「正しいことを言う」ためではなく「次トークンを予測する」よう学習されているため、大きなモデルでも嘘をつく。RAG・出典要求・自己検証の多層防御がエージェントの信頼性を守る鍵とされる。

LESSON 32

エージェントフレームワーク入門 ─ LangChain・AutoGen・CrewAI の役割と選び方

エージェントフレームワークはツール管理・会話履歴・マルチエージェント調整などの共通基盤を提供するライブラリ。LangChain・AutoGen・CrewAIはそれぞれ設計哲学が異なり、まずスクラッチで原理を掴んでから用途に合わせて選ぶのが定石とされる。