PTENES
MÓDULO 1.5 · Ruta 1 · Fundamentos

🔀 La pregunta que decide

Antes de iniciar un subagente, hay una sola pregunta que separa la decisión correcta de la equivocada: "¿esto va a soltar un montón de cosas que nunca voy a releer?" Si la respuesta es sí, usa un subagente. Si no, sigue en el chat.

6
Temas
~20
Minutos
Básico
Nivel
Decisión
Tipo

Los subagentes son poderosos, pero usar uno cuando no hace falta es peor que no usarlo: fragmentas el razonamiento continuo y desperdicias contexto. La heurística de este módulo cabe en una línea, pero necesita señales concretas para funcionar.

Va a soltar una gran cantidad de resultados que nunca voy a releer? SÍ ✓ Sub agente NO 10+ archivos ¿o áreas? En paralelo o ¿independiente? Necesita ¿revisor imparcial? SÍ SÍ SÍ ✓ Sub agente NO NO NO

Flujo de decisión: usa primero la pregunta principal; si la respuesta es "no", recorre las subpreguntas.

Contenido detallado

Qué es

La heurística no es técnica: se trata de qué hace el resultado con tu contexto. Si la tarea produce una montaña de datos que vas a recibir como resumen y nunca volverás a leer línea por línea, el trabajo le corresponde a un subagente. El chat principal es tu memoria de trabajo — no lo llenes de basura.

Una pregunta filtra el 80% de los casos — sin regla compleja.
Output que no se vuelve a leer: logs, listas, resultados brutos de búsqueda.
Resumen de vuelta: indica "trae solo el resumen" — forma parte del prompt.

Qué es

Cinco patrones recurrentes que casi siempre requieren un subagente; reconocerlos evita el ciclo de «empezar en el chat y darse cuenta demasiado tarde de que se debería haber delegado».

Las cinco señales

📁
Muchos archivos
Recorrer un repositorio entero, auditar 40 componentes, refactorizar una carpeta: cualquier tarea que requiera leer N archivos antes de actuar.
📊
Pared de salida
Logs de CI, resultados de grep, listas largas de errores: quieres el diagnóstico, no la salida sin procesar.
🔁
Tarea repetible
Algo que volverás a pedir mañana, con datos diferentes. Es más fácil reutilizar un subagente que un prompt improvisado.
⚡
Jobs paralelos/independientes
Tres análisis que no dependen uno del otro pueden ejecutarse al mismo tiempo: el maestro espera a que todos terminen y los agrega.
🔍
Revisor imparcial
El mismo chat que escribió el código tiene sesgo a defenderlo. Un subagente sin memoria de lo que se escribió lo revisa sin filtros.
Alcance cerrado: un comienzo y un final claros: el subagente sabe cuándo terminó.
Output acotado: "trae solo N viñetas" define el tamaño de la respuesta antes de ejecutarla.
Independencia: el subagente no hace preguntas durante la ejecución.

Las cinco señales para evitar

✗
Edición rápida
Ajustar una línea, cambiar el nombre de una variable, corregir un error tipográfico: el costo de crear el agente es mayor que el de la tarea.
✗
Pasos dependientes en secuencia
Si el paso B solo puede empezar después de que veas el resultado del paso A y decidas, es razonamiento: sigue en el chat.
✗
Agentes que tendrían que conversar entre sí
Los subagentes no se hablan entre sí: si la tarea requiere coordinación lateral, no se puede paralelizar.
✗
Necesita el contexto de la conversación
El subagente empieza con el contexto limpio; si necesita saber qué se dijo antes, está en el lugar equivocado.
✗
Necesita hacerte preguntas
Si el agente va a pausar para pedir una aclaración, no existe la independencia que justifica el subagente.
Razonamiento continuo: las decisiones A→B→C pertenecen al chat, no a agentes separados.
Costo de configuración: crear un agente implica fricción; para una tarea de 10 segundos, no vale la pena.
Contexto limpio = sin conocimiento del pasado: si el agente necesita el historial, pásalo todo en el prompt.

Qué es

Cuando todavía tienes dudas después de la pregunta filtro, hay un criterio numérico que resuelve la mayoría de los casos restantes: 10 o más archivos, o cualquier resultado que, si se volcara en el chat, nunca leerías línea por línea.

💡
Regla práctica
10+ archivos para revisar, o cualquier resultado que nunca vas a volver a leer = subagente. Menos de 10 archivos y output legible = quédate en el chat.
Criterio numérico: 10 es concreto y rápido de evaluar — sin la ambigüedad de «muchos».
Output que no se vuelve a leer: 3 archivos de registro gigantes también lo activan — no es solo cuestión de cantidad.
Escala: 5 archivos hoy se convierten en 50 mañana: diseña el subagente con anticipación.

Qué es

La decisión no siempre es binaria: el maestro empieza a trabajar, se da cuenta de que el scope creció y decide sobre la marcha activar subagentes. Esto es un workflow dinámico: delegación en tiempo de ejecución, no en el prompt original.

Decisión en runtime: el maestro delega cuando ve el tamaño real; no es necesario definirlo en el prompt original.
Fan-out dinámico: 1 tarea → N agentes generados en el momento, cada uno con un alcance claro.
Maestro como enrutador: decide, delega y agrega; nunca ejecuta el trabajo bruto.

