コンテンツにスキップ

AI SDK で任意モデルを指定

Agents SDK は標準で Responses API や Chat Completions API を介して OpenAI モデルと連携します。ただし、別のモデルを使用したい場合は、Vercel の AI SDK が提供する幅広い対応モデルを、このアダプターを通じて Agents SDK に取り込むことができます。

  1. 拡張機能パッケージをインストールして AI SDK アダプターを導入します:

    Terminal window
    npm install @openai/agents-extensions
  2. Vercel の AI SDK から使用したいモデルのパッケージを選び、インストールします:

    Terminal window
    npm install @ai-sdk/openai
  3. アダプターとモデルをインポートしてエージェントに接続します:

    import { openai } from '@ai-sdk/openai';
    import { aisdk } from '@openai/agents-extensions/ai-sdk';
  4. エージェントで使用するモデルのインスタンスを初期化します:

    const model = aisdk(openai('gpt-5-mini'));
AI SDK のセットアップ
import { Agent, run } from '@openai/agents';
// Import the model package you installed
import { openai } from '@ai-sdk/openai';
// Import the adapter
import { aisdk } from '@openai/agents-extensions';
// Create a model instance to be used by the agent
const model = aisdk(openai('gpt-5-mini'));
// Create an agent with the model
const agent = new Agent({
name: 'My Agent',
instructions: 'You are a helpful assistant.',
model,
});
// Run the agent with the new model
run(agent, 'What is the capital of Germany?');

プロバイダー メタデータの受け渡し

Section titled “プロバイダー メタデータの受け渡し”

メッセージにプロバイダー固有のオプションを送る必要がある場合は、providerMetadata を通して渡します。値は基盤となる AI SDK モデルにそのまま転送されます。たとえば、Agents SDK で次の providerData

providerData: {
anthropic: {
cacheControl: {
type: 'ephemeral';
}
}
}

は、AI SDK 連携を使用する場合は次のようになります

providerMetadata: {
anthropic: {
cacheControl: {
type: 'ephemeral';
}
}
}

@openai/agents-extensions/ai-sdk-ui は、Agents SDK のストリームを AI SDK UI ルートに接続するためのレスポンスヘルパーを提供します:

  • createAiSdkTextStreamResponse(source, options?): プレーンテキストのストリーミングレスポンス
  • createAiSdkUiMessageStreamResponse(source, options?): UIMessageChunk のストリーミングレスポンス

どちらのヘルパーも StreamedRunResult、ストリーム互換のソース、または互換ラッパーオブジェクトを受け取り、ストリーミングに適したヘッダー付きの Response を返します。

エンドツーエンドの使用例については、このリポジトリ内の examples/ai-sdk-ui アプリを参照してください。