1. プロジェクト概要
AI SDK(vercel/ai)は、VercelとNext.jsチームによって作成された、プロバイダーに依存しないTypeScriptツールキットです。AI駆動のアプリケーションやエージェントを構築するために開発され、数十のモデルプロバイダーやUIフレームワークにまたがって、テキスト、構造化データ、エージェントワークフローを生成するための単一の統合APIを開発者に提供します。
2. 背景と位置づけ
AI SDKは、AIアプリケーション開発における繰り返し発生する課題を解決するために作成されました。すべてのモデルプロバイダー(OpenAI、Anthropic、Googleなど多数)が独自のSDK、リクエスト形式、ストリーミングプロトコルを出荷しているため、開発者はモデルを切り替えたりフォールバックプロバイダーを追加するたびに統合コードを書き直さなければなりませんでした。AI SDKの核心的な使命は、この差異を一貫したインターフェースの背後に抽象化することです。generateText、streamText、generateObject、およびエージェントプリミティブは、背後にどのモデルがあるかにかかわらず、すべて同じように機能します。
同様のプロジェクトと比較して、AI SDKは以下の点で差別化されています。
- クライアント側でフレームワークに依存しない(Next.js、React、Svelte、Vue、Angular)と同時に、サーバー側でランタイムに依存しない(Node.js、エッジランタイム、サーバーレス関数)こと。
- 組み込みのゲートウェイ(Vercel AI Gateway)を出荷していること。単一のモデル文字列で16以上のプロバイダーの100以上のモデルにアクセスでき、開始するために個別のプロバイダーパッケージが不要です。
- エージェントを第一級の概念(
ToolLoopAgent)として扱うこと。チャット補完の薄いラッパーではなく、ツール呼び出し、永続的な長時間実行ワークフロー、サンドボックス化されたコード実行をネイティブにサポートします。 - Core(サーバー/エッジロジック)、UI(クライアントフック)、RSC(ストリーミングReact Server Components)の間の厳密な分離を維持すること。チームは必要なレイヤーのみを採用できます。
3. 機能カテゴリー
-
🤖 モデルプロバイダー(40以上のパッケージ) — 統合APIを特定のLLMベンダーや推論プラットフォームに接続するアダプター。
@ai-sdk/openai、@ai-sdk/anthropic、@ai-sdk/google— 最も広く使用されている3つのプロバイダー。@ai-sdk/xai、@ai-sdk/mistral、@ai-sdk/groq、@ai-sdk/cohere— その他の主要なホスト型モデルプロバイダー。@ai-sdk/amazon-bedrock、@ai-sdk/azure、@ai-sdk/google-vertex— クラウドプラットフォームネイティブなモデルアクセス。@ai-sdk/openai-compatible— OpenAI互換の推論エンドポイント(自己ホストまたはサードパーティ)用の汎用アダプター。
-
🎙️ 音声とオーディオ(7つのパッケージ) — 文字起こしと音声生成のプロバイダー。
@ai-sdk/deepgram、@ai-sdk/assemblyai、@ai-sdk/revai、@ai-sdk/gladia— 音声からテキストへの文字起こし。@ai-sdk/elevenlabs、@ai-sdk/cartesia、@ai-sdk/lmnt、@ai-sdk/hume— テキストから音声への変換と音声合成。
-
🎨 画像と動画の生成(6つのパッケージ) — 視覚メディア生成のプロバイダー。
@ai-sdk/replicate、@ai-sdk/fal、@ai-sdk/black-forest-labs— 画像生成とホスト型モデル推論。@ai-sdk/luma、@ai-sdk/klingai、@ai-sdk/minimax— 動画とマルチモーダル生成。
-
🖼️ UIフレームワークの統合(5つのパッケージ) — チャットや生成インターフェースを構築するためのクライアント側フック。
@ai-sdk/react、@ai-sdk/vue、@ai-sdk/svelte、@ai-sdk/angular— フレームワーク固有のチャット/補完フック。@ai-sdk/rsc— 生成UIのためのストリーミングReact Server Componentsサポート。
-
🧩 エージェントインフラストラクチャ(10以上のパッケージ) — 自律的で永続的なエージェントの構成要素。
ai(コアのToolLoopAgent) — SDKの中心にあるツール呼び出しエージェントループ。@ai-sdk/mcp— ツールの相互運用性のためのModel Context Protocolクライアント/サーバーサポート。@ai-sdk/workflow、@ai-sdk/workflow-harness— 永続的で長時間実行されるエージェントワークフロー。@ai-sdk/sandbox-vercel、@ai-sdk/sandbox-just-bash— エージェント用のサンドボックス化されたコード実行環境。@ai-sdk/harness-claude-code、@ai-sdk/harness-codex、@ai-sdk/harness-opencode— 人気のコーディングエージェントハーネスとの統合。
-
🛠️ 開発者ツール(6つのパッケージ) — AI SDKアプリの構築と運用のためのサポートインフラストラクチャ。
@ai-sdk/gateway— Vercel AI Gatewayへの一元ルーティング。@ai-sdk/otel— 可観測性のためのOpenTelemetry計装。@ai-sdk/devtools、@ai-sdk/tui— デバッグとターミナルUIユーティリティ。@ai-sdk/provider、@ai-sdk/provider-utils— 新しいプロバイダーパッケージが実装する低レベルの契約。
4. 主な特徴
- 統合モデルAPI — OpenAI、Anthropic、Google、その他100以上のモデル間で、単一の文字列を変更するだけで切り替えが可能。アプリケーションロジックの書き直しは不要です。
- デフォルトのVercel AI Gateway — 個別のプロバイダーSDKをインストールすることなく主要なプロバイダーにすぐにアクセス可能。さらに、一元化されたレート制限とフォールバックルーティングを提供します。
ToolLoopAgentプリミティブ — 手動のチャット補完ループではなく、推論制御、ツール呼び出し、ランタイムコンテキストを備えた第一級のエージェント抽象化。- 構造化出力の生成 —
generateObject/Output.objectはZod(またはValibot)を介してスキーマ検証済みのJSONを生成し、脆弱なプロンプトベースのJSON解析を排除します。 - 永続的なワークフローとサンドボックス — 再起動後も存続する長時間実行エージェントワークフローと、コードを安全に実行する必要があるエージェント用のサンドボックス化された実行環境の組み合わせ。
- フレームワークに依存しないストリーミングUI — 同じストリーミングチャット/生成UIフックがNext.js、React、Svelte、Vue、Angularで機能します。
5. 役割別のユースケース
- 一般の開発者 — 基盤となるモデルに関係なく、一貫したAPIを使用してNext.js/React/Vue/Svelteアプリでチャットボット、コパイロット、生成UI機能を構築します。
- DevOps/SRE — 可観測性のために
@ai-sdk/otelを、モデルプロバイダー間での一元化されたレート制限、フォールバック、コスト追跡のためにVercel AI Gatewayを使用します。 - データ/研究科学者 — プロバイダー固有のリクエスト形式を手動で記述することなく、
generateObjectとToolLoopAgentを使用して構造化データ抽出や多段階の推論パイプラインのプロトタイプを作成します。 - プロジェクトマネージャー — 長期的なメンテナンスのシグナルとして、多数の貢献者ベース、週次のダウンロード量、活発なリリースペース(AI SDK 6/7)を通じてプロジェクトの成熟度を評価します。
6. はじめに
必要なものを見つける — プロバイダーディレクトリとAPIリファレンスを参照して、ユースケースに合致するプロバイダーパッケージやプリミティブ(generateText、streamText、ToolLoopAgent)を特定します。
インストールと統合
npm install ai
npm install @ai-sdk/openai @ai-sdk/anthropic @ai-sdk/google
import { generateText } from 'ai';
const { text } = await generateText({
model: 'openai/gpt-5.4', // Vercel AI Gatewayを経由してルーティング
prompt: 'エージェントとは何ですか?',
});
コーディングエージェントのユーザーは、npx skills add vercel/aiを使用してAI SDKのスキルをリポジトリに直接追加することもできます。
貢献する — CONTRIBUTING.mdを読んでください。現在、プロジェクトでは未承諾の大きなプルリクエストよりも、高品質な課題(明確な再現手順、失敗したテスト)を優先しているため、本格的な作業を始める前に課題トラッカーを確認してください。
7. プロジェクト構造
ai/
├── packages/ # 公開されているすべてのパッケージ(core、providers、UI、agents)
│ ├── ai/ # コアSDK: generateText、streamText、ToolLoopAgent
│ ├── openai/ anthropic/ google/ ... # モデルプロバイダーアダプター
│ ├── react/ vue/ svelte/ angular/ rsc/ # UIフレームワークの統合
│ ├── mcp/ workflow/ sandbox-vercel/ # エージェントインフラストラクチャ
│ └── provider/ provider-utils/ # 新しいプロバイダーを構築するための契約
├── apps/
│ └── docs/ # ai-sdk.devドキュメントサイト
├── content/ # ドキュメントのソースコンテンツ
├── examples/ # 実行可能なサンプルアプリケーション
├── skills/ # コーディングエージェントのスキル定義
├── tools/ # 内部ビルド/開発ユーティリティ
└── CONTRIBUTING.md
packages/の下の各フォルダは独立してバージョン管理されたnpmパッケージです。プロバイダーパッケージはpackages/providerで定義された共有契約を実装しているため、同じgenerateText/streamTextAPIにプラグインとして組み込めます。
8. 関連エコシステム
- Next.js — AI SDKが並行して構築され、最も一般的にデプロイされるフレームワーク。
- Vercel AI Gateway — プロバイダーごとの設定なしで100以上のモデルへのアクセスを提供するデフォルトのルーティングレイヤー。
- Vercel Sandbox — エージェントのコード実行のために
@ai-sdk/sandbox-vercelが使用するセキュアな実行環境。 - Zod / Valibot — 構造化出力の生成に使用されるスキーマ検証ライブラリ。
- Model Context Protocol (MCP) —
@ai-sdk/mcpがエージェントエコシステム間でのツールの相互運用性のために実装するオープンプロトコル。 - LangChain / LlamaIndex — 専用のアダプターパッケージを介してオプションのオーケストレーションレイヤーとしてサポート。
9. ライセンス
このプロジェクトはApache License 2.0の下で配布されています。
- ✅ 商用およびクローズソース製品を含め、自由に使用、変更、配布が可能です。
- ✅ 貢献者からの明示的な特許許諾が含まれています。
- ❌ 保証はありません。貢献者はその使用から生じる損害について責任を負いません。
- ℹ️ 変更されたファイルには変更が加えられたことを示す通知を記載する必要があり、配布物にはライセンス/著作権表示を保持する必要があります。
10. FAQ
Q: すべてのモデルプロバイダーに対して個別のAPIキーは必要ですか?
A: いいえ — デフォルトでは、AI SDKは単一のモデル文字列(例: 'anthropic/claude-opus-4.6')を使用してVercel AI Gatewayを経由してリクエストをルーティングします。ただし、直接接続するために@ai-sdk/anthropicのような特定のプロバイダーパッケージをインストールすることも可能です。
Q: 生のテキストの代わりに、スキーマ検証された構造化出力を取得できますか?
A: はい — generateTextでOutput.object(またはgenerateObject)とZodスキーマを使用して、モデルから型指定され検証されたJSONを取得できます。
Q: AI SDKはどのフロントエンドフレームワークをサポートしていますか?
A: Next.js、React、Svelte、Vue、Angularすべてに専用のUIフックパッケージがあり、コアのストリーミングプリミティブはフレームワークに依存しません。
Q: コードを実行したりツールを使用したりできるエージェントを構築するにはどうすればよいですか?
A: コアのaiパッケージからToolLoopAgentを使用し、ツールを直接定義するか、Model Context Protocolのツールサーバーのために@ai-sdk/mcpを経由して定義します。サンドボックス化されたコード実行のために@ai-sdk/sandbox-vercelと組み合わせてください。
Q: 貢献する最善の方法は何ですか?
A: まずCONTRIBUTING.mdを確認してください — メンテナは現在、未承諾の完全な実装のプルリクエストよりも、明確なバグレポート、最小限の再現手順、失敗したテストを優先しています。
11. クイックリンク
- リポジトリ: https://github.com/vercel/ai
- 公式ドキュメント: https://ai-sdk.dev/docs
- 貢献ガイド: https://github.com/vercel/ai/blob/main/CONTRIBUTING.md
- コミュニティ: https://vercel.community
12. まとめ
AI SDKは、TypeScript開発者に、主要なLLMの呼び出し、構造化データの生成、ツールを使用するエージェントの構築の一貫した方法を提供します。これは大規模なプロバイダーエコシステム、ネイティブのフレームワーク統合、Vercelのゲートウェイ/サンドボックスインフラストラクチャによって支えられています。ベンダーのロックインを避け、1行の変更でモデルを入れ替え、ツールキットを切り替えることなくシンプルなチャットボットから永続的でサンドボックス化されたエージェントワークフローへとスケールアップしたいと考えている、本番環境のAI機能を構築するチームに最適です。