Qué es

Después de aprender sobre subagentes, existe una tendencia natural a querer usarlos para todo: la trampa de la nueva herramienta. Forzar el uso de un subagente cuando no hace falta fragmenta el contexto, aumenta la latencia y complica la depuración.

Consecuencias de forzar

✗ Contexto fragmentado: el subagente empieza desde cero; el razonamiento que debería fluir queda partido en pedazos.
✗ Latencia sin ganancia: crear un agente lleva tiempo — para tareas rápidas, terminas más lento.
✗ Depuración difícil: ¿qué salió mal? ¿Fue el maestro? ¿Fue el subagente? ¿Fue el prompt de delegación?
Principio de simplicidad: el subagente es una escalera: úsalo solo cuando necesites subir.
Costo real: configuración + latencia + posible depuración — la ganancia debe compensarlo.
Vuelve al chat: cuando tengas dudas, empieza en el chat; delega si el alcance crece.

Ejemplo: el mismo tipo de solicitud en dos escenarios

✓ Se convierte en subagente
"Revisa todos los archivos en src/components/ (hay ~60 componentes), verifica cuáles están importando la biblioteca heredada lodash directamente y tráeme solo la lista con la ruta y la línea. Sin mostrarme el contenido de los archivos.»
  • → 60 archivos para revisar (10+)
  • → El output nunca se volverá a leer línea por línea
  • → Alcance cerrado e independiente
✗ Se queda en el chat
"Mira este archivo utils/format.ts — tiene sentido mover esta función al módulo de helpers? ¿Qué opinas?"
  • → 1 archivo, se puede decidir en el chat
  • → Necesita la conversación anterior (contexto)
  • → Razonamiento continuo, no una tarea aislada

Cómo se ve en la práctica: el maestro tomando la decisión

claude-code — maestro
You: audita todos los módulos en src/ y dime cuáles tienen una cobertura inferior al 60%
Claude: Son 48 módulos. Voy a iniciar un subagente para revisarlos; traerá solo la lista con la cobertura. Un momento...
⚙ Subagente iniciado: escaneando 48 archivos de cobertura...
Claude: Completado. 7 módulos por debajo del 60%: auth/session.ts (42%), api/retry.ts (38%), y 5 más. ¿Quieres que priorice por riesgo o por facilidad de corrección?
You: por riesgo
✓ El output bruto quedó en el subagente. El chat quedó limpio.

Prompts listos para usar

Prompt 1 — inspección del repo
"Revisa todos los archivos en [carpeta], encuentra [patrón/problema] y tráeme solo la lista de archivos afectados con la línea relevante. No pegues el contenido de los archivos."

Aplica el criterio: muchos archivos + resultado que no se vuelve a leer = subagente.

Prompt 2 — análisis en paralelo
"Analiza [módulo-A], [módulo-B] e [módulo-C] en paralelo — cada uno independiente. Para cada uno, incluye: el mayor riesgo técnico y una sugerencia de refactor en 3 viñetas. Nada más."

Jobs independientes + output acotado = subagente en paralelo.

Prompt 3 — revisor imparcial
"Revisa el código en [archivo] sin consultar el historial de nuestra conversación. Busca solo: errores lógicos, casos límite no contemplados y código muerto. Máximo 5 hallazgos, ordenados por gravedad."

Revisor imparcial + contexto limpio = el subagente es una ventaja, no una limitación.

🏋️

Ejercicio: aplica la pregunta a 5 tareas tuyas

Usa la heurística de este módulo para clasificar tareas reales de tu día a día.

Qué hacer
  1. Lista 5 tareas que sueles pedirle a Claude Code; cuanto más variadas, mejor.
  2. Para cada una, responde: "¿Esto va a generar una salida que nunca volveré a leer?"
  3. Si la respuesta es "no", recorre las subpreguntas: ¿10+ archivos? ¿Paralelo? ¿Revisor imparcial?
  4. Clasifica cada tarea: subagente, chat directo o depende del alcance.
  5. Anota el motivo en una frase.
Criterio de éxito
✓ Puedes clasificar sin dudar al menos 4 de las 5 tareas.
✓ Para cada "subagente", puedes formular el prompt con el resultado contenido en una frase.
✓ Para cada "chat directo", puedes explicar qué señal de EVITAR se aplica.
✓ Identifica al menos 1 tarea en la que la decisión dependa del scope real que se revele en el momento.

Resumen del módulo

✓
La pregunta central — «¿Esto va a generar una salida que nunca volveré a leer?» decide el 80% de los casos.
✓
5 señales de USAR — muchos archivos, mucho output, repetible, paralelo, revisor imparcial.
✗
5 señales de EVITAR — edición rápida, pasos dependientes, conversación paralela, necesitas el contexto, necesitas preguntarte algo.
✓
Regla de los 10+ — 10 o más archivos o una salida que no volverás a leer = subagente, sin discusión.
✓
Flujo de trabajo dinámico — la decisión puede tomarse en runtime cuando el scope crezca.
→
No fuerces — lo simple es mejor; usa un subagente solo cuando la heurística lo indique, no por costumbre.

Próximo módulo:

1.6 — Anatomía de un subagente. El archivo .md: frontmatter (configuración) + cuerpo (cerebro).