コンテンツにスキップ

AI SDK で任意モデルを指定

Agents SDK は標準で Responses API または Chat Completions API を通じて OpenAI モデルと連携します。ただし、別のモデルを使用したい場合は、このアダプターを介して Agents SDK に取り込める、Vercel の AI 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';
  4. エージェントで使用するモデルのインスタンスを初期化します:

    const model = aisdk(openai('gpt-5-mini'));
AI SDK Setup
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 アプリを参照してください。