モデルと推論
ターンの費用と質を左右する選択は 2 つあります。モデルと、モデルがどれだけ推論するかです。どちらも New chat(新しいチャット)ダイアログで選び、さらに各メッセージの前に入力欄でも選べます。このページでは、選択欄、各プロバイダーのモデル一覧の取得元、effort の値の意味を説明します。プロバイダーの設定は各プロバイダーのページに、ダイアログの項目ごとの説明は会話を始めるにあります。
選択する場所 #
| 場所 | 設定するもの |
|---|---|
| New chat ダイアログ | まだ存在しない会話のモデルと Reasoning effort です。 |
| 入力欄のモデルの選択欄 | 次のメッセージのモデルです。ツールチップには Model(モデル)と表示されます。 |
| 入力欄の effort の選択欄 | 次のメッセージの reasoning effort です。ツールチップには Reasoning effort と表示され、画像モデルでは Quality(品質)と表示されます。 |
| 入力欄の Context window(コンテキストウィンドウ)の選択欄 | モデルに複数のコンテキストサイズがある場合の、モデルのコンテキストサイズです。画像モデルでは画像サイズです。 |
会話の ⋯ メニューにある 🤗 Select Models(モデルを選択) |
これらすべての一覧にどのモデルを表示するかです。 |
会話は 1 つのプロバイダーを使うため、入力欄にはそのプロバイダーが提供するモデルだけが表示されます。モデルと effort はメッセージごとに適用されます。送信を押す前に選んだものが、そのメッセージで使われます。会話は最後に使ったモデルと effort を覚えており、ブラウザーはどこかで最後に選んだものを覚えています。新しいチャットはブラウザーが覚えているものから始まります。覚えている effort が切り替え先のモデルにない場合は、そのモデルが提供する最も近い effort が代わりに使われます。Ultracode がこの方法で選ばれることはありません。
まだメッセージのない会話では、プロバイダーが対応していれば、選択欄に Auto(自動)も表示されます。最初のメッセージの後は Auto が無効になり、ツールチップに「Auto is available only for a new conversation」と表示されます。
会話の途中でのモデル変更 #
プロバイダーによって異なります。モデルが固定されている場合、選択欄にはモデルがロックされた項目(🔒)として表示され、変更できません。
| プロバイダー | メッセージ間でのモデル変更 |
|---|---|
| GitHub Copilot | はい。どちらのエンジンでも変更できます。 |
| OpenAI | 最初のメッセージまでです。その後はモデルが固定されます。 |
| Claude | はい。 |
| Claude API 0.9.18 で追加 | はい。課金の切り替えではモデルが保たれ、切り替え先がそのモデルを一覧に載せていない場合は拒否されます。 |
| Claude Cloud | はい。次のメッセージの前にサンドボックスが切り替わります。 |
| Cursor | はい。 |
| Grok | いいえ。モデルはチャットの作成時に決まります。 |
| DeepSeek | はい。次のメッセージの前に、チャットの Claude Code が新しいモデルで再起動します。チャットに画像が含まれるようになると、画像入力に対応しないモデルへの切り替えは拒否されます。 |
OpenAI と Grok では、最初のメッセージ以降、選択欄がロックされます。リレーは別の Grok モデルを「Grok model switching requires creating a new Grok conversation」で拒否します。モデルが固定されるプロバイダーで別のモデルを使うには、新しい会話を始めます。入力欄の上の注記に、固定されたモデルの名前が表示されます。1 つの会話に 1 つのプロバイダーを参照してください。
Select Models #
🤗 Select Models(サブタイトル:「Choose model variants shown in the composer selector」)は、検出されたモデルのうちどれを選択欄に表示するかを決めます。選択はブラウザーごとや会話ごとではなく、リレー全体に保存されます。ダイアログには、一覧を最後に再読み込みした日時も表示されます。
ダイアログには、ランタイムごとに Copilot、OpenAI、Claude SDK、0.9.18 で追加 Claude API、Cursor SDK、Grok、0.9.17 で追加 DeepSeek のタブがあります。表示するモデルがないタブは無効になります。たとえば、そのプロバイダーがオフになっている間です。Claude Cloud にはタブがありません。その一覧は Claude プロバイダーの一覧に従います(後述)。各モデルにはヘッダーがあり、名前、コンテキストウィンドウ、Reasoning(推論)の行が表示されます。この行には、モデルが提供する effort ごとに 1 つのチップが並びます。ヘッダーの下には、チェックボックス付きのモデルの行があります。
- 💾 Save enabled models(有効なモデルを保存)は、開いているタブのチェックを保存します。ほかのタブはそれまでの状態のままです。通知に「Saved model selection.」と表示されます。
- Copilot のモデルがあるタブでは、少なくとも 1 つにチェックを残す必要があります:「Select at least one model variant.」
- default model(既定のモデル)と示された Claude、Claude API、Cursor、Grok、DeepSeek のモデルは固定で、チェックを外せません。OpenAI のモデルには managed in settings(設定で管理)と表示されます。これらはチェックボックスではなく、OpenAI のモデル ID と保存済みの一覧によって決まります。unavailable(利用不可)と表示されたモデルは、以前にチェックされていて、現在は報告されていないモデルです。このモデルは残されるので、更新によって選択がリセットされることはありません。
- Refresh(再読み込み)は、開いているタブの一覧だけでなく、モデルの一覧を読み直します。Copilot CLI の一覧と、オンになっているほかのすべてのプロバイダーの一覧です。OpenAI、Claude、Claude API、Cursor、Grok、DeepSeek の読み込みに失敗すると、「Claude model discovery failed. Cached Claude models were kept: …」のような通知が表示されます。
モデルのデータをまったく読み込めない場合、入力欄に「Model metadata is unavailable. Refresh to choose a model and reasoning effort.」と Refresh models(モデルを再読み込み)ボタンが表示され、読み込めるまで選択欄は無効のままです。
各モデル一覧の取得元 #
リレーは各プロバイダーの一覧を読み込み、Select Models がそれを絞り込みます。プロバイダーの model ID(モデル ID)の設定はそのプロバイダーの既定のモデルで、ほかに何も選ばなかったときに会話が最初に使うモデルです。
| プロバイダー | 一覧の取得元 | 読み込まれるタイミング |
|---|---|---|
| GitHub Copilot | インストールされた Copilot CLI | リレーの起動から数秒後、実行されるセッションによって、そして Refresh のとき。 |
| OpenAI | エンドポイントの / の一覧 |
キーを保存したとき、OpenAI を再びオンにしたとき、そして Refresh のとき。読み込みに失敗しても一覧は残ります。チャットの開始には保存済みの一覧が使われます。 |
| Claude | Claude Agent SDK | Claude をオンにしたとき、サインインの後、そして Refresh のとき。 |
| Claude API 0.9.18 で追加 | 保存したキーを使った Anthropic の GET / |
キーを保存したとき、Claude API を再びオンにしたとき、そして Refresh またはタブの Refresh models のとき。最初の読み込みまでは Claude プロバイダーの一覧です。 |
| Claude Cloud | Claude プロバイダーのモデルと、タブの Default model | 独自の読み込みはありません。 |
| Cursor | Cursor Agent SDK | API キーを保存したとき、Cursor を再びオンにしたとき、そして Refresh のとき。 |
| Grok | Grok CLI | Grok をオンにしたとき、サインインの後、パネルから CLI をインストールした後、そして Refresh のとき。 |
| DeepSeek | DeepSeek の / の一覧のうち、deepseek- の ID |
キーを保存したとき、DeepSeek を再びオンにしたとき、ベース URL を変更したとき、そして Refresh のとき。最初の読み込みまでは deepseek- と deepseek- です。 |
読み込みに失敗した場合、リレーは最後に持っていた一覧を残します。古いままなのが Copilot の一覧の場合は、入力欄に「Model list is cached from CLI; selection may be stale.」というバナーが表示されます。一覧が古く見えるときは Refresh を押します。
Copilot の一覧は auto から始まり、その後はベンダーごとに、新しいバージョンから順に並びます。最初の読み込みまでは、新しいリレーは組み込みの短い一覧を提供します。GitHub Copilot を参照してください。ほかのプロバイダーの既定値と、モデルが見つからないときの対処は、それぞれのページにあります:OpenAI、Claude、Claude API、Claude Cloud、DeepSeek。
コンテキストサイズ #
Context window の選択欄には、モデルが提供するウィンドウが表示されます(例:400 と 1)。ほとんどのモデルでは項目は 1 つだけで、その場合チップはウィンドウを示すだけです。
Claude では、claude- のような長いコンテキストのモデルは、2 つ目のモデルとしては表示されません。選択欄で 1 を選ぶと、元のモデルが長いコンテキストのバリアントで動きます。Claude のカタログには既定のウィンドウの数値がないため、その項目は — と表示されます。[1m] のバリアントとしてのみ存在するモデルでは、1 だけが表示されます。会話は選んだウィンドウを覚えています。詳しくは Claude を参照してください。0.9.18 で追加 Claude API のチャットでは、Anthropic がウィンドウを 1M トークン以上と報告するモデル、または Claude プロバイダーが 1M のバリアントを一覧に載せているモデルに 1 が表示されます。Claude API を参照してください。
長いコンテキストのウィンドウがある Copilot のモデルでは、選択欄にそれが 2 つ目の項目として表示され、選択欄の下の料金の詳細は選んだ項目に従います。選択はメッセージと一緒に保存されます。New chat ダイアログでは、ウィンドウは読み取り専用で表示されます。Claude Cloud のチャットには選べるサイズがなく、選択欄は表示されません。
DeepSeek のチャットのウィンドウは 1,048,576 トークンの 1 つだけで、選択欄には 1. と表示され、選ぶものはありません。自動コンパクト化ウィンドウが設定されていなければ、400K でコンパクト化されます。DeepSeek を参照してください。
Reasoning effort #
effort の選択欄は、モデルが答える前にどれだけ考えてよいかを指定します。値が高いほど、答える前に多く考えます。選択肢は選んだモデルが対応するものなので、モデルを変えると選択肢も変わります。値は次の表にあるものがすべてで、モデルはそのうちのいくつかを提供します。
| 値 | 意味 |
|---|---|
none |
effort を要求しません。モデルが none を一覧に載せている場合はそのまま送られ、そうでない場合はモデル自身の既定で動きます。 |
minimal |
モデルが提供する最も低い段階で、low より下です。 |
low、medium、high |
順に高くなる effort です。 |
xhigh、max |
最も高い段階です。 |
| Ultracode | Claude のみです。後述します。 |
DeepSeek のレベルは、どのモデルでも low、high(既定)、max です。後述を参照してください。
default(既定)。推論をオフにできないモデルでは、none が default と表示されます。これを選ぶと none が送られ、モデルは自身の既定の推論で動きます。Cursor のモデルがこれに当たります。
effort はメッセージごとに送られます。選択欄には、モデルが受け付ける値だけが表示されます。モデルが受け付けない effort をメッセージが指定した場合(エージェントはこれができます)、Claude、Cursor、Grok、Claude Cloud は none を使います。GitHub Copilot と OpenAI は、エラーでメッセージを拒否します。DeepSeek は自身のレベルに対応付けます。effort を指定しないメッセージには none が使われ、モデルに none がない場合は一覧の最初の値が使われます。DeepSeek では会話の effort がそのまま使われ、なければ high です。
Claude #
Claude の選択欄には、none と、モデルが報告するレベル(low、medium、high、xhigh、max)が表示されます。none は effort のレベルを要求しません。xhigh に対応するモデルには Ultracode が追加されます。そのツールチップには「xhigh effort plus multi-agent workflow orchestration — expect much higher token use」と表示されます。これはレベルではなくモードです。リレーは xhigh の effort を要求し、セッションのワークフローのオーケストレーションをオンにします。Ultracode から離れると、オーケストレーションはオフになります。
思考には、会話ごとの専用のスイッチが 2 つあり、🧠 コンテキストパネルにあります。Thinking(思考)はオンまたはオフで、既定はオンです。Thinking text(思考テキスト)は Summarized(要約)または Hidden(非表示)で、既定は要約です。Hidden はテキストを隠すだけです。トークンを節約するのは思考をオフにする設定で、これはセッションの途中ではなく、次の CLI セッションから適用されます。Claude を参照してください。
0.9.18 で追加 Claude API のチャットにも同じ選択欄と設定があります。そのレベルは、キーに対する Anthropic のモデル一覧から来ます。none とモデルが報告するもの、それに xhigh のモデルでは Ultracode です。effort への対応を報告しないモデルでは none だけです。Claude API を参照してください。
DeepSeek 0.9.17 で追加 #
DeepSeek のモデルは常に思考するので、none はありません。選択欄には low、high、max が表示され、既定は high です。effort を変えると、ターンの合間にチャットの Claude Code が再起動します。medium のようにほかの場所から来た effort は、この 3 つに対応付けられます。Thinking の設定はありません。対応付けとその他の詳細は DeepSeek にあります。
エージェントがセッションを開始するとき #
create_ でリレーにセッションを開始するエージェントは、model と effort を渡せます。どちらも渡さない場合、新しいセッションは、対象のリレーが提供する範囲で、エージェントが作業しているセッションに合わせます([1m] の Claude モデルは元のモデルに一致します)。それができなければ、対象のリレーの既定のモデルを使います。model のない Claude Cloud のセッションは、Claude Cloud タブの Default model を使い、effort は受け付けません。対象のリレーがそのモデルで呼び出し元の effort を提供していない場合、セッションは対象のリレーの既定の effort を使います。send も同じ 2 つのパラメーターを受け付けます。指定しない場合、セッションは自身のモデルと effort を保ちます。
0.9.13 で追加 対象のリレーがそのプロバイダーで一覧に載せていないモデルは、何かが作成・送信される前に、近い候補とともに拒否されます。Claude では opus、sonnet、haiku も使えます。Copilot の ID に effort を付けたもの(例:gpt-)は、そのモデルをその effort で実行します。受け付けられるモデルを参照してください。
0.9.13 で追加 入力欄ではなくエージェントやスクリプトから、モデルを指定せずに会話に届いたメッセージは、会話のモデル、effort、モードで実行され、そのどれも変更しません。以前は、Copilot の会話はそうしたメッセージに対してカタログの最初のモデルを使い、そのまま保っていました。Copilot の会話のモデルがカタログからなくなった場合、そうしたメッセージは別のモデルに切り替わる代わりに、This conversation's model "…" is no longer available. Choose a model and send again.(この会話のモデル「…」は利用できなくなりました。モデルを選んで再送信してください。)で拒否されます。
プロバイダー別 #
| プロバイダー | モデル一覧 | 会話の途中での変更 | reasoning effort の値 | その他の設定 |
|---|---|---|---|---|
| GitHub Copilot、SDK エンジン | Copilot CLI のランタイム | はい | ランタイムがモデルについて報告するもの:none と、minimal から xhigh まで(モデルにあるもの) |
Context window(モデルに長いウィンドウがある場合) |
| GitHub Copilot、拡張機能エンジン | Copilot CLI のランタイム | はい | 同じ一覧 | 同じ |
| OpenAI | エンドポイントの / |
最初のメッセージまで | モデルの名前による。gpt-、codex*:none、low、medium、high、xhigh。o1*、o3*、o4*:low、medium、high。その他:none |
なし |
| OpenAI Image | エンドポイントの画像モデル | 最初のメッセージまで | Quality:auto、low、medium、high |
コンテキストウィンドウの代わりに Size(サイズ) |
| Claude | Claude Agent SDK | はい | none とモデルが報告するもの、xhigh のモデルではさらに Ultracode |
1 のコンテキスト、Thinking、Thinking text |
| Claude API 0.9.18 で追加 | キーに対する Anthropic の / |
はい | Claude と同じ(Anthropic の一覧から) | Claude と同じ |
| Claude Cloud | Claude の一覧と Default model | はい | 選べるものはなし | なし |
| Cursor | Cursor Agent SDK | はい | 各モデルが報告するもの。一部は none を default と表示 |
なし |
| Grok | Grok CLI | いいえ | モデルが報告するもの。なければ none、low、medium、high。none 以外の値はヒントとして Grok CLI に渡され、無視される場合があります |
なし |
| DeepSeek | DeepSeek の / |
はい(ターンの合間に) | どのモデルでも low、high(既定)、max |
なし。ウィンドウは 1 つで、1. と表示 |