なぜチャンネル別にモデルを設定するのか
異なるチャットシーンにはAIモデルに対する異なるニーズがあります。技術サポートチャンネルには複雑な問題に答えるための最も強力な推論モデルが必要かもしれませんが、雑談チャンネルには高速で経済的なモデルで十分です。同様に、国内ユーザー向けのチャンネルには通義千問やGLMなどの中国語最適化モデルが適しており、海外チャンネルにはClaudeやGPTが適しているかもしれません。
OpenClawはチャンネル(またはチャットプラットフォーム)別に異なるAIモデルの設定をサポートしており、各チャンネルの実際のニーズに最適なモデルを選択できます。この柔軟性は、OpenClawのプロバイダー非依存(provider-agnostic)アーキテクチャのコア優位性の一つです。
基本設定構造
OpenClawのモデル設定はグローバルデフォルトとチャンネルレベルのオーバーライドの2つの層で構成されます。グローバルデフォルトは agents.defaults で定義し、チャンネルレベルの設定は特定のチャンネルに対してオーバーライドします。
グローバルデフォルト設定
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-5"
}
}
}
}
これはすべてのチャンネルのデフォルトモデルです。特定のチャンネルに個別の設定がなければ、このデフォルト値が使用されます。
チャンネル別のオーバーライド
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-5"
}
},
"channels": {
"discord-tech-support": {
"model": {
"primary": "anthropic/claude-opus-4-5",
"fallback": "openai/gpt-4o"
}
},
"discord-casual-chat": {
"model": {
"primary": "openai/gpt-4o-mini"
}
},
"telegram-cn-group": {
"model": {
"primary": "qwen/qwen-max",
"fallback": "glm/glm-4"
}
},
"slack-dev-team": {
"model": {
"primary": "bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0"
}
}
}
}
}
この設定では以下のようになります。
- 技術サポートチャンネルは最強のClaude Opusモデルを使用し、複雑な問題に高品質な回答を保証。
- 雑談チャンネルは軽量なGPT-4o-miniを使用し、基本的な対話品質を維持しつつコストを削減。
- 中国語グループは通義千問を使用してその中国語理解の強みを活かし、GLMをバックアップとして設定。
- 開発チームチャンネルはBedrock経由でClaudeを使用し、AWSのエンタープライズセキュリティ保証を享受。
プラットフォーム別の設定
個別のチャンネル設定に加え、チャットプラットフォーム全体で設定することもできます。
{
"agents": {
"platforms": {
"discord": {
"model": {
"primary": "anthropic/claude-opus-4-5"
}
},
"telegram": {
"model": {
"primary": "qwen/qwen-max"
}
},
"slack": {
"model": {
"primary": "openai/gpt-4o"
}
}
}
}
}
設定の優先順位は高い順に:チャンネルレベル設定 > プラットフォームレベル設定 > グローバルデフォルト設定です。
実際のアプリケーションシーン
シーン1:多言語コミュニティ
多言語コミュニティを運営している場合、言語別にモデルを割り当てられます。
- 中国語チャンネルは
qwen/qwen-maxまたはglm/glm-4を使用。 - 英語チャンネルは
anthropic/claude-opus-4-5を使用。 - 日本語チャンネルは
openai/gpt-4oを使用。
シーン2:コスト階層化
チャンネルの重要度と使用頻度に応じて異なるコストのモデルを割り当て。
- VIPユーザーチャンネルはフラッグシップモデル(Claude Opusなど)を使用。
- 一般ユーザーチャンネルはコストパフォーマンスの高いモデル(GPT-4o-miniなど)を使用。
- テストチャンネルは低コストモデルやローカルOllamaモデルを使用。
シーン3:機能マッチング
チャンネルの機能要件に応じてモデルを選択。
- コードアシスタントチャンネルはプログラミングに長けたモデルを使用。
- クリエイティブライティングチャンネルは
minimax/abab6.5s-chatを使用。 - プライバシー重視チャンネルは
venice/llama-3.3-70bを使用。 - ドキュメント処理チャンネルは
moonshot/moonshot-v1-128kロングコンテキストモデルを使用。
チャンネル別の独立したフェイルオーバー
各チャンネルのモデル設定に独立したフェイルオーバーチェーンを持たせることができます。
{
"agents": {
"channels": {
"important-channel": {
"model": {
"primary": "anthropic/claude-opus-4-5",
"fallback": "bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0",
"fallback2": "openai/gpt-4o"
}
},
"budget-channel": {
"model": {
"primary": "openai/gpt-4o-mini",
"fallback": "ollama/llama3.2"
}
}
}
}
}
重要なチャンネルには3段階のフェイルオーバーを設定して最大の可用性を確保し、予算が限られたチャンネルにはローカルOllamaモデルをバックアップとして使用します。
動的モデル切り替え
OpenClawのプロバイダー非依存アーキテクチャは、サービスの再起動なしにいつでもチャンネルのモデル設定を変更できることを意味します。openclaw.json でチャンネルのモデル設定を更新すると、新しいリクエストは自動的に更新後のモデルを使用します。
この柔軟性により以下が可能になります。
- モデルプロバイダーのキャンペーン期間中に一時的によりお得なモデルに切り替え。
- 新しいモデルのリリース時に他のチャンネルに影響を与えずに素早く試用。
- リアルタイムのコスト監視に基づいてモデル割り当てを動的に調整。
設定の検証
チャンネルレベルのモデル設定を完了した後は、特定のモデルが設定された各チャンネルでテストメッセージを送信して以下を検証することを推奨します。
- 各チャンネルが指定されたモデルを正しく使用しているか。
- フェイルオーバーチェーンが期待どおりに動作するか。
- 異なるモデルの応答品質がそのチャンネルのニーズを満たしているか。
OpenClawログのルーティング情報を確認すれば、各リクエストが実際に使用したプロバイダーとモデルを確認できます。
チャンネル別に異なるモデルを設定することで、OpenClawのマルチプロバイダーアーキテクチャの利点を最大限に活かし、各利用シーンに最適なモデルソリューションを選択できます。