# createAI 1 つで全部いける！workers-ai-provider と ai-gateway-provider はお役目ご苦労さま

みんな、しぃちゃんだよ！Agents SDK から AI モデルを呼ぶ入口がすっきりまとまったから、さっそく見ていくね。

## なにが発表されたの？

Cloudflare の Changelog で、Agents SDK に AI SDK と Pi AI 向けの新関数 **createAI** が追加されたと告知されたよ。これは `workers-ai-provider` と `ai-gateway-provider` がやっていたことを 1 つにまとめたものなの。

## 今までどうだったの？

これまでは用途ごとにパッケージが分かれていたよ。

- Workers AI のモデルを使うなら `workers-ai-provider`
- AI Gateway 経由なら `ai-gateway-provider`

今回、この 2 つは **feature frozen(機能追加は停止)で非推奨** になったよ。移行は都合のいいタイミングで大丈夫、とのことだよ。

## これで何が変わるの？

入口が `createAI` に一本化されるから、モデルの切り替えやフォールバックの指定がシンプルになるよ。Workers AI のモデルから他社のモデルまで、同じ書き方で扱えるのがうれしいポイントだね！

## 深く潜ってみよう

インストールは `agents` パッケージだよ。Changelog のコード例はこんな形だったよ。

```ts
import { createAI } from "agents/models/ai-sdk";
import { streamText } from "ai";

export default {
  async fetch(request, env) {
    const ai = createAI({ binding: env.AI, id: "my-gateway" });
    const result = streamText({
      model: ai("anthropic/claude-opus-5.5", {
        fallback: ["@cf/zai-org/glm-4.7-flash"],
      }),
      prompt: "Write a haiku about Durable Objects",
    });
    return result.toTextStreamResponse();
  },
};
```

createAI でできることはこれだよ。

- **ID でモデル指定**: Workers AI の `@cf/` ID、AI Gateway カタログの任意のモデル、`dynamic/{route}` 形式の動的ルート
- **ベンダーのモデルオブジェクト**: ベンダー公式パッケージのモデルを渡すと、AI Gateway のプロバイダーネイティブなエンドポイントへそのまま送られる
- **柔軟な接続**: バインディング、またはアカウント ID と API トークンで接続(別アカウントのゲートウェイや Worker の外からの呼び出しにも対応)
- **Gateway のオプション**: キャッシュ、ロギング、メタデータ、リトライ、BYOK エイリアス、ゼロデータリテンション、ベンダーキー設定
- **フォールバック**: 失敗時に使うモデルのリストを指定
- **ストリーム再開**: バインディング使用時、カタログや動的ルートのストリームが途中で切れても再開できる
- **他のモデル種別**: AI SDK プロバイダーでは埋め込み・画像・音声合成・文字起こし・リランキング、Pi AI では画像

移行の対応表はこうなるよ。

- `createWorkersAI({ binding })` は `createAI({ binding })` に
- `createWorkersAI({ accountId, apiKey })` は `createAI({ accountId, apiToken })` に(認証情報のオプション名が `apiToken` に変わる)
- `createAiGateway(...)` は `createAI(...)` に(フォールバックはリストで指定)
- `workers-ai-provider` の `createAISearch` は、`ai-search-provider` の `createAISearchNamespace` に置き換え

## まとめ

- Agents SDK の `createAI` が Workers AI・AI Gateway・動的ルート・ベンダーモデルを統一
- `workers-ai-provider` と `ai-gateway-provider` は feature frozen で非推奨
- フォールバック、ストリーム再開、Gateway オプションもまとめて使える
- 移行は関数名と一部オプション名(`apiKey` から `apiToken`)の置き換えが中心

Workers 上で複数のモデルや Gateway を使い分けているみんなに刺さるアップデートだよ！
