ai-sdk について
ai-sdkは、AIアプリを開発するためのVercel製TypeScriptツールキットです。テキスト生成、構造化出力、ツール呼び出し、エージェント、埋め込み、UI連携に対応し、導入済みバージョンの文書とソースでAPIを確認する使い方を重視します。
主な機能
- 01複数のモデルプロバイダーへの統一アクセス
- 02テキストと構造化出力の生成
- 03ツール呼び出しとエージェント構築
- 04フレームワークのUI連携
- 05バージョンに合った文書の確認
- 06DevToolsによる呼び出しの検査
活用シーン
- 01TypeScriptでのAIアプリ開発
- 02ツール呼び出しを使ったエージェントの構築
- 03アプリへのモデル生成と埋め込みの追加
- 04生成、ツール呼び出し、トークン使用量のデバッグ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pedronauck/ skills --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パッケージのみをインストールします(例:pnpm add ai)。プロバイダーパッケージ(例:@ai-sdk/openai)やフレームワークパッケージ(例:@ai-sdk/react)は、タスクで必要になった段階でインストールしてください。- バンドルされたドキュメント
node_modules/ai/docs/とソースコードnode_modules/ai/src/を読み、grep で検索します。 - プロバイダーパッケージとフレームワークパッケージには、それぞれ独自のドキュメントが
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 に組み込まれているエージェントの抽象化を使用してください。エンドツーエンドの型安全性を確保するには、クライアントでエージェントを利用する際に、エージェントの定義から UI メッセージ型を推論します(例:useChat を使用する場合)。エージェントの利用方法はフレームワークによって異なります。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 を以前の知識で扱うことが原因です。エラーが発生した場合は、現在のドキュメントとソースを再確認してください。