ai-sdk について
ai-sdk は、AI アプリケーションを開発する方向けの Vercel 製 TypeScript ツールキットです。生成、ツール呼び出し、エージェント、埋め込み、フレームワーク UI を統一 API で扱い、導入済みバージョンに合ったドキュメントの確認を促します。
主な機能
- 01モデルプロバイダー共通 API
- 02テキストと構造化出力の生成
- 03ツール呼び出しとエージェント機能
- 04埋め込みと UI 連携
- 05バージョン対応ドキュメントの案内
活用シーン
- 01テキスト生成アプリの構築
- 02構造化出力とツール呼び出しの追加
- 03SDK の機能を使ったエージェント作成
- 04導入済みバージョンに合わせた API 確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ midudev/ autoskills --skill ai-sdkインストール後、Claude Code で/ai-sdkを入力して読み込まれたか確認します。
詳細
AI SDK とは
Vercel の AI SDK(npm の ai パッケージ)は、AI アプリケーションを構築するための TypeScript ツールキットです。テキスト生成、構造化出力、ツール呼び出し、エージェント、埋め込み、フレームワークの UI 統合に対応する、モデルプロバイダー間で共通の API を提供します。
- リポジトリ:https://github.com/vercel/ai
- ドキュメント:https://ai-sdk.dev/docs
重要:自分の記憶を信用しないでください
AI SDK について覚えていることは、古くなっている可能性が高いです。SDK はバージョン間で頻繁に変更され、API の名称変更、削除、追加が行われています。学習データには、ほぼ間違いなく廃止された API、非推奨のパターン、現在は存在しないモデル ID が含まれています。useChat などの UI フックは、特に頻繁に変更される API の一つです。クライアントコードには十分注意してください。
AI SDK のコードを記憶だけで書かないでください。 必ず、プロジェクトに実際にインストールされているバージョンのドキュメントとソースコードを参照して、すべての API、オプション、パターンを確認してください。
同梱されているバージョン対応ドキュメントを使う
ai パッケージには、完全なドキュメントとソースコードが node_modules 内に同梱されています。これらはインストール済みのバージョンと常に一致するため、記憶している情報よりも優先してください。
aiがインストールされていることを確認します。node_modules/ai/を確認するか、モノレポ内でaiに依存するワークスペースパッケージ(例:apps/<name>/node_modules/ai/)を探します。プロジェクト内のどこにもaiがインストールされていない場合は、プロジェクトのパッケージマネージャーを使って、対象パッケージにaiパッケージだけ をインストールします(例:pnpm add ai --filter <pkg>またはnpm install ai)。プロバイダーパッケージ(例:@ai-sdk/openai)とフレームワークパッケージ(例:@ai-sdk/react)は、タスクで必要になった時点でインストールしてください。- 同梱ドキュメントの
node_modules/ai/docs/(または<package>/node_modules/ai/docs/)と、ソースコードのnode_modules/ai/src/を読み、検索します。 - プロバイダーとフレームワークの各パッケージには、それぞれのドキュメントが
node_modules/@ai-sdk/<name>/docs/(または<package>/node_modules/@ai-sdk/<name>/docs/)に同梱されています。 - 同梱ドキュメントに記載がない場合は、https://ai-sdk.dev/docs を検索します。ドキュメントページの URL の末尾に
.mdを付けると Markdown を取得でき、https://ai-sdk.dev/api/search-docs?q=your_queryから検索できます。 - ドキュメントやソースコードで回答の根拠を見つけられない場合は、その旨を明確に伝えてください。推測で回答しないでください。
AI Gateway:最も手早く始める方法
Vercel AI Gateway は、AI SDK を最も手早く使い始める方法です。プロバイダーパッケージをインストールしたり、複数の API キーを管理したりすることなく、単一の API を通じて OpenAI、Anthropic、Google などのプロバイダーのモデルを利用できます。
設定方法:
- OIDC(Vercel デプロイの場合)で認証するか、AI Gateway API キーを取得します。
AI_GATEWAY_API_KEY環境変数を使って、アプリにキーを渡します。provider/model形式の文字列でモデルを指定します。
正確なセットアップ、認証、使用方法については、同梱ガイドと AI Gateway のドキュメントを参照してください。
モデルの選択
モデル ID を記憶だけで指定しないでください。モデルは頻繁にリリースおよび廃止されるため、モデルを指定するコードを書く前に、最新の一覧を取得してください。最新のモデルを確認できるよう、一覧を省略しないでください(例:head を使わないでください)。
# All available models
curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '.data[].id'
# Filter by provider (e.g. anthropic, openai, google)
curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '[.data[] | select(.id | startswith("anthropic/")) | .id] | reverse | .[]'
同じモデルに複数のバージョンがある場合は、バージョン番号が最も大きいものを選んでください。
エージェントの構築と利用
ツール呼び出しのループを独自に実装するのではなく、ToolLoopAgent など、SDK に組み込まれているエージェントの抽象化を使ってください。エンドツーエンドの型安全性を確保するには、クライアント側で利用する際(例:useChat)、エージェントの定義から UI メッセージ型を推論してください。エージェントの利用方法はフレームワークによって異なります。package.json を確認してスタックを特定し、対応するクイックスタートに従ってください。
現在のエージェント、ツール、型安全性に関する API は、同梱ドキュメント(node_modules/ai/docs/、特に agents セクション)または https://ai-sdk.dev/docs で確認してください。
DevTools
AI SDK DevTools は、AI SDK の呼び出し(リクエスト、レスポンス、ツール呼び出し、トークン使用量、複数ステップの実行)を記録するため、エージェントの動作を正確に確認できます。開発中に使用して、生成処理をデバッグしてください。これは別パッケージで、ローカル開発のみを対象としています。
セットアップ手順については、同梱の DevTools ドキュメントをお読みください。
SDK を最新の状態に保つ
インストールが古いことが、エラーの最も一般的な原因です。インストール済みのバージョンと最新バージョンを比較してください。
- インストール済み:
node_modules/ai/package.jsonのversionフィールド。 - 最新:
npm view ai versionを実行します。
インストール済みのバージョンが最新よりメジャーバージョンで 1 つ以上古い場合は、ユーザーに古いリリースを使用していることを伝え、続行する前にアップグレードすることをおすすめしてください。移行ガイドは https://ai-sdk.dev/docs/migration-guides にあります。
変更後
プロジェクトの型チェッカーを実行してください。設定は最小限にし、デフォルトと異なるオプションだけを指定します。オプションを指定しすぎないよう、ドキュメントやソースでデフォルトを確認してください。型エラーの多くは、変更された古い API の記憶に起因します。エラーが発生した場合は、現在のドキュメントとソースを再確認してください。