ai-sdk.dev は、Vercel AI SDKの公式ドキュメントサイトだ。 URLそのものがSDK名と一致していて、ここがAI SDKの一次情報の入口になる。 本記事は、ai-sdk.dev の章立てを「地図」として読み、generateTextからプロバイダ抽象、Agents、Telemetryまでの全体像を実装の前に把握することを狙いとする。 具体的な実装手順は別記事に譲り、ここでは「どこに何が書いてあり、各機能がどう繋がっているか」を公式ドキュメントとGitHubのvercel/aiリポジトリの記述だけで整理する。
AIエージェントそのものの仕組み・種類・代表的OSSフレームワークから押さえたい方は AIエージェントとは?仕組み・種類・代表的OSSフレームワークを初心者向けに解説【2026年版】 を先に読むと、本記事の位置づけが掴みやすい。
30秒で理解するai-sdk.dev
詳細は後続のセクションで扱う。 まず全体像だけを先に置く。
・ai-sdk.dev はVercel AI SDKの公式ドキュメントサイト。トップのタグラインは「Universal AI layer for building frameworks and agents」
・GitHubのvercel/aiは2026-06-18時点でスター24,956・フォーク4,630・Apache-2.0ライセンス。最新リリースは[email protected]で、サイドバーは「v6 (Latest)」と表示する
・ドキュメントはFoundations / AI SDK Core / AI SDK UI / AI SDK RSC / Agents / Providers and Modelsという章で分かれ、この章立て自体がSDKの設計図になっている
・中核は統一API。generateTextやstreamTextを、モデル指定の文字列を差し替えるだけで複数プロバイダにまたがって使える
・UIはuseChatなどのフックを持つAI SDK UIが本番推奨。AI SDK RSCは公式が「experimental」と明記する
・トップページの公称値は「100+ Models supported」「15.6M weekly downloads」「25K GitHub stars」「658+ Contributors」
- ai-sdk.dev を章立て=地図として読むための見取り図を最初に示す
- Core(サーバー側ロジック)とUI(フロント側フック)とRSC(実験的)の役割分担を切り分ける
- モデル指定の3方式(Gateway / Provider / Custom)と、24以上の公式プロバイダパッケージの広がりを整理する
- 実装ハンズオンは既存記事 Vercel AI SDK 6入門 に分担させ、本記事は全体像の把握に振り切る
ai-sdk.dev とは何か
ai-sdk.dev は、Vercel AI SDKのドキュメント・サンプル・プレイグラウンドを集めた公式サイトだ。
GitHubのvercel/aiリポジトリのhomepageフィールドもhttps://ai-sdk.devを指している。
トップページの見出しは次の一文だ。
Universal AI layer for building frameworks and agents
(フレームワークとエージェントを作るための、汎用的なAIレイヤー)
出典: ai-sdk.dev(2026-06-18取得)
その下に、SDKの性格を一文で示す説明が続く。
A unified TypeScript SDK for building AI apps with modern streaming, fallbacks, and multi-model support—powered by Vercel
(モダンなストリーミング、フォールバック、マルチモデル対応を備えた、AIアプリ構築のための統一されたTypeScript SDK。Vercel提供)
出典: ai-sdk.dev(2026-06-18取得)
GitHubリポジトリ側の説明文も対応している。
The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents
(TypeScriptのためのAIツールキット。Next.jsの開発元による、AI機能を備えたアプリケーションとエージェントを構築するための無料のオープンソースライブラリ)
出典: github.com/vercel/ai(2026-06-18取得)
数値で現在地を押さえておく。 GitHub APIによる実測で、vercel/aiは2026-06-18時点でスター24,956・フォーク4,630・オープンIssue 1,792件だ。 リポジトリの作成は2023-05-23で、3年あまり継続して更新されている。 トップページ側には「15.6M weekly downloads」「25K GitHub stars」「658+ Contributors」という公称値が並ぶ。
ドキュメントのサイドバー上部にはバージョンセレクタがあり、「v6 (Latest) AI SDK 6.x」と表示される。
npmの最新リリースは[email protected](2026-06-18公開)で、メジャーバージョンはv6だ。
ライセンスはApache-2.0で、LICENSEファイルの冒頭は「Copyright 2023 Vercel, Inc.」から始まる。
AI SDK の設計思想
ai-sdk.dev の説明をたどると、設計の軸が3つ見えてくる。 プロバイダ抽象、ストリーミング、そして統一APIだ。
中心にあるのがプロバイダ抽象だ。 Foundationsの概説ページは、SDKの役割をこう定義する。
The AI SDK standardizes integrating artificial intelligence (AI) models across supported providers.
(AI SDKは、対応プロバイダをまたいでAIモデルを統合する方法を標準化する)
出典: ai-sdk.dev/docs/foundations/overview(2026-06-18取得)
同じページは、その狙いを開発者視点で言い換えている。
This enables developers to focus on building great AI applications, not waste time on technical details.
(これにより開発者は、技術的な細部に時間を使うのではなく、優れたAIアプリケーションの構築に集中できる)
出典: ai-sdk.dev/docs/foundations/overview(2026-06-18取得)
具体的には、generateTextのような関数を1つ覚えれば、モデル指定の文字列を変えるだけでAnthropic・OpenAI・Googleなどに切り替えられる。
プロバイダごとに異なるリクエスト形式の差は、SDK内部の「言語モデル仕様(language model specification)」が吸収する。
2つ目の軸がストリーミングだ。
トップの説明文が掲げる「modern streaming」は、LLMの出力を待ち切ってから返すのではなく、生成されたトークンを逐次クライアントへ流す前提を指す。
チャットUIの体感速度に直結するため、SDKはサーバー側のstreamTextとフロント側のuseChatを最初から組で設計している。
3つ目が統一APIだ。 テキスト生成・構造化出力・埋め込み・画像・音声・文字起こしといった用途を、似た形のCore関数群に揃えている。 用途ごとに別ライブラリを覚え直す負荷を下げる方針が、章立てとAPI設計の両方に現れている。
ドキュメントの歩き方
ai-sdk.dev の左サイドバーは、そのままSDKの構成図として読める。 大きく分けて、概念を説明するFoundations、サーバー側ロジックのAI SDK Core、フロント側フックのAI SDK UI、実験的なAI SDK RSC、エージェント抽象のAgents、そしてプロバイダ一覧のProviders and Modelsがある。
章ごとの役割を表にすると、どこを読めばよいかが掴みやすい。
| 章 | 役割 | 主な内容 |
|---|---|---|
| Foundations | 前提概念 | Overview、Providers and Models、Prompts、Tools、Streaming、Provider Options |
| Getting Started | 導入手順 | Next.js App/Pages Router、Svelte、Vue.js (Nuxt)、Node.js、Expo、TanStack Start |
| AI SDK Core | サーバー側API | generateText、streamText、構造化出力、埋め込み、画像/音声 |
| AI SDK UI | フロント側フック | useChat、useCompletion、useObject |
| AI SDK RSC | 実験的UI | streamUI、React Server Componentsへのストリーミング |
| Agents | エージェント抽象 | ToolLoopAgent、Loop Control(stopWhen / prepareStep) |
Foundationsの概説ページ冒頭には、読者の進路を案内するコールアウトが置かれている。
This page is a beginner-friendly introduction to high-level artificial intelligence (AI) concepts. To dive right into implementing the AI SDK, feel free to skip ahead to our quickstarts or learn about our supported models and providers.
(このページはAIの高レベルな概念を初心者向けに紹介するものです。AI SDKの実装にすぐ取りかかりたい場合は、クイックスタートへ進むか、対応モデルとプロバイダのページを参照してください)
出典: ai-sdk.dev/docs/foundations/overview(2026-06-18取得)
この章立てを図にすると、サーバー側のCoreを土台に、その上へUIとRSCが乗り、Providersが横断的に差さる構造が見える。
公式ドキュメント"] FND["Foundations
前提概念"] CORE["AI SDK Core
generateText / streamText
構造化出力 / 埋め込み"] UI["AI SDK UI
useChat / useCompletion / useObject"] RSC["AI SDK RSC(実験的)
streamUI"] AGENTS["Agents
ToolLoopAgent"] PROV["Providers and Models
24+ パッケージ / 100+ モデル"] DOCS --> FND DOCS --> CORE DOCS --> UI DOCS --> RSC DOCS --> AGENTS DOCS --> PROV CORE --> UI CORE --> RSC CORE --> AGENTS PROV -.横断.-> CORE
Core の関数カタログ
AI SDK Coreは、サーバー側でLLMを呼び出すための関数群だ。
入口になるのがgenerateTextとstreamTextの2つで、Core概説ページはそれぞれの用途を明確に書き分けている。
generateTextの説明はこうだ。
Generates text and tool calls. This function is ideal for non-interactive use cases such as automation tasks where you need to write text (e.g. drafting email or summarizing web pages) and for agents that use tools.
(テキストとツール呼び出しを生成する。メール下書きやWebページ要約のような自動化タスクなど非対話的な用途、およびツールを使うエージェントに向く)
出典: ai-sdk.dev/docs/ai-sdk-core/overview(2026-06-18取得)
streamTextは対話的な用途を担う。
Stream text and tool calls. You can use the streamText function for interactive use cases such as chat bots and content streaming.
(テキストとツール呼び出しをストリーミングする。チャットボットやコンテンツのストリーミングといった対話的な用途に使える)
出典: ai-sdk.dev/docs/ai-sdk-core/overview(2026-06-18取得)
最小のテキスト生成は次の形になる。
ドキュメントのサンプルでは、モデルを"provider/model"形式の文字列で指定している。
import { generateText } from "ai";
const { text } = await generateText({
model: "anthropic/claude-sonnet-4.5",
prompt: "What is love?",
});
構造化データの生成は、outputプロパティにOutput系のヘルパーを渡して行う。
Coreの構造化出力ページは、スキーマが検証も兼ねる点を説明している。
Use generateText with Output.object() to generate structured data from a prompt. The schema is also used to validate the generated data, ensuring type safety and correctness.
(generateTextとOutput.object()を使い、プロンプトから構造化データを生成する。スキーマは生成データの検証にも使われ、型安全性と正しさを担保する)
出典: ai-sdk.dev/docs/ai-sdk-core/generating-structured-data(2026-06-18取得)
Zodスキーマを渡す書き方は次のとおりだ。
import { generateText, Output } from "ai";
import { z } from "zod";
const { output } = await generateText({
model: "anthropic/claude-sonnet-4.5",
output: Output.object({
schema: z.object({
name: z.string(),
age: z.number().nullable(),
labels: z.array(z.string()),
}),
}),
prompt: "Generate information for a test user.",
});
出力の形は4種類から選べる。 公式ドキュメントの記述に沿うと次のようになる。
・Output.object({ schema }):スキーマに基づく構造化オブジェクトを生成する
・Output.array({ element }):指定した型のオブジェクトの配列を生成する
・Output.choice({ options }):あらかじめ決めた文字列の選択肢からモデルに選ばせる
・Output.json():スキーマを強制せず、非構造のJSON値を生成・パースする
テキストと構造化出力のほかに、Coreには埋め込み(embedding)や画像・音声・文字起こしの関数も用意されている。 ナビゲーションにはこれらが独立したページとして並ぶ。 本記事では一次情報で用途を確認できたテキスト・ツール・構造化出力を中心に扱い、埋め込み以降は章の存在だけを地図上に置いておく。
モデルの指定方法は3通り
AI SDKでモデルを指定する方法は3つある。 ドキュメントのコードサンプルにも、Gateway・Provider・Customという3つのタブが用意されている。
1つ目がGateway方式だ。
model: "anthropic/claude-sonnet-4.5"のように"プロバイダ名/モデル名"の文字列を渡す。
この文字列はVercel AI Gatewayを通じて解決され、複数プロバイダを1つの口で扱える。
2つ目がProvider方式だ。
@ai-sdk/openaiのようなプロバイダパッケージを読み込み、openai("gpt-5.5")のように関数で指定する。
Providers and Modelsページは、SDKがプロバイダ差を吸収する仕組みをこう説明する。
a standardized approach to interacting with LLMs through a language model specification that abstracts differences between providers
(プロバイダ間の差を抽象化する言語モデル仕様を通じて、LLMと対話するための標準化された手法)
出典: ai-sdk.dev/docs/foundations/providers-and-models(2026-06-18取得)
3つ目がCustom方式だ。
OpenAI互換のエンドポイントを@ai-sdk/openai-compatibleで繋ぐか、provider仕様に沿って独自プロバイダを実装する。
公式ドキュメントは、独自プロバイダ作成のためのオープンソースパッケージが用意されていると述べている。
この3方式を図にすると、同じCore関数の下にモデル解決の経路が3本ぶら下がる構造になる。
generateText / streamText"] GW["Gateway 方式
『provider/model』文字列"] PV["Provider 方式
openai() / anthropic()"] CU["Custom 方式
openai-compatible / 独自provider"] LLM["各LLMプロバイダ
OpenAI / Anthropic / Google ほか"] APP --> GW APP --> PV APP --> CU GW --> LLM PV --> LLM CU --> LLM
プロバイダの広がり
トップページには「100+ Models supported」と書かれ、Anthropic・OpenAI・Google・Grok・Mistral・Meta・Perplexity・DeepSeek・Moonshot・Zaiのロゴが並ぶ。
実態はGitHubリポジトリのpackagesディレクトリで確認できる。
2026-06-18時点で、次のような公式プロバイダパッケージが置かれている。
・テキスト系:openai、anthropic、google、google-vertex、amazon-bedrock、azure、mistral、groq、cohere、deepseek、fireworks、togetherai、perplexity、xai、cerebras、deepinfra、baseten、huggingface、moonshotai、alibaba、bytedance
・音声・文字起こし系:deepgram、assemblyai、elevenlabs、hume、lmnt、gladia、revai
・画像・動画系:fal、luma、klingai、black-forest-labs、prodia、replicate
・埋め込み系:voyage
・互換・基盤系:openai-compatible、gateway、provider、provider-utils
数えると公式プロバイダだけで24を超える。
さらにopenai-compatibleを使えば、OpenAIのAPI形式に合わせた多数の互換サービスを同じ書き方で繋げる。
プロバイダを増やしても、アプリ側のコードはgenerateTextのままで済むのがプロバイダ抽象の利点だ。
リポジトリにはmcp(Model Context Protocol連携)、devtools、codemod(バージョン移行用)、react・vue・svelte・angular・rscといったフレームワークアダプタ、langchain・llamaindexとの連携パッケージも同居する。
ai-sdk.dev の章とこれらのパッケージは対応していて、ドキュメントの地図とリポジトリの構造がほぼ一致する。
Tool calling の仕組み
ツール呼び出しは、LLMに外部の関数を使わせるための仕組みだ。
Coreではtool()ヘルパーでツールを定義する。
ツールは主に4つの要素を持つ。
・description:そのツールがいつ選ばれるかに影響する説明文
・inputSchema:入力パラメータを定義するZodスキーマ。LLMが参照し、呼び出しの検証にも使う
・execute:ツール呼び出しの入力を受け取って実行される非同期関数
・strict:厳密なツール呼び出し検証を有効にするオプション
公式ドキュメントのサンプルは、天気取得ツールをこう定義している。
weather: tool({
description: "Get the weather in a location",
inputSchema: z.object({
location: z.string().describe("The location to get the weather for"),
}),
execute: async ({ location }) => ({
location,
temperature: 72 + Math.floor(Math.random() * 21) - 10,
}),
})
ツールを使った複数ステップの応答は、stopWhen設定で制御する。
Coreのツールページはこう説明する。
with the stopWhen setting, you can enable multi-step calls in generateText and streamText. When stopWhen is set and the model generates a tool call, the AI SDK will trigger a new generation passing in the tool result until there are no further tool calls or the stopping condition is met.
(stopWhen設定により、generateTextとstreamTextで複数ステップの呼び出しを有効にできる。stopWhenが設定され、モデルがツール呼び出しを生成すると、AI SDKはツール結果を渡して新しい生成を起動する。これを、それ以上ツール呼び出しがなくなるか、停止条件が満たされるまで繰り返す)
出典: ai-sdk.dev/docs/ai-sdk-core/tools-and-tool-calling(2026-06-18取得)
つまり「モデルがツールを呼ぶ→executeが走る→結果をモデルに返す→次の生成」というループを、SDKがstopWhenを見ながら自動で回す。
このループを抽象化したのが、次に説明するAgentsだ。
Agents と ToolLoopAgent
Agentsの章は、エージェントの定義をひと言で示す。
Agents are large language models (LLMs) that use tools in a loop to accomplish tasks.
(エージェントとは、タスクを達成するためにツールをループの中で使う大規模言語モデルである)
出典: ai-sdk.dev/docs/agents/overview(2026-06-18取得)
この定義は3つの部品に分解される。 公式は次のように整理している。
These components work together: LLMs process input and decide the next action; Tools extend capabilities beyond text generation; Loop orchestrates execution through context management and stopping conditions.
(これらの部品は連携して働く。LLMは入力を処理して次の行動を決め、Toolsはテキスト生成を超えて能力を広げ、Loopはコンテキスト管理と停止条件によって実行を統御する)
出典: ai-sdk.dev/docs/agents/overview(2026-06-18取得)
この3部品をまとめて扱うのがToolLoopAgentクラスだ。
ループの2つの肝は、コンテキスト管理と停止条件だと説明される。
コンテキスト管理は「会話履歴を保ち、各ステップでモデルが見る入力を決めること」、停止条件は「ループ(タスク)がいつ完了したかを判定すること」だ。
細かい制御はLoop ControlのstopWhenとprepareStepで行う。
公式はToolLoopAgentを推奨アプローチと位置づける。
The ToolLoopAgent is the recommended approach for building agents with the AI SDK because it reduces boilerplate, improves reusability, and simplifies maintenance.
(ToolLoopAgentはAI SDKでエージェントを作るときの推奨アプローチである。定型コードを減らし、再利用性を高め、保守を簡単にするためだ)
出典: ai-sdk.dev/docs/agents/overview(2026-06-18取得)
ToolLoopAgentを使った実装コードやMCP連携、ツール承認の具体例は、既存記事の Vercel AI SDK 6入門|エージェント・MCP・ツール承認をTypeScriptで実装する2026年最新ガイド で扱っている。 本記事ではドキュメント上の位置づけまでにとどめる。
AI SDK UI と RSC
フロント側を担うのがAI SDK UIだ。 概説ページは性格をこう説明する。
AI SDK UI is designed to help you build interactive chat, completion, and assistant applications with ease. It is a framework-agnostic toolkit, streamlining the integration of advanced AI functionalities into your applications.
(AI SDK UIは、対話的なチャット・補完・アシスタントのアプリを容易に構築できるよう設計されている。フレームワーク非依存のツールキットだ)
出典: ai-sdk.dev/docs/ai-sdk-ui/overview(2026-06-18取得)
提供されるフックは3つだ。
・useChat:チャットメッセージのリアルタイムなストリーミングを提供し、入力・メッセージ・読み込み・エラーの状態管理を肩代わりする
・useCompletion:テキスト補完を扱い、プロンプト入力とUI更新を自動で管理する
・useObject:ストリーミングされるJSONオブジェクトを受け取り、構造化データを扱いやすくする
対応フレームワークも明記されている。
AI SDK UI supports the following frameworks: React, Svelte, Vue.js, Angular, and SolidJS.
(AI SDK UIはReact、Svelte、Vue.js、Angular、SolidJSに対応する)
出典: ai-sdk.dev/docs/ai-sdk-ui/overview(2026-06-18取得)
ドキュメントの比較表では、React・Vue.js・Svelte・Angularが3つのフックすべてに対応し、SolidJSはコミュニティ実装である旨が示されている。
サーバーのstreamTextからフロントのuseChatまでのデータの流れは、次のようになる。
useChat()"] ROUTE["サーバールート
streamText()"] CONV["convertToModelMessages()"] STREAM["toUIMessageStreamResponse()"] LLM["LLM プロバイダ"] CLIENT -->|"POST メッセージ"| ROUTE ROUTE --> CONV CONV --> LLM LLM -->|"トークン逐次"| STREAM STREAM -->|"UIメッセージストリーム"| CLIENT
一方のAI SDK RSCは、サーバーからクライアントへUIそのものを流す仕組みだ。
streamUI関数が「モデルを呼び出し、React Server Componentsで応答させる」役割を担う。
ただし本番運用については、公式が注意書きを置いている。
AI SDK RSC is currently experimental. We recommend using AI SDK UI for production.
(AI SDK RSCは現在実験的である。本番ではAI SDK UIの利用を推奨する)
出典: ai-sdk.dev/docs/ai-sdk-rsc/overview(2026-06-18取得)
RSCからUIへの移行ガイドも用意されている。 新規にチャットUIを組むなら、まずAI SDK UIのuseChatから入るのが公式の推奨経路だと読める。
Telemetry と観測性
運用時の可視化は、CoreのTelemetryが担う。 仕組みの土台はOpenTelemetryだ。
The AI SDK uses OpenTelemetry to collect telemetry data.
(AI SDKはテレメトリデータの収集にOpenTelemetryを使う)
出典: ai-sdk.dev/docs/ai-sdk-core/telemetry(2026-06-18取得)
ただしステータスは実験的だと明記されている。
AI SDK Telemetry is experimental and may change in the future.
(AI SDKのテレメトリは実験的であり、将来変更される可能性がある)
出典: ai-sdk.dev/docs/ai-sdk-core/telemetry(2026-06-18取得)
有効化は呼び出しごとにexperimental_telemetryオプションを渡す。
const result = await generateText({
model: "anthropic/claude-sonnet-4.5",
prompt: "Write a short story about a cat.",
experimental_telemetry: { isEnabled: true },
});
記録の粒度はrecordInputsとrecordOutputsで調整でき、functionIdやmetadataで識別情報を付けられる。
記録されるスパンは関数ごとに分かれていて、generateTextではai.generateText・ai.generateText.doGenerate・ai.toolCall、streamTextではai.streamText・ai.streamText.doStream、埋め込みではai.embedなどが出力される。
スパンにはモデルID・プロバイダ・トークン使用量・終了理由といった属性が乗る。
独自の観測を組むためのTelemetryIntegrationインターフェースもあり、onStart・onStepStart・onToolCallStart・onToolCallFinish・onStepFinish・onFinishといったライフサイクルのフックを実装できる。
他のSDKとの位置づけ
AI SDKの立ち位置は、隣接するSDKと並べると掴みやすい。 比較は各プロジェクトの公称機能と当サイト既報に基づく整理であり、優劣の断定ではない。
| SDK | 言語 | 守備範囲 | 性格 |
|---|---|---|---|
| Vercel AI SDK | TypeScript | プロバイダ抽象+UIストリーミング+エージェント | フロントまで地続きの軽量な土台 |
| OpenAI SDK | 多言語 | OpenAI APIの公式クライアント | 単一プロバイダに最適化 |
| Anthropic SDK | 多言語 | Claude APIの公式クライアント | 単一プロバイダに最適化 |
| LangChain.js | TypeScript | RAG・チェーン・エージェントの部品群 | 機能網羅が広く抽象は厚い |
| Mastra | TypeScript | ワークフロー・エージェント・メモリ | TypeScript製の統合フレームワーク |
| Cloudflare系SDK | TypeScript | Workers/エッジ上のAI実行 | エッジランタイム前提 |
OpenAI SDKやAnthropic SDKは、各社APIの公式クライアントだ。 単一プロバイダを直接叩く堅実な選択肢で、プロバイダを横断する抽象は持たない。 AI SDKはその上に「プロバイダを差し替えられる統一API」と「UIストリーミング」を被せる位置にいる。
LangChain.jsは部品の網羅性が最も広く、複雑なRAGやマルチエージェントの構成材料が揃う反面、抽象の層が厚い。 MastraはTypeScript製の統合フレームワークで、ワークフローやメモリまで含めて1つの枠組みで扱う。 Cloudflare系のSDKはWorkersやエッジ上での実行を前提とし、配置先のランタイムが異なる。
「フロントエンドまで含めてTypeScriptで完結させ、プロバイダは差し替えたい」ならAI SDK、という整理がしやすい。 図にすると、抽象の厚さと守備範囲で各SDKの位置が分かれる。
Anthropic SDK"] AISDK["Vercel AI SDK
プロバイダ抽象+UI"] MASTRA["Mastra
統合フレームワーク"] LC["LangChain.js
部品網羅"] THIN --> OPENAI OPENAI --> AISDK AISDK --> MASTRA MASTRA --> LC LC --> THICK
AIエージェントの枠組みを横断で比べたい場合は AIエージェントフレームワーク比較2026|LangGraph・CrewAI・Dify等9種をStar数・実コードで検証 を、Vercelというプラットフォーム側の全体像は Vercelとは?Next.js最適化サーバーレスからAI SDK・BotID・AI Gatewayまで2026年最新ガイド を参照すると、本記事の地図と接続できる。
バージョンと導入の入口
導入の入口は、Getting Startedの各フレームワーク向けページだ。 Next.js App Routerのページでは、まず必要なパッケージを入れる。
pnpm add ai @ai-sdk/react zod
aiがcore、@ai-sdk/reactがReact向けフック、zodが構造化出力やツールのスキーマ定義に使われる。
サーバー側のルートハンドラはstreamTextで組む。
import { streamText, UIMessage, convertToModelMessages } from "ai";
export async function POST(req: Request) {
const { messages }: { messages: UIMessage[] } = await req.json();
const result = streamText({
model: "anthropic/claude-sonnet-4.5",
messages: await convertToModelMessages(messages),
});
return result.toUIMessageStreamResponse();
}
フロント側はuseChatを呼ぶだけで、既定で同じAPIルートに繋がる。
"use client";
import { useChat } from "@ai-sdk/react";
const { messages, sendMessage } = useChat();
バージョンの現在地は冒頭で述べたとおりv6だ。
ai本体と各アダプタは別系列で番号が進み、2026-06-18時点で[email protected]・@ai-sdk/[email protected]・@ai-sdk/[email protected]などが公開されている。
旧バージョンからの移行にはcodemodパッケージが用意されていて、リポジトリ内にも@ai-sdk/codemod相当のツールが置かれている。
具体的なv5→v6の移行手順は、前掲の実装ガイド記事で扱っている。
想定ユースケースと制限事項
ai-sdk.dev の章立てから読み取れる得意分野は、おおむね次の3つだ。
・複数プロバイダを横断するチャット・補完アプリ。useChatとstreamTextの組でストリーミングUIを最短距離で組める
・ツールを使うエージェント。ToolLoopAgentとstopWhenでループ制御を任せられる
・構造化データ抽出。Output.object()とZodスキーマで、型安全な抽出と検証を同時に行える
一方で、ドキュメントの記述から読み取れる留保点もある。
・RSCは実験的。サーバー発のUIストリーミングは魅力だが、本番ではAI SDK UIが推奨される
・Telemetryも実験的で、将来仕様が変わりうる。観測の設計は変更前提で組むのが安全だ
・APIの細部は版で動く。aiとアダプタが別系列で頻繁に更新されるため、本記事のコード例も2026-06-18時点のドキュメント表記に基づく。最新の正確な仕様は必ずai-sdk.dev で確認してほしい
・本記事では埋め込み・画像・音声の各関数を地図上の存在として置くにとどめ、個別の引数は一次ソースの確認に委ねた
未確認の事項は本記事では断定しない。 プロバイダごとの細かな対応状況や、AI Gatewayの課金体系の詳細は、ai-sdk.dev とVercelの料金ページで確認する前提とする。
まとめ
ai-sdk.dev は、Foundations・Core・UI・RSC・Agents・Providersという章立て自体がAI SDKの設計図になっている。
中核はプロバイダ抽象とストリーミングを束ねる統一APIで、generateTextとstreamTextを入口に、構造化出力やツール、エージェントへと地続きに広がる。
本番のフロントはuseChat中心のAI SDK UI、RSCとTelemetryは実験的、という温度差まで含めて公式が明示している。
実装の手を動かす前にこの地図を持っておくと、どのページのどの関数を読めばよいかの当たりが付く。
具体的なコードは前掲の実装ガイドへ、概念の整理は本記事へ、という分担で読み進めてほしい。
参照ソース
・AI SDK 公式トップページ(Vercel)
・AI SDK Docs|Foundations / Overview
・AI SDK Docs|AI SDK Core / Overview
・AI SDK Docs|Providers and Models
・AI SDK Docs|Agents / Overview
・AI SDK Docs|AI SDK UI / Overview
・AI SDK Docs|AI SDK RSC / Overview
・AI SDK Docs|Telemetry
・vercel/ai GitHub リポジトリ(Apache-2.0)