
ClaudeでFactory Droidを実行
FactoryのDroidはClaude Codeと同系統のエージェント型CLIで、設定ファイルを通じて独自のモデルを使用できます。接続先をAI Prime Techゲートウェイにすると、ゲートウェイが提供するほかのモデルとともに、ClaudeでDroidのエージェントループを実行できます。
設定ファイルを編集する
Droidは~/.factory/settings.jsonを読み込みます。使用可能にしたいモデルごとにエントリーを記述するcustomModels配列を追加してください。これが現在の設定ファイルのパスです。旧来のconfig.jsonはレガシー形式で、settings.jsonの機能すべてには対応していません。
Droidの設定全体を単一のファイルで管理するため、単一のcustomModelsリストでCLIが切り替えられるすべてのモデルを定義します。プロジェクトごとではなく、ユーザーレベルで管理してください。
現在使うファイルがsettings.jsonだと知っておけば、混乱を大きく減らせます。古いメモやスレッドでは今もconfig.jsonが参照されており、一部の機能は両者で動作が異なるためです。一方では動作してもう一方では動作しない場合、ほとんどの場合はsettings.jsonを信頼すべきです。説明が食い違う場合は、config.jsonよりsettings.jsonを優先すれば、その大半は解決します。Factoryが現在積極的にサポートしているのは新しいファイルであり、変数構文が実際に機能するのもこちらです。
モデルを定義する
各customModelsエントリーには、モデルID、baseUrl、apiKey、provider、maxOutputTokensを指定します。modelをclaude-sonnet-4-5などのゲートウェイのIDに、baseUrlをゲートウェイのホストに設定してください。
これらのフィールドを組み合わせることで、モデルへの接続方法をDroidに正確に伝えます。Droidは単一のプロバイダーを前提としていないため、各要素を明示的に指定します。これによって、ゲートウェイを接続先にできる柔軟性が生まれます。
この明示的な指定により、単一のDroid環境から同じゲートウェイ上の複数のClaudeモデルを利用できます。各モデルを個別のcustomModelsエントリーとして定義し、baseUrlとキーを共有します。上流ではすべて同じエンドポイントに接続しますが、CLIはそれぞれを個別に選択できるモデルとして扱います。単一の環境から単一のエンドポイントを通じて複数のClaudeモデルを利用できるのは、まさに各フィールドを明示的に指定するためです。各エントリーはbaseUrlとキーを共有しながら独自のモデルIDを保持するので、ルーティングはゲートウェイが行い、Droidは名前を選ぶだけです。
プロバイダーモードを選ぶ
providerフィールドは通信形式を設定します。ゲートウェイのネイティブなMessagesインターフェースにはanthropic、Responses形式にはopenai、OpenAI形式の/v1チャットエンドポイントにはgeneric-chat-completion-apiを使用します。ゲートウェイ上のClaudeにはanthropicが自然な選択です。
providerをゲートウェイが実際に提供するインターフェースに合わせることで、初回実行時のエラーを防げます。providerをanthropicにすると、DroidはゲートウェイがClaude向けに提供するネイティブ形式で通信します。
これらのプロバイダーモードは、複数モデル対応のゲートウェイが公開できるインターフェースにも適切に対応しています。そのため、同じゲートウェイがOpenAI形式のモデルを提供している場合は、generic-chat-completion-apiを使う別のエントリーとして追加します。各エントリーのproviderをそのインターフェースに合わせることが、混在する設定でエラーを防ぐための原則です。すべてのエントリーでproviderをインターフェースに合わせることが、混在するゲートウェイ設定を適切に保つための原則です。ネイティブなClaudeのエントリーとOpenAI形式のエントリーは問題なく共存できます。
APIキーを設定する
キーはapiKeyに指定します。シークレットをファイルではなく環境内に保持できるよう、できれば${AIPRIME_API_KEY}などの${VAR}参照を使用してください。${VAR}の展開はsettings.jsonでは機能しますが、レガシーのconfig.jsonでは機能しない点に注意してください。
技術的には匿名リクエストを受け付けるゲートウェイであっても、apiKeyフィールドを空にすることはできません。Droidはこのフィールドに値があることを検証するため、必ずキーまたはキーを保持する変数を指定してください。
この両方の条件から、よくあるつまずきの原因がわかります。古いconfig.jsonに${VAR}を記述すると、そこでは展開されないため、Droidは未解決の文字列をそのまま読み取ります。変数形式にはsettings.jsonを使い、Droidを起動するシェルで変数が実際にエクスポートされていることを確認してください。起動元のシェルで変数がエクスポートされているかの確認は、最後に見落とされがちな点です。Droidが参照できるのは、起動時の環境に存在する変数だけです。
切り替えて実行する
Droid CLI内で、/modelコマンドを使って設定済みのモデルを切り替えます。claude-opus-4-8用の別のエントリーを追加しておけば、設定を再び変更することなく、より難しいタスク向けにそのモデルへ切り替えられます。
その後、Droidはゲートウェイ上のClaudeに対してエージェントループを実行します。設定はsettings.jsonに保存されているため、CLIを起動するたびに同じ設定が適用されます。
SonnetとOpusの両方のエントリーを用意しておけば、着実な実装にはSonnet、より高度な推論が必要な問題にはOpusというように、その場でタスクに合わせてモデルを選べます。すべてゲートウェイ経由で利用でき、再設定は不要です。/modelによる切り替えなら、セッションの途中でもコマンドを入力するだけで変更できます。セッションの途中に/modelコマンドを入力するだけで切り替えられるため、タスクに合わせたモデル選びが手軽になります。セッションを離れることなく、SonnetからOpusへ移行できます。
// ~/.factory/settings.json
{
"customModels": [
{
"model": "claude-sonnet-4-5",
"baseUrl": "https://aiprimetech.io",
"apiKey": "${AIPRIME_API_KEY}",
"provider": "anthropic",
"maxOutputTokens": 8192
}
]
}
// export AIPRIME_API_KEY=<key> (apiKey must NOT be empty)
// Switch models in the CLI with /modelよくある質問
ClaudeでFactory Droidを動かすにはどうすればよいですか?
Claudeにはどのprovider値を使いますか?
apiKeyを空にできますか?
モデルを切り替えるにはどうすればよいですか?
APIキーを取得 — Anthropicアカウントもウェイトリストへの登録も不要です。
APIキーを取得AI Prime Techは独立したAPIゲートウェイです。Anthropicとの提携関係はなく、同社の承認を受けておらず、同社の再販業者でもありません。Claudeおよび関連するモデル名は、それぞれの所有者の商標です。