大規模言語モデル (LLM) は信じられないほどの生成能力を備えていますが、離散タスクや外界とのやり取りには苦労します。ツールは LLM が実行できるアクションです。これらのアクションの結果は、次のレスポンスで考慮されるように LLM にレポートされます。
Vercel AI SDK 6.x : 基礎 – ツール
作成 : Masashi Okumura (@classcat.com)
作成日時 : 01/04/2026
バージョン : ai@6.0.6
* 本記事は ai-sdk.dev/docs の以下のページを参考にしています :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

Vercel AI SDK 6.x : 基礎 – ツール
大規模言語モデル (LLM) は信じられないほどの生成能力を備えていますが、離散タスク (e.g. 数学) や外界とのやり取り (e.g. 天気の取得) には苦労します。
ツールは LLM が実行できるアクションです。これらのアクションの結果は、次のレスポンスで考慮されるように LLM にレポートされます。
例えば、LLM に「ロンドンの天気」を問い合わせ、天気ツールが利用可能な場合、それはロンドンを引数としてツールを呼び出すことができるでしょう。するとツールは天気データを取得して LLM に返します。LLM はレスポンスでこの情報を使用できます。
What is a tool?
ツールは、特定のタスクを遂行するためにモデルにより呼び出せるオブジェクトです。tools パラメータに一つまたはそれ以上のツールを渡すことにより、generateText と streamText でツールを使用できます。
ツールは 3 つのプロパティで構成されます :
- description: オプションのツールの説明で、ツールが選択される際に影響を与えます。
- inputSchema: Zod スキーマ または JSON スキーマ でツールの実行に必要な入力を定義します。スキーマは LLM により消費され、LLM ツール呼び出しを検証するためにも使用されます。
- execute: オプションの非同期関数で、ツール呼び出しの引数で呼び出されます。
LLM がツールの使用を決定した場合、ツール呼び出しを生成します。これらの呼び出しが生成されると、execute 関数を持つツールが自動的に実行されます。ツール呼び出しの出力は tool result オブジェクトを使用して返されます。
streamText と generateText による マルチステップ呼び出し を使用して、ツールの結果を LLM に自動的に渡すことができます。
スキーマ
スキーマは、ツール入力、ツール出力、構造化出力生成の定義と検証のために使用されます。
AI SDK は以下のスキーマをサポートしています :
- 直接に ZodzodSchema() 経由
- @ai-sdk/valibot の valibotSchema() 経由で Valibot
- 標準 JSON スキーマ 互換のスキーマ
- jsonSchema() 経由の raw JSON スキーマ
ツール・パッケージ
ツールが JavaScript オブジェクトである場合、他ライブラリのように npm でパッケージ化して配布できます。これは、再利用可能なツールをプロジェクト間やコミュニティで共有することを容易にします。
既製のツールパッケージの利用
ツールパッケージをインストールして必要なツールをインポートします :
pnpm add some-tool-package
それからそれらを generateText, streamText やエージェント定義に直接渡します :
import { generateText, stepCountIs } from 'ai';
import { searchTool } from 'some-tool-package';
const { text } = await generateText({
model: 'anthropic/claude-haiku-4.5',
prompt: 'When was Vercel Ship AI?',
tools: {
webSearch: searchTool,
},
stopWhen: stepCountIs(10),
});
独自ツールの公開
独自のツールパッケージを npm に公開して他の人が利用できるようにします。単純にユーザのパッケージからツールオブジェクトをエクスポートするだけです :
// my-tools/index.ts
export const myTool = {
description: 'A helpful tool',
inputSchema: z.object({
query: z.string(),
}),
execute: async ({ query }) => {
// your tool logic
return result;
},
};
すると、インポートすることで誰でもそのツールをインストールして使用できるようになります。
始めるには、AI SDK ツール・パッケージ・テンプレート を利用できます、これは独自ツールを公開するためにすぐに使える出発点を提供します。
ツールセット
ツールを使用する場合、通常はアプリケーション固有のツールと汎用ツールを組み合わせる必要があります。コミュニティはツールの構築と使用を支援するために様々なツールセットとリソースを作成しました。
Ready-to-Use ツール・パッケージ
これらのパッケージは、インストールしてすぐに使える、事前ビルド済みツールを提供します :
- @exalabs/ai-sdk – AI が Web を検索してリアルタイム情報を取得できる Web 検索ツール。
- @parallel-web/ai-sdk-tools – リアルタイム情報とコンテンツ抽出のための Parallel Web API により強化された Web 検索と抽出ツール。
- @perplexity-ai/ai-sdk – Perplexity の検索 API により強化された、リアルタイムな結果と高度なフィルタリングにより Web 検索します。
- @tavily/ai-sdk – エンタープライズ・グレードのエージェントが Web をリアルタイムに探索するための検索、抽出、クロール、マッピングツール。
- Stripe エージェントツール – Stripe とやり取りするためのツール。
- StackOne ToolSet – 数百のエンタープライズ SaaS プラットフォームのエージェント型統合。
- agentic – Exa や E2B のような外部 API に接続する 20+ のツールのコレクション。
- Amazon Bedrock AgentCore – ブラウザ (エージェントが Web アプリケーションとやり取りし、フォームに入力し、Web サイトにナビゲートし、情報を抽出することを可能にする、高速で安全なクラウドベースのブラウザ・ランタイム) とコード・インタープリター (エージェントが Python, JavaScript, TypeScript のコードを実行し、精度を高め、複雑な end-to-end タスクを解決する能力を強化するための、分離されたサンドボックス環境) を含むフルマネージド型 AI エージェントサービス。
- @airweave/vercel-ai-sdk – AI エージェント向けの 35+ データソース (Notion, Slack, Google Drive, データベース等) にわたる、統一されたセマンティック検索。
- Composio – GitHub, Gmail, Salesforce 等のような 250+ ツール。
- JigsawStack – 特定の用途向けに利用可能な、30+ の微調整された小さいカスタムモデル。
- AI ツール・レジストリ – AI SDK 用の Shadcn 互換ツール定義とコンポーネント・レジストリ。
- Toolhouse – 25 以上の様々なアクションに対する、3 行のコードでの AI 関数呼び出し。
MCP ツール
これらは MCP サーバとして利用可能な事前構築済みツールです。
- Smithery – Browserbase や Exa を含む、6,000+ MCP のオープンマーケットプレイス。
- Pipedream – アプリケーションや AI エージェントに 3,000+ 統合を簡単に追加できる開発者ツールキット。
- Apify – Web スクレイピング、データ抽出、ブラウザ自動化のための数千のツールのマーケットプレイスを提供します。
ツール構築チュートリアル
これらのチュートリアルとガイドは、特定のサービスと統合する、独自ツールを構築するのに役立ちます :
- browserbase – ヘッドレスブラウザを実行するブラウザツールを構築するためのチュートリアル。
- browserless – ブラウザ自動化 (セルフホストまたはクラウドベース) を統合するためのガイド。
- AI Tool Maker – OpenAPI 仕様から AI SDK ツールを生成するための CLI ユティリティ。
- Interlify – API をツールに変換するためのガイド。
- DeepAgent – 50+ の AI ツールと統合のスイートで、Tavily, E2B, Airtable や その他 の API とシームレスに接続できます。
以上