AI エージェント開発
LLM を「ただ呼ぶ」ところから、自律的に動くエージェントを作るまで。 Claude / Anthropic API を中心に、ツール使用・メモリ・RAG・評価・運用を一通り押さえる。
このセクションの全体像
- LLM API の基礎 — メッセージ形式、トークン、温度、ストップシーケンス
- プロンプト設計 — System / User / Assistant、構造化、思考の引き出し方
- Tool Use — 関数呼び出し、JSON スキーマ、エージェントループ
- メモリと文脈管理 — 会話履歴、コンテキスト圧縮、永続メモリ
- RAG — 検索拡張生成、Embedding、ベクトル DB
- ストリーミング — SSE、Server Streams、UI 表示
- フレームワーク — Vercel AI SDK / LangChain / Mastra / Claude Agent SDK
- 評価・コスト・安全性 — eval、観測、ガードレール、コスト最適化
そもそも「AI エージェント」とは
単発の質問応答ではなく、目的を達成するために LLM が複数ステップを自律的に繰り返す仕組み。 最小構成は「LLM + ツール + ループ」の 3 点セット。
┌──────────────────────┐
│ ユーザーの目的 │
└────────┬─────────────┘
▼
┌──────────────────────┐
│ LLM │ ← System Prompt + History
│ (推論する) │
└────────┬─────────────┘
▼
┌────┴────┐
│ tool? │ Yes ──▶ ツール実行 ──▶ 結果を履歴に追加 ──▶ ループ
└────┬────┘
│ No
▼
最終応答
なぜ今「エージェント」なのか
- LLM の長い文脈と関数呼び出し精度が実用域に到達した
- Claude / GPT が 200K〜1M トークンを扱える(履歴を捨てなくてよい)
- Tool Use がほぼ「動く」レベルで、コードを書いたり API を叩いたり実環境を操作できる
- MCP(Model Context Protocol)でツール提供の標準ができた
Claude を使う理由
- 1M トークンの長い文脈(Opus 4.7 1M context など)
- Tool Use の精度と並列ツール呼び出し
- 長時間タスクの安定性(Claude Code が成立している)
- Computer Use でブラウザや OS を操作する素地
- Anthropic API が直接 / AWS Bedrock / Google Vertex で使える
3 つの実装レベル
| レベル | 内容 | 例 |
|---|---|---|
| 1. ワンショット | 1 リクエストで完結 | 要約、翻訳、分類 |
| 2. ツール付き 1 ターン | 関数を呼んで結果を返す | 商品検索、天気取得 |
| 3. エージェントループ | 複数ステップを自律的に繰り返す | Claude Code、Devin、リサーチ Bot |
必要な前提知識
- HTTP / fetch / JSON(API 操作)
- 非同期プログラミング(async/await、ストリーム)
- JSON Schema(ツール定義)
- TypeScript or Python
- キーの管理と料金感覚
料金感覚(2026 年初頭時点)
- Claude Haiku 系: 入力 $0.25 / 出力 $1.25 (1M トークン)— 最安・高速
- Claude Sonnet 系: 入力 $3 / 出力 $15 (1M)
- Claude Opus 系: 入力 $15 / 出力 $75 (1M) — 最高性能
- Prompt Caching で繰り返す System Prompt は 90% OFF
- Batch API で非同期処理は 50% OFF
プロダクションではHaiku でできるところは Haiku、難しい推論だけ Sonnet/Opus、というルーティングが王道。
実用パターン
- カスタマー対応 Bot(FAQ + RAG)
- 社内ナレッジ検索
- コード自動修正(Claude Code 系)
- リサーチ自動化(複数サイトを横断)
- データ抽出(PDF → 構造化 JSON)
- ライティング支援
- マルチモーダル(画像・PDF を読ませる)
用語の整理
| 用語 | 意味 |
|---|---|
| LLM | Large Language Model(大規模言語モデル) |
| トークン | テキストを数値化した最小単位(≒ 単語の一部) |
| System Prompt | モデルの振る舞いを規定する命令 |
| Tool Use / Function Calling | LLM が外部関数を呼べる仕組み |
| Embedding | テキストをベクトル化する処理 |
| RAG | 検索結果を context に入れて答えさせる手法 |
| MCP | Model Context Protocol — ツール提供の標準規格 |
| Eval | モデル/プロンプトの品質を自動評価する仕組み |
学ぶ順番のおすすめ
まず単発 API を 1 度叩く → System Prompt を書く → Tool 1 個追加 → ループ化 → メモリ → RAG。フレームワークから入ると抽象化が邪魔になりがち。