Ollama と Fly.io Sprites: Ollama コネクタ経由でクラウドモデルを使ってAIエージェントを安全に実行する

Ollama Cloud が、AIエージェントを実行するために Fly.io が構築したサンドボックス化された Linux 仮想マシンである Fly.io Sprites の内部から使用できるようになりました。この統合は、新しい Ollama コネクタとして提供され、Ollama API キーを Fly.io 組織レベルで保存し、ゲートウェイで注入するため、サンドボックス内で実行されるエージェントが資格情報を保持することはありません。

この発表が重要なのは、エージェントのデプロイで通常混同される2つのことを分離するからです。それは、フロンティアモデルを呼び出す能力と、信頼できないモデル生成コマンドを安全に実行する能力です。Sprites は分離された実行環境を提供し、Ollama コネクタは Ollama のクラウドモデルへのスコープ付きでキー不要のアクセスを提供します。

Fly.io Sprites とは

Sprite は Fly.io のサンドボックスです。各 Sprite は独自のディスクを持つ完全な Linux 仮想マシンで、セッション間で永続化されます。

Claude Code、Codex、Gemini CLI がそのままサポートされており、エージェントは開発者のマシンではなくサンドボックス内でコマンドを実行できます。

利用可能な Ollama モデル

Ollama コネクタを使用すると、Sprites は Ollama のクラウドモデルを呼び出すことができます。発表では3つの例が挙げられています: kimi-k3、glm-5.3、deepseek-v4.1-flash。

Ollama コネクタが API キーを保護する方法

Ollama API キーを Fly.io 組織に追加すると、Fly.io がキーを暗号化し、API を通じて返すことはありません。

Sprite 内のコードが Ollama を呼び出すと、リクエストは Fly.io ゲートウェイを経由します。ゲートウェイはどの Sprite が呼び出しているかを確認し、リクエストにキーを追加します。Sprite 自体はゲートウェイ URL と接続 ID のみを知っています。

Ollama と Fly.io がこの設計について述べているセキュリティ特性は次のとおりです:

  • Sprite 内のエージェントはキーを漏洩できません。
  • 新しいコネクタはデフォルトですべての Sprite をブロックします。アクセスを許可する Sprite を選択できます: ラベル、名前プレフィックス、またはすべて。
  • 呼び出しは Sprite 内からのみ機能します。

セットアップ: Fly.io 組織への Ollama コネクタの追加

Ollama API キーと少なくとも1つの Sprite が必要です。

  1. Fly.io ダッシュボードで、Sprites、Connectors の順に開き、API キーを指定して Ollama コネクタを追加します。
  2. Access Configuration で、使用できる Sprite を選択して保存します。
  3. Sprite の横にある Test reachability をクリックして、Ollama に到達できるか確認します。

Sprite 内から curl で Ollama を呼び出す

コネクタページには、接続 ID が入力されたリクエストコマンドが表示されます。ゲートウェイがキーを追加するため、Authorization ヘッダーはありません。

curl "https://api.sprites.dev/v1/gateway/ollama/<connection_id>/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -d '{"model": "kimi-k3", "messages": [{"role": "user", "content": "Hello!"}]}'

Sprite 内から Python で Ollama を呼び出す

任意の OpenAI SDK が機能します。base_url をゲートウェイに設定し、api_key には任意の値を使用します。

from openai import OpenAI

client = OpenAI(
    base_url="https://api.sprites.dev/v1/gateway/ollama/<connection_id>/v1",
    api_key="unused",
)

response = client.chat.completions.create(
    model="glm-5.3",
    messages=[{"role": "user", "content": "Why is the sky blue?"}],
)
print(response.choices[0].message.content)

Ollama のネイティブな /api/* ルートもゲートウェイ経由で機能するため、既存の Ollama クライアントコードを OpenAI 互換パスに書き換える必要はありません。

コーディングエージェントは自動的に Ollama サポートを取得

Fly.io Sprites には、Claude Code、Cursor、Codex、Gemini CLI に Ollama を認識させるスキルが付属しています。Sprite がコネクタにアクセスできる場合、エージェントは追加設定なしで Ollama モデルを使用できます。

使用例: マルチモデルファジング

Fly.io は、複数のモデルを一緒に使用してファジングを行うガイドを公開しています。nemotron-3-nano:30b のような小さなモデルが不正な入力を生成し、Sprite がその入力をプログラムに対して実行し、kimi-k3 のような大きなモデルが結果のクラッシュを調べます。2つの役割を切り替えるには、リクエストの model フィールドを変更するだけです。

この統合の目的

Ollama コネクタは、エージェントが高性能なクラウドモデルと、敵対的または単に間違っている可能性のあるコードを実行する場所の両方を必要とするケースを対象としています。サンドボックスは分離と永続ディスクを提供し、ゲートウェイは資格情報とアクセスポリシーを提供します。エージェントも実行するコードも Ollama API キーを見ることはありません。

Sources