Lección 02 · 8 en la ruta · 4 min de lectura · Nivel 1
Ruteo: primero la capa, después el carril
Antes de elegir modelo hay que preguntarse si hace falta uno. Trabajo determinista y repetible va a código que corre sin modelo (Python/SQL/shell).
La pregunta de la capa, primero
Antes de elegir modelo hay que preguntarse si hace falta uno. Trabajo determinista y repetible va a código que corre sin modelo (Python/SQL/shell). Juicio, pegamento y entradas variables van a instrucciones (skills, agentes, reglas). La pregunta que corta: ¿un modelo tiene que HACER esto, o solo ORQUESTARLO?
Fuente: home/.claude/CLAUDE.md §Routing.
Los carriles
| Carril | Agente | Modelo | Effort | Tools | Cuándo |
|---|---|---|---|---|---|
| Trivial | mecanico | haiku | — | Read, Grep, Glob, Bash | Buscar, listar, leer logs, extraer, contar, renombrar |
| Mecánico | operario | sonnet | low | (todas) | La decisión ya está tomada; solo falta escribirla |
| Prosa | redactor | sonnet | medium | (todas) | READMEs, commits, informes, TDRs, traducciones |
| Recon | investigador | sonnet | medium | (todas) | Antes de tocar un repo que la sesión no conoce |
| Ambiguo | profundo | opus | xhigh | (todas) | Causa raíz no evidente, trade-offs arquitectónicos reales |
Fuente: home/.claude/CLAUDE.md §Routing, tabla; frontmatter de home/.claude/agents/mecanico.md,
operario.md, redactor.md, investigador.md, profundo.md. mecanico es el único de los
cinco cuyo frontmatter restringe tools:; los otros cuatro heredan el set completo.
Un sexto agente, reviewer (opus, high, tools limitadas a Read, Grep, Glob, Bash(git *)),
no aparece en esta tabla porque no es un carril al que se rutea trabajo ordinario — ver
docs/reviewer.es.md.
Las seis reglas
- Recon primero. Más de 3-4 archivos que leer: delegar a
investigadoren vez de leerlos en este hilo. Vuelve solo el resumen. - El hilo principal decide, los subagentes ejecutan. La sesión fija el qué y el cómo; la escritura se delega.
profundose gana, no se asume. El disparador es la ambigüedad, no el tamaño. Un refactor de 20 archivos con el patrón ya definido esoperario.- No delegar lo que ya está en contexto. Pasarle a un subagente un archivo ya leído lo hace más caro, no más barato.
- Más razonamiento en el mismo hilo:
ultrathink, en vez de subir el nivel de la sesión. - Nunca cambiar el modelo de la sesión para conseguir un review. El revisor tiene que
ser >= el autor, pero cambiar a mitad de sesión invalida la caché de prompt; se lanza
revieweren su lugar.
Fuente: home/.claude/CLAUDE.md §Routing, reglas 1-6.
El camino barato es el default
CLAUDE_CODE_SUBAGENT_MODEL=sonnet está fijado en home/.claude/settings.json. Toda
delegación, salvo que el frontmatter propio de un agente pise el modelo (como hace
mecanico con haiku, o profundo/reviewer con opus), ya corre en el modelo barato.
Una sesión grande con cero llamadas a subagentes no está usando esta palanca.
Fuente: home/.claude/settings.json (CLAUDE_CODE_SUBAGENT_MODEL).
/route
El skill route (home/.claude/skills/route/SKILL.md) recomienda modelo, effort y modo de
ejecución (sesión principal / subagente / sesión nueva / worktree / lote claude -p) para
una tarea descrita, antes de arrancar el trabajo. Responde en una tabla fija (tipo, modelo,
effort, dónde, costo de caché, necesita SPEC.md, necesita plan mode, review externo después)
más una línea de razonamiento.
No recuerda ningún modelo: lee dos archivos cada vez y los cita en la tabla.
rules/models.json— los hechos. Ids, nivel (fast < balanced < flagship < frontier), contexto, salida máxima, precios por millón de tokens y esfuerzo por defecto de cada modelo. Lo escribepython tools/model-intel.pyleyendo la documentación pública de Anthropic, sin gastar un token de modelo. No se edita a mano: se regenera.rules/routing.json— el criterio. Cada carril (mecanico,operario,redactor,investigador,profundo,reviewer,session-default) con su familia de modelo, su esfuerzo y el porqué. Se edita a mano después de cada cambio de catálogo;decisionses un log fechado de esos cambios (el kit lo publica vacío).
La cascada barato-primero va de tipo de tarea a carril: trivial → mecanico; mecánico →
operario; prosa → redactor; feature en código conocido → session-default (u operario si
el patrón ya existe); debugging de causa incierta → profundo, desde un comando de
reproducción; arquitectura o corrida autónoma larga → session-default con plan mode y
SPEC.md; exploración → investigador; review → reviewer, cuyo nivel tiene que ser al menos el
del autor. El modelo y el esfuerzo son los que ese carril diga hoy. Si un archivo falta o no
parsea, /route lo dice y se detiene. tests/route_test.sh resuelve cinco casos desde los dos
archivos y los compara con tests/expected/route-cases.txt.
El skill nombra el costo de caché de forma explícita: cada modelo (y, en la mayoría de
modelos, cada nivel de effort) tiene su propia caché de prompt, así que cambiar cualquiera de
los dos a mitad de sesión obliga a releer la conversación entera sin ningún acierto de
caché — las lecturas de caché se cobran a ~10% del input estándar, lo que hace de un cambio
avanzada la sesión la jugada más cara disponible. Sus conclusiones: nunca recomendar cambiar
el modelo de la sesión para conseguir un review (lanzar reviewer en su lugar); elegir
modelo y effort al arrancar la sesión, y recomendar una sesión nueva en vez de un cambio si
la tarea necesita otro; opusplan vuelve a cambiar el modelo en cada toggle de plan mode,
por lo que no se recomienda para sesiones largas; y /rewind le gana a /compact al
abandonar un camino, porque rewind trunca hacia un prefijo ya cacheado mientras que compact
construye uno nuevo.
Fuente: home/.claude/skills/route/SKILL.md.