4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Node.js】 Mastra で Vercel AI SDK 5 を使う場合の情報を調べて軽いお試しもやってみた(現状ベータ版)

Last updated at Posted at 2025-08-04

はじめに

以下の記事を書くきっかけになった話についての記事で、具体的には Mastra で Vercel AI SDK 4(v4)ではなく v5 を使うという話です。

●【Node.js】 Vercel AI SDK 5 でのモデル指定関連の機能を試す: グローバルプロバイダーのカスタマイズ - Qiita
 https://qiita.com/youtoy/items/f5b49fe5b709da22a6fc

Mastra のお試しを久しぶりにやろうとして、Vercel AI SDK の v4・v5 の周りの話が出てきたので、Mastra のお試しをやる前に上記を試した流れがありました。

Mastra で Vercel AI SDK 5(v5)を使う話

今回、過去のお試しで使った(記事も書いたりしていた) Mastra について、これまでの Vercel AI SDK 4 がベースになっているものと、最近の v5 がベースのもの(記事執筆時点でベータ版)をそれぞれ使ってみる、ということをやります。

●Vercel AI SDKとの使用
 https://mastra.ai/ja/docs/frameworks/agentic-uis/ai-sdk

image.png

この画像に出ているように、AI SDK v5 (beta) という内容や、以下のVercel AI SDK 5 の公式情報にリンクなどした形の移行ガイドが公式で掲載されていたりします。

image.png

記事執筆時点では、上記のページで「プレリリース状態: Mastraのai-v5タグはプレリリース版であり、バグが含まれる可能性があります」という記載があるので、Mastra側としては Vercel AI SDK 5 との組み合わせはベータ版になっている状況のようです。
(Vercel AI SDK 5 の正式リリースが直近のようなので、もう少しすると正式版になるかも、とも思いつつ)

Vercel側での記載

ちなみに Vercel側の公式ドキュメントの「Community Frameworks > Mastra」の部分](https://vercel.com/docs/ai-gateway/community-frameworks/mastra)を見ていくと、その中の 「Upgrade dependencies という部分」では、以下の v5 の内容が記載されている状況でした。

image.png

試してみる

さっそく試してみます。

内部的に Vercel AI SDK 4 が使われているものと、Vercel AI SDK 5 が使われているうものとを、それぞれ試してみます。

パッケージのインストール

パッケージのインストールについて、情報を見てみます。移行戦略 > 依存関係のアップグレード」という部分を見てみると、v5関連は以下となっています。

image.png

インストール用のコマンドは、npm の場合は以下でした。

npm install mastra@ai-v5 @mastra/core@ai-v5 @mastra/memory@ai-v5

ちなみに、過去のお試しの 1つをピックアップしてみると、npm でのパッケージのインストールは以下のようになっていました。

●Mastra でシンプルな MCPクライアント・MCPホストの機能を作って Node.js で実行(自作MCPサーバーと組み合わせる) - Qiita
 https://qiita.com/youtoy/items/062165c2918cfdbc5590

image.png

コアのパッケージは「 @mastra/core@mastra/core@ai-v5 」となるようです。また、プロバイダーのパッケージは、後で少し補足しますが「 @ai-sdk/openai@1@ai-sdk/openai 」となるようです。

v5用のインストール

v5用のインストールは以下のとおりです。

npm install @mastra/core@ai-v5 @ai-sdk/openai

先ほどの @mastra/core@ai-v5 というものを使っています。ちなみに npm ls を実行して得られる情報は以下の通りです。

image.png

v4用のインストール

次に v4用のインストールです。

npm install @mastra/core @ai-sdk/openai@1

こちらは @ai-sdk/openai@1 という指定を使っています。これは @1 を使わなかった場合に以下のエラーが出たためです。

image.png

どうやら記事執筆時点の @mastra/core を使うと、内部的には Vercel AI SDK 4 が使われており、その場合に @ai-sdk/openai でインストールされる v2 と互換性がない状態になるようでした。それで @ai-sdk/openai の v1 を指定してインストールしてみました。

こちらで npm ls を実行して得られる情報は以下の通りです。

image.png

追加の下準備

パッケージのインストールをした後は、APIキーの設定も行っておきます。

今回は OpenAI のプロバイダーを使うので、環境変数 OPENAI_API_KEY に OpenAI の APIキーをセットしておきます。

お試し用のコードと実行結果

今回のお試し用のコードは、以下のとおりです。コードは v5用と v4用は共通で、内容はシンプルなエージェントを使った受け答えにしています。

import { Agent } from "@mastra/core/agent";
import { openai } from "@ai-sdk/openai";

(async () => {
  const agent = new Agent({
    name: "Simple Agent",
    instructions: "ユーザーの質問に対して、シンプルに答えてください。",
    model: openai("o4-mini"),
  });

  const response = await agent.generate("あなたは誰?3行で答えて。");

  console.log(response.text);
})();

以下に実行結果を示します。

v5 の出力

v5 の出力は以下となりました。

image.png

問題なく回答が得られています。

v4 の出力

次に v4 の出力で、内容は以下となりました。

image.png

こちらも問題なく回答が得られています。

今回の内容は以上になります。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?