Modelos y razonamiento
Dos decisiones marcan lo que cuesta un turn y lo bueno que es: el modelo y cuánto razona. Las tomas en el cuadro de diálogo New chat (Nuevo chat) y de nuevo en el área de redacción antes de cualquier mensaje. Esta página trata los selectores, de dónde sale la lista de modelos de cada proveedor y qué significan los valores de effort. La configuración de cada proveedor está en las páginas de los proveedores, y el cuadro de diálogo campo por campo está en Iniciar una conversación.
Dónde se elige #
| Lugar | Qué fijas |
|---|---|
| Cuadro de diálogo New chat | El modelo y el Reasoning effort de una conversación que aún no existe. |
| El selector de modelo del área de redacción | El modelo del próximo mensaje. Su tooltip dice Model (Modelo). |
| El selector de effort del área de redacción | El reasoning effort del próximo mensaje. Su tooltip dice Reasoning effort, o Quality (Calidad) en los modelos de imagen. |
| El selector Context window (Ventana de contexto) del área de redacción | El tamaño de contexto del modelo, cuando el modelo tiene más de uno. En los modelos de imagen es el tamaño de la imagen. |
🤗 Select Models (Seleccionar modelos) en el menú ⋯ de la conversación |
Qué modelos aparecen en todas estas listas. |
Una conversación usa un proveedor, así que el área de redacción solo lista los modelos que sirve ese proveedor. El modelo y el effort se aplican por mensaje: la elección que haces antes de pulsar enviar es con la que sale ese mensaje. Una conversación recuerda su último modelo y su último effort, y el navegador recuerda los últimos que elegiste en cualquier sitio. Un chat nuevo empieza con los del navegador. Si el modelo al que pasas no ofrece un effort recordado, lo sustituye el effort más cercano que ofrezca ese modelo; Ultracode nunca se elige así.
En una conversación que aún no tiene mensajes, el selector también ofrece Auto, cuando el proveedor lo tiene. Después del primer mensaje Auto se desactiva, con el tooltip "Auto is available only for a new conversation".
¿Puede cambiar el modelo a mitad de la conversación? #
Depende del proveedor. Donde está fijado, el selector muestra el modelo como una entrada bloqueada (🔒) y no se puede cambiar.
| Proveedor | Cambiar el modelo entre mensajes |
|---|---|
| GitHub Copilot | Sí, en los dos motores. |
| OpenAI | Hasta el primer mensaje. Después, el modelo queda fijado. |
| Claude | Sí. |
| Claude API Nuevo en 0.9.18 | Sí. Un cambio de facturación conserva el modelo, y se rechaza cuando el otro lado no lo lista. |
| Claude Cloud | Sí. El sandbox cambia antes del próximo mensaje. |
| Cursor | Sí. |
| Grok | No. El modelo se fija al crear el chat. |
| DeepSeek | Sí. El Claude Code del chat se reinicia con el modelo nuevo antes del próximo mensaje. Un modelo sin entrada de imágenes se rechaza en cuanto el chat contiene imágenes. |
OpenAI y Grok bloquean el selector a partir del primer mensaje. El relay rechaza otro modelo de Grok con "Grok model switching requires creating a new Grok conversation". Para usar otro modelo en un proveedor fijado, inicia una conversación nueva. La nota encima del área de redacción nombra el modelo fijado; consulta Un proveedor por conversación.
Select Models (Seleccionar modelos) #
🤗 Select Models (subtítulo: "Choose model variants shown in the composer selector") decide cuáles de los modelos detectados aparecen en los selectores. La elección se guarda para todo el relay, no por navegador ni por conversación. El cuadro de diálogo también muestra cuándo se actualizaron las listas por última vez.
El cuadro de diálogo tiene una pestaña por runtime: Copilot, OpenAI, Claude SDK, Nuevo en 0.9.18 Claude API, Cursor SDK, Grok y Nuevo en 0.9.17 DeepSeek. Una pestaña se desactiva cuando no tiene modelos que mostrar, por ejemplo mientras su proveedor está desactivado. Claude Cloud no tiene pestaña: su lista sigue la del proveedor Claude (consulta más abajo). Cada modelo tiene una cabecera con su nombre, su ventana de contexto y una línea Reasoning (Razonamiento) de chips, uno por cada effort que ofrece. Debajo de la cabecera están las filas del modelo, con una casilla.
- 💾 Save enabled models (Guardar los modelos activados) guarda las marcas de la pestaña abierta. Las otras pestañas conservan lo que tenían. Un aviso dice "Saved model selection."
- En una pestaña con modelos de Copilot tiene que quedar al menos uno marcado: "Select at least one model variant."
- Un modelo de Claude, Claude API, Cursor, Grok o DeepSeek marcado como default model (modelo predeterminado) es fijo y no se puede desmarcar. Los modelos de OpenAI llevan la marca managed in settings (gestionado en los ajustes): los decide el ID de modelo de OpenAI y la lista guardada, no una casilla. Un modelo marcado como unavailable (no disponible) se marcó antes y ya no se informa; se conserva, para que una actualización no restablezca tu elección.
- Refresh (Actualizar) vuelve a leer las listas de modelos, no solo la de la pestaña abierta: la de la CLI de Copilot y las de todos los demás proveedores que están activados. Una lectura fallida de OpenAI, Claude, Claude API, Cursor, Grok o DeepSeek muestra un aviso como "Claude model discovery failed. Cached Claude models were kept: …".
Cuando los datos de los modelos no se pueden cargar en absoluto, el área de redacción muestra "Model metadata is unavailable. Refresh to choose a model and reasoning effort." con un botón Refresh models (Actualizar modelos), y los selectores siguen desactivados hasta que funcione.
De dónde sale cada lista de modelos #
El relay lee la lista de cada proveedor, y Select Models la acota. El ajuste model ID (ID de modelo) de un proveedor es su modelo predeterminado, con el que empieza una conversación cuando no eliges otro.
| Proveedor | La lista sale de | Cuándo se lee |
|---|---|---|
| GitHub Copilot | La CLI de Copilot instalada | Unos segundos después de arrancar el relay, en las sesiones que corren y con Refresh. |
| OpenAI | La lista / del endpoint |
Cuando guardas la clave o vuelves a activar OpenAI, y con Refresh. La lista se conserva cuando una lectura falla. Al iniciar un chat se usa la lista guardada. |
| Claude | El Claude Agent SDK | Cuando activas Claude, después de un inicio de sesión y con Refresh. |
| Claude API Nuevo en 0.9.18 | GET / de Anthropic con la clave guardada |
Cuando guardas la clave o vuelves a activar Claude API, y con Refresh o con Refresh models de la pestaña. Hasta la primera lectura: la lista del proveedor Claude. |
| Claude Cloud | Los modelos del proveedor Claude, más el Default model (Modelo predeterminado) de la pestaña | No hace lectura propia. |
| Cursor | El Cursor Agent SDK | Cuando guardas la clave de API o vuelves a activar Cursor, y con Refresh. |
| Grok | La CLI de Grok | Cuando activas Grok, después de un inicio de sesión, después de instalar la CLI desde el panel y con Refresh. |
| DeepSeek | La lista / de DeepSeek, sus IDs deepseek- |
Cuando guardas la clave, vuelves a activar DeepSeek o cambias su URL base, y con Refresh. Hasta la primera lectura: deepseek- y deepseek-. |
Si una lectura falla, el relay conserva la última lista que tenía. Cuando la lista desactualizada es la de Copilot, el área de redacción muestra un banner, "Model list is cached from CLI; selection may be stale." Pulsa Refresh cuando una lista parezca antigua.
La lista de Copilot empieza por auto y luego agrupa los modelos por
fabricante, con la versión más reciente primero. Hasta la primera lectura, un
relay nuevo ofrece una lista corta integrada; consulta
GitHub Copilot. Los modelos
predeterminados de los otros proveedores, y qué hacer cuando falta un modelo,
están en sus páginas:
OpenAI, Claude,
Claude API,
Claude Cloud,
DeepSeek.
Tamaño del contexto #
El selector Context window muestra las ventanas que ofrece un modelo, por
ejemplo 400 y 1. En la mayoría de los modelos tiene una sola entrada, y
entonces el chip solo informa de la ventana.
En Claude, un modelo de contexto largo como claude- no aparece como
un segundo modelo. Elegir 1 en el selector ejecuta el modelo base con la
variante de contexto largo. El catálogo de Claude no trae ninguna cifra para la
ventana predeterminada, así que esa entrada muestra —. Un modelo que solo
existe como variante [1m] ofrece solo 1. La conversación recuerda la
ventana que elegiste. Más en Claude.
Nuevo en 0.9.18 Un chat de Claude API ofrece 1 para un modelo cuya ventana
Anthropic informa como de 1M tokens o más, o cuya variante 1M lista el
proveedor Claude; consulta Claude API.
En los modelos de Copilot que tienen una ventana de contexto largo, el selector la ofrece como segunda entrada, y los detalles de precio bajo el selector siguen la entrada que elijas. La elección se guarda con el mensaje. El cuadro de diálogo New chat muestra la ventana en solo lectura. Un chat de Claude Cloud no tiene tamaño que elegir; el selector está oculto.
Un chat de DeepSeek tiene una sola ventana, de 1.048.576 tokens, que el
selector muestra como 1. sin nada que elegir. Compacta a los 400K salvo
que se fije la
ventana de compactación automática; consulta
DeepSeek.
Reasoning effort #
El selector de effort indica cuánto puede pensar el modelo antes de responder. Los valores más altos significan más thinking antes de la respuesta. Sus opciones son las que admite el modelo elegido, así que cambian cuando cambias de modelo. Los valores de abajo son todos los que hay; cada modelo ofrece algunos:
| Valor | Significado |
|---|---|
none |
No se pide ningún effort. Donde el modelo lista none se envía tal cual; si no, el modelo corre con su propio valor predeterminado. |
minimal |
El nivel más bajo que ofrece un modelo, por debajo de low. |
low, medium, high |
Effort creciente. |
xhigh, max |
Los niveles más altos. |
| Ultracode | Solo Claude. Consulta más abajo. |
Los niveles de DeepSeek son low, high (el predeterminado) y max, para
todos los modelos; consulta más abajo.
default. Un modelo que no puede desactivar el razonamiento muestra none
como default (predeterminado). Elegirlo envía none, y el modelo corre con
su propio razonamiento predeterminado. Los modelos de Cursor hacen esto.
El effort se envía con cada mensaje. El selector solo ofrece valores que el
modelo acepta. Si un mensaje indica un effort que el modelo no acepta (un
agente puede hacerlo), Claude, Cursor, Grok y Claude Cloud usan none. GitHub
Copilot y OpenAI rechazan el mensaje con un error. DeepSeek lo convierte a sus
propios niveles. Un mensaje que no indica effort recibe none, o el primer
valor de la lista si el modelo no tiene none; en DeepSeek conserva el effort
de la conversación, o high.
Claude #
El selector de Claude ofrece none y los niveles que informa el modelo (low,
medium, high, xhigh, max). none no pide ningún nivel de effort.
Ultracode se añade en los modelos que admiten xhigh. Su tooltip dice
"xhigh effort plus multi-agent workflow orchestration — expect much higher
token use". No es un nivel sino un modo: el relay pide effort xhigh y activa
la orquestación de flujos de trabajo de la sesión, y salir de él la desactiva.
El thinking tiene dos interruptores propios, por conversación, en el panel de contexto 🧠: Thinking (Razonamiento) (activado o desactivado, activado por defecto) y Thinking text (Texto del razonamiento), con Summarized (Resumido) o Hidden (Oculto), resumido por defecto. Hidden solo oculta el texto. Desactivar el thinking es el control que ahorra tokens, y se aplica a la siguiente sesión de la CLI, no a mitad de sesión. Consulta Claude.
Nuevo en 0.9.18 Un chat de Claude API tiene el mismo selector y los mismos
controles. Sus niveles salen de la lista de modelos de Anthropic para la clave:
none y lo que informa el modelo, más Ultracode en los modelos con xhigh,
o solo none en un modelo que no informa de soporte de effort. Consulta Claude API.
DeepSeek Nuevo en 0.9.17 #
Los modelos de DeepSeek siempre piensan, así que no hay none. El selector
ofrece low, high y max; high es el predeterminado. Un effort distinto
reinicia el Claude Code del chat entre turns. Un effort de otra procedencia,
como medium, se convierte a uno de estos tres. No hay controles de
Thinking. La conversión y lo demás están en
DeepSeek.
Cuando un agente inicia una sesión #
Un agente que inicia una sesión en un relay con
create_
puede pasar model y effort. Si no pasa ninguno, la sesión nueva sigue a la
sesión en la que trabaja el agente, en la medida en que el relay de destino lo
ofrezca (un modelo de Claude [1m] coincide con su modelo base), y si no, el
modelo predeterminado del destino. Una sesión de Claude Cloud sin model
recibe el Default model de la pestaña de Claude Cloud y no acepta effort. Si
el destino no ofrece el effort del agente que llama para ese modelo, la sesión
usa el effort predeterminado del destino.
send acepta los mismos dos
parámetros; sin ellos, la sesión conserva su propio modelo y su effort.
Nuevo en 0.9.13 Un modelo que el relay de destino no lista para el proveedor se
rechaza antes de crear o enviar nada, junto con las coincidencias cercanas;
Claude también acepta opus, sonnet y haiku, y un id de Copilot con su
effort, como gpt-, corre como ese modelo con ese effort. Consulta
Qué modelos se aceptan.
Nuevo en 0.9.13 Cualquier mensaje que llega a una conversación sin modelo, desde un agente o un script en lugar del área de redacción, corre con el modelo, el effort y el modo de la conversación, y no cambia ninguno. Antes, una conversación de Copilot recibía para ese mensaje el primer modelo del catálogo y se quedaba con él. Cuando el modelo de una conversación de Copilot ha salido del catálogo, ese mensaje se rechaza con This conversation's model "…" is no longer available. Choose a model and send again. en lugar de pasar a otro modelo.
Por proveedor #
| Proveedor | Lista de modelos | Cambio a mitad de la conversación | Valores de razonamiento | Controles adicionales |
|---|---|---|---|---|
| GitHub Copilot, motor SDK | Runtime de la CLI de Copilot | Sí | Lo que la runtime informa para el modelo: none y de minimal a xhigh, según los tenga el modelo |
Context window, cuando el modelo tiene una ventana larga |
| GitHub Copilot, motor de extensión | Runtime de la CLI de Copilot | Sí | La misma lista | Los mismos |
| OpenAI | / del endpoint |
Hasta el primer mensaje | Según el nombre del modelo: gpt-, codex*: none, low, medium, high, xhigh; o1*, o3*, o4*: low, medium, high; otros: none |
Ninguno |
| OpenAI Image | Modelos de imagen del endpoint | Hasta el primer mensaje | Quality: auto, low, medium, high |
Size (Tamaño) en lugar de la ventana de contexto |
| Claude | Claude Agent SDK | Sí | none y lo que informa el modelo, más Ultracode en los modelos con xhigh |
Contexto 1, Thinking, Thinking text |
| Claude API Nuevo en 0.9.18 | / de Anthropic para la clave |
Sí | Como Claude, a partir de la lista de Anthropic | Como Claude |
| Claude Cloud | La lista de Claude más el Default model | Sí | Nada que elegir | Ninguno |
| Cursor | Cursor Agent SDK | Sí | Lo que informa cada modelo; algunos muestran none como default |
Ninguno |
| Grok | CLI de Grok | No | Lo que informa el modelo; si no, none, low, medium, high. Cualquier valor salvo none se pasa a la CLI de Grok como sugerencia, que esta puede ignorar |
Ninguno |
| DeepSeek | / de DeepSeek |
Sí, entre turns | low, high (predeterminado), max para todos los modelos |
Ninguno; una sola ventana, mostrada como 1. |