mcpField
A
ai-sdk-core-v7

ai-sdk-core-v7

github.com/blockmatic開発1224 回インストール4 週間前に更新
リポジトリ

ai-sdk-core-v7 について

Vercel AI SDK v7 を使うバックエンド開発者向けのスキルです。テキスト生成、ストリーミング、ツールを使うエージェントについて、バージョンに沿った指針とテンプレートを提供します。

主な機能

  1. 01SDKのバージョンに沿った指針
  2. 02テキスト生成とストリーミングのパターン
  3. 03ツールループとエージェントの指針
  4. 04クライアントメッセージの安全規則
  5. 05バックエンドコードのテンプレート

活用シーン

  1. 01generateTextによるリクエストハンドラーの実装
  2. 02ストリーミングチャットエンドポイントの構築
  3. 03永続的なエージェントへのツール追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/blockmatic/basilic-skills --skill ai-sdk-core-v7

インストール後、Claude Code で/ai-sdk-core-v7を入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
request-handlers.md
templates/
agent-with-tools.ts
generate-text-basic.ts
stream-text-chat.ts

詳細

スキル:ai-sdk-core

適用範囲

  • 対象:Vercel AI SDK v7(ai package)を使用したバックエンド AI
  • 対象外:React チャット UI(ai-sdk-ui を参照)

前提条件

  • フォルダーのメジャーバージョンは、スキルファイルのリビジョンではなく、package.json にインストールされている ai package に対応します
  • Node.js 22 以降、ESM、inputSchema には Zod 4
  • AI SDK のコードを記憶だけで書かないでください。 インストール済みバージョンの node_modules/ai/docs/ と node_modules/ai/src/ を grep してください。それ以外の場合は https://ai-sdk.dev/docs(`.md` を追加)または https://ai-sdk.dev/api/search-docs?q= を参照してください
  • v6 の残存事項:https://ai-sdk.dev/docs/migration-guides/migration-guide-7-0

原則

  • リクエストハンドラーや単発の API ルートには generateText / streamText を使用します。システム形式のプロンプトには instructions を使用します
  • リクエストハンドラーのツールループでは、generateText / streamText に stopWhen: isStepCount(n) を指定します。maxSteps や stepCountIs は使用しません
  • 長時間動作するエージェントには ToolLoopAgent と generate() / stream() を使用します。手書きのループや new Agent() は使用しません
  • UI ストリームには、'ai' の createUIMessageStreamResponse と toUIMessageStream({ stream: result.stream }) を使用します。新しいハンドラーや、ストリーミング/SDK の専用アップデートではこれらを使用します
  • v7 では result.toUIMessageStreamResponse() も引き続き動作します(非推奨)。タスクがストリーミングや SDK に関係しない場合に限り、そのまま残してください
  • ツールの結果は JSON にシリアライズ可能である必要があります(Date は不可)
  • システムプロンプトは instructions に記述します。サーバーがペイロードを完全に信頼している場合を除き、クライアントの messages に { role: 'system' } を含めてはいけません

制約

必須
  • 呼び出しを記述する前に、同梱ドキュメントを読む
  • クライアントが UI メッセージを送信する場合は convertToModelMessages を使用する
  • messages 内の信頼できない { role: 'system' } を拒否する。クライアントから送信されたチャットに対して allowSystemInMessages: true を設定しない
回避
  • toDataStreamResponse / pipeDataStreamToResponse
  • stepCountIs / maxSteps / result.fullStream / トップレベルの system:(isStepCount、result.stream、instructions を使用)
  • モデル ID の推測

関連項目

テンプレート

リファレンス

コメント