PTENES
MÓDULO 4.1 · Ruta 4 · Avanzado y entre entornos

🛰️ Arquitectura multiagente a escala

Pasar de "un subagente" a una flota no es solo pedir más. Es armar un sistema que busca hasta agotar las opciones, refuta lo que encontraste, busca lentes diferentes y nunca trunca nada sin avisar; luego sintetizar una respuesta en la que puedes confiar.

7
Temas
~35
Minutos
Avanzado
Nivel
Arquitectura
Tipo

Hasta aquí delegaste tareas aisladas. Ahora imagina un pedido realmente grande: "recopila todo lo que existe sobre el tema X, confirma qué es realmente cierto y entrégame un informe completo". Un solo subagente no es suficiente, y peor aún, si detenerse demasiado pronto o creer en el primer resultado, recibes una respuesta convincente pero incorrecta. La arquitectura a escala lo resuelve con tres etapas encadenadas: una flota que busca hasta agotar las opciones (find), un tribunal que refuta cada hallazgo (verify) y uno sintetizador que reúne solo lo que sobrevivió (synthesize). Graba este pipeline — es el esqueleto de todo el módulo.

1 · ENCONTRAR 2 · VERIFY 3 · SINTETIZAR buscador buscador buscador buscador … repite hasta que se agote (K rondas vacías) escéptico escéptico escéptico la mayoría refuta → descarta voto mayoría sobrevivientes Sintetizador informe final, con citas un crítico de completitud pregunta «¿qué falta todavía?» · todo lo que se descartó va al registro (sin límite silencioso)

↑ El esqueleto del harness: find en bucle → verify adversarial por mayoría → synthesize solo de los sobrevivientes.

Contenido detallado

1

🚢 La flota: de un subagente a muchos

Una flota es un conjunto de subagentes del mismo tipo que trabajan en el mismo problema al mismo tiempo: no uno, no dos, sino diez, cuarenta, cien, cada uno en una parte. El maestro deja de «delegar una tarea» y pasa a ejecutar una operación: dividir el espacio de búsqueda, despachar la flota, recopilar las partes y pasar a la siguiente etapa. La unidad de razonamiento deja de ser el subagente y pasa a ser el sistema entero.

⚓ La analogía de la flota de exploración

Piensa en un océano por cartografiar. Un solo barco tarda meses y aun así deja regiones enteras sin explorar. Un flota divide el mar en sectores, envía un barco a cada uno y la almirante (el director) reúne las cartas. Ningún barco se comunica con los demás: todos informan a la almirante. Si una región resulta confusa, ella envía más barcos allá. La escala no es el tamaño del barco, sino la cantidad y la coordinación.

  • •Almirante = el maestro/harness, que divide, despacha y consolida.
  • •Barcos = la flota de subagentes, cada uno en un sector del problema.
  • •Cartas = los informes parciales que vuelven para unirse.
Qué es:

un patrón en el que muchos subagentes con el mismo rol trabajan en paralelo en distintas partes del mismo problema, coordinados por un único orquestador.

Por qué aprender:

los problemas de cobertura amplia (recorrer un repositorio gigante, recopilar bibliografía, auditar cientos de archivos) solo se vuelven manejables cuando piensas en una flota, no en "un agente esforzado".

Conceptos clave:

partición · paralelismo a gran escala · el orquestador como centro · el sistema como unidad de razonamiento.

🧭
Particiona
divide el espacio
🚀
Despacha
flota paralela
📥
Recopila
informes parciales
🧩
Consolida
un resultado
2

🔁 Loop-until-dry: repetir hasta que se agote

El mayor error de una búsqueda a gran escala es detenerse demasiado pronto. Un subagente encuentra cinco cosas, cree que «ya está» y las devuelve, pero en realidad había quince. La solución es el loop-until-dry: ejecuta la flota en rondas, y solo detente cuando K rondas seguidas no devuelvan resultados (nada nuevo). «Seco» no es «una ronda sin novedades»; es K rondas sin novedades — un amortiguador contra detenerse en el primer respiro.

1

Ronda: envía a la flota

Cada subagente busca en su parte.

La ronda produce un lote de hallazgos nuevos. Todo lo que ya apareció antes se deduplica con el acumulado.

2

Mide el «beneficio» de la ronda

Cuántos hallazgos inéditos ¿entraron?

Si aparece un hallazgo nuevo, el contador de rondas vacías vuelve a cero y abre una nueva ronda. La búsqueda todavía está «húmeda».

3

Ronda vacía → cuenta para K

Nada nuevo en esta ronda.

Incrementa el contador. Solo cuando llega a K (p. ej., 2 o 3 vacías seguidas), la búsqueda se declara seca y termina la etapa.

💡 Por qué K y no 1

Una ronda vacía puede ser cuestión de suerte (esa vez la flota buscó en los lugares equivocados). Exigir K vacías seguidas evita declarar la victoria demasiado pronto. A cambio, define un límite de rondas (p. ej., máximo 8) para que el loop no se ejecute para siempre en un caso patológico.

Qué es: un criterio de parada por agotamiento: repetir la búsqueda hasta que K rondas seguidas no aporten nada nuevo.
Por qué aprender: es el antídoto contra una cobertura superficial: el sistema solo se detiene cuando demuestra que ya no hay nada más que encontrar.
Conceptos clave: ronda · ganancia inédita · contador de vacías · umbral K · límite de seguridad.
3

⚖️ Verificación adversarial: N escépticos refutan

Encontrar no es confirmar. Cada hallazgo de la flota se incluye en un tribunal: tú activas N subagentes escépticos, y la tarea de cada uno no es estar de acuerdo: es intentar derribar la afirmación ("encuentra una evidencia de que esto está mal"). Si la mayoría poder refutar, el hallazgo muere. Solo sobrevive lo que resistió el ataque. Es lo contrario de pedir confirmación: pedir confirmación solo refuerza el sesgo.

hallazgo "X es verdad" escéptico 1 escéptico 2 escéptico 3 escéptico 4 refuta ✗ refuta ✗ refuta ✗ mantiene ✓ 3 de 4 lo refutan → mayoría veredicto: descarta el hallazgo

✓ Verificación adversarial (hazla)

  • ✓Indicar al escéptico que buscar el error, no confirmarlo
  • ✓Usar N escépticos independientes y decidir por mayoría
  • ✓Exigir que cada refutación señale evidencia, no opiniones
  • ✓Dejar pasar solo lo que sobrevivió al ataque

✗ Verificación ingenua (evítala)

  • ✗Preguntar "¿esto está bien?" (fomenta el asentimiento)
  • ✗Un único verificador (se convierte en un punto único de sesgo)
  • ✗El mismo agente que encontró es quien valida
  • ✗Aceptar todo lo que «parece plausible»
Qué es: un filtro de calidad en el que varios escépticos intentan descartar cada hallazgo y la mayoría decide si se rechaza.
Por qué aprender: es lo que separa «una búsqueda segura de sí misma» de «una respuesta confiable»: refutar es más honesto que confirmar.
Conceptos clave: carga de la refutación · independencia · voto mayoritario · evidencia por encima de la opinión.
4

🔭 Perspectivas diversas: lentes diferentes

Una flota de subagentes idénticos cometen los mismos errores en coro: todos miran el mismo lugar e ignoran el mismo punto ciego. La solución es darle a cada subagente una lente diferente: el mismo material, distintos roles. Uno busca contradicciones, otro busca lo que falta, otro lo analiza desde la perspectiva del costo y otro desde la seguridad. Diversidad de perspectivas = diversidad de errores encontrados. Es la misma idea de las 5 personas de la Ruta 1, ahora como pieza de arquitectura.

🧱

Lente de la contradicción

"¿Dónde se contradicen dos hallazgos? ¿Cuál de ellos debe estar equivocado?"

🕳️

Lente de la brecha

"¿Qué debería existir y no apareció? ¿Qué pregunta nadie hizo?"

💸

Lente del costo

"¿Cuánto cuesta esto en la práctica? ¿Qué cambia cuando el presupuesto se ajusta?"

🛡️

Lente del riesgo

"¿Dónde falla esto? ¿Cuál es el peor caso? ¿Qué aprovecharía un adversario?"

📏

Lente de la escala

"¿Funciona con 10? ¿Y con 10 millones? ¿En qué punto deja de servir el enfoque?"

🌈

Suma de perspectivas

Cada perspectiva encuentra un defecto que las demás no ven. Juntas, cubren lo que una flota uniforme pasaría por alto.

📊 Diversidad > cantidad

Diez subagentes con la misma lente encuentra, en la práctica, casi lo mismo que encontraría una persona — solo que más rápido. Cinco con lentes diferentes encuentran cosas que ninguno de los diez vería. Al escalar, varía el enfoque antes de aumentar la cantidad.

Qué es: asignar roles/perspectivas distintas a subagentes que revisan el mismo material.
Por qué aprender: elimina el punto ciego colectivo de una flota homogénea — cada perspectiva cubre un fallo de las demás.
Conceptos clave: lente/persona · punto ciego colectivo · diversidad antes que cantidad · cobertura complementaria.
5

🧮 Completeness critic: ¿qué falta todavía?

Loop-until-dry te dice cuándo la flota dejó de encontrar. Pero "dejó de encontrar" no significa "encontró todo lo importante"; puede haber quedado una brecha entera sin explorar. Entra el completeness critic: un subagente cuya única misión es revisar el conjunto reunido y preguntar "¿qué falta todavía?". No busca; señala las brechas. Cada brecha que señala se convierte en una nueva ronda de búsqueda dirigida, cerrando el ciclo entre verificar y volver a buscar.

salida de completeness-critic lagunas → nuevas búsquedas
# Pergunta única do crítico: "o que ainda falta?"

COBERTO    ✓ definição do conceito
COBERTO    ✓ 3 casos de uso confirmados
COBERTO    ✓ limites conhecidos

LACUNA     ✗ nenhuma fonte sobre custo em produção
LACUNA     ✗ nada sobre o que muda fora do Claude Code
LACUNA     ✗ zero contra-exemplos (só casos de sucesso)

# → o harness abre 3 buscas direcionadas para
#   fechar exatamente estas lacunas e roda de novo.

💡 Buscar es diferente de criticar

Quien busca tiende a conformarse con lo que encontró. Por eso, el crítico de exhaustividad es un subagente separado, con contexto nuevo — llega sin el apego del buscador a "ya encontré bastante" y ve el vacío que el buscador normaliza. Es el mismo principio del revisor imparcial, aplicado a la cobertura.

Qué es: un evaluador dedicado que identifica brechas en el conjunto reunido en vez de buscar más.
Por qué aprender: "dejó de encontrar" no significa "está completo"; el crítico convierte los vacíos en búsquedas dirigidas.
Conceptos clave: cobertura × exhaustividad · brecha como tarea · contexto fresco · retroalimentación para el find.
6

📋 Sin límite silencioso: registrar lo que se recortó

Todo sistema a escala tiene límites — de tokens, de tiempo, de número de elementos. El problema no es limitar; es cortar en silencio. Si la flota encontró 500 elementos y el sistema solo procesa 50 sin avisar, recibes un informe que parece completo y no es — y nunca lo vas a saber. La regla de oro: ningún recorte silencioso. ¿Recortaste algo? Regístralo: qué se recortó, cuánto y con qué criterio. El usuario necesita ver el límite del mapa.

✓ Recorte honesto

  • ✓"Procesé 50 de 500 hallazgos (los más relevantes)"
  • ✓Registra el criterio del corte (relevancia, fecha, alcance)
  • ✓Guarda lo que quedó pendiente para una ronda futura
  • ✓Permite que el usuario decidir si quieres superar el límite

✗ Límite silencioso

  • ✗Se trunca en 50 y no avisa que había más
  • ✗El informe parece completo, pero es solo una parte
  • ✗Descarta los otros 450 sin dejar rastro
  • ✗Decisión de cobertura tomada por ti sin ti

⚠️ El error más peligroso al escalar

Es el único error de esta lista que no da señales. Una búsqueda superficial se nota; el tribunal elimina un hallazgo falso; pero un límite silencioso entrega un informe plausible e incompleto que nadie cuestiona. Por eso la regla es estricta: si se cortó, que aparezca en el log — siempre, incluso cuando el recorte parece obvio.

Qué es: la disciplina de hacer visible todo truncamiento — registrar qué se recorta, cuánto y por qué.
Por qué aprender: los cortes invisibles producen respuestas falsamente completas; el log devuelve al usuario la decisión sobre la cobertura.
Conceptos clave: truncamiento explícito · criterio de corte · rastro auditable · «borde del mapa» visible.
7

🧬 Sintetizar: el informe que cierra el pipeline

Al final, alguien tiene que juntarlo todo — pero reunir no es pegar. El sintetizador recibe solo los hallazgos que sobrevivieron al tribunal, después de cerrar las brechas, con el registro de recortes a mano, y produce una narrativa coherente: deduplica, agrupa por tema, resuelve los conflictos restantes, cita el origen de cada afirmación y declara lo que quedó fuera. El informe final es lo único que vuelve a ti: limpio, como indica el modelo de subagente.

relatorio-final.md (forma sintetizada) solo sobrevivientes + registro
# Síntese: <pergunta original>

## Conclusões (sobreviveram ao tribunal)
- <afirmação A>  [fonte: f1, f7 · 4/4 céticos mantiveram]
- <afirmação B>  [fonte: f3 · 3/4 mantiveram]

## Conflitos resolvidos
- A vs. C → C caiu (refutado por evidência em f9)

## O que ficou de fora (sem cap silencioso)
- 500 achados → 38 processados (top por relevância)
- lacuna ainda aberta: custo em produção (0 fontes)

## Confiança
- alta nos itens 4/4; média nos 3/4; baixa onde há 1 fonte

📊 La síntesis lleva el rastro

Un buen informe no oculta el proceso: cada conclusión incluye cuántos escépticos la mantuvieron e de dónde vino, y hay una sección honesta de "lo que quedó fuera". Eso es lo que transforma una pila de hallazgos en un documento en el que se puede confiar y que se puede auditar.

Qué es: la etapa que fusiona los hallazgos que superaron el filtro en un informe citado, con los conflictos resueltos y las exclusiones declaradas.
Por qué aprender: es el punto donde la escala se convierte en entrega: sin síntesis, solo tienes un montón de piezas.
Conceptos clave: deduplicación + agrupación · cita de origen · resolución de conflictos · grado de confianza · informe limpio.
📄

Ejemplo: el esqueleto de un harness

Uno harness es el código (o la skill) que orquesta la flota: el «almirante» hecho programa. No necesitas escribirlo ahora en ningún lenguaje específico; lo que importa es reconocer la forma. Abajo, el esqueleto en pseudocódigo: los siete temas de este módulo aparecen como pasos de una función. Léelo como una receta, no como código listo para usar.

harness.pseudo — orquestación de la flota pseudocódigo (ilustrativo)
função pesquisar_em_escala(pergunta, K=2, max_rodadas=8, N_ceticos=4):
    achados        = conjunto()      # dedup automático
    rodadas_vazias = 0
    log_cortes     = []

    # ── 1+2 · FIND em loop-until-dry ──────────────────────
    enquanto rodadas_vazias < K e rodada < max_rodadas:
        fatias = particionar(pergunta, achados)        # tópico 1: frota
        novos  = frota_paralela(BUSCADOR, fatias)      # cada um, uma lente (tópico 4)
        ineditos = novos - achados
        se ineditos vazio: rodadas_vazias += 1
        senão:           rodadas_vazias = 0; achados |= ineditos

    # ── 3 · VERIFY adversarial (mata por maioria) ─────────
    para cada a em achados:
        votos = frota_paralela(CETICO, repetir(a, N_ceticos))  # "ache o erro"
        se maioria(votos) == "refuta": achados.remove(a)

    # ── 5 · COMPLETENESS critic → realimenta o find ───────
    lacunas = subagente(CRITICO_COMPLETUDE, achados)    # "o que falta?"
    se lacunas: retornar pesquisar_em_escala(focar(pergunta, lacunas), K, ...)

    # ── 6 · SEM CAP SILENCIOSO ────────────────────────────
    se tamanho(achados) > TETO:
        log_cortes.append(f"processados {{TETO}} de {{tamanho(achados)}} (top relevância)")
        achados = top(achados, TETO)

    # ── 7 · SYNTHESIZE (única saída p/ o maestro) ─────────
    retornar subagente(SINTETIZADOR, achados, log_cortes)  # relatório citado

🧠 Qué garantiza el harness

  • Profundidad — el bucle solo termina cuando se agotan (K vacías).
  • Confiabilidad — cada hallazgo pasa por el tribunal.
  • Completitud — el crítico devuelve información al find sobre las brechas.
  • Honestidad — cada recorte se convierte en una línea de registro.

⚙️ Los parámetros que ajustas

  • K — cuántas rondas vacías esperar antes de declarar que no hay más resultados.
  • max_rodadas — límite para que el loop no se ejecute para siempre.
  • N_céticos — cuántos refutan cada hallazgo.
  • LÍMITE — límite explícito, siempre registrado cuando se alcanza.
⌨️

Prompts listos (copia y pega)

Tres prompts para imponer la doctrina de este módulo a una flota, incluso sin escribir un harness. Fíjate en el patrón: pide agotamiento, pide refutación y prohíbe el corte silencioso.

Prompt 1 — buscar hasta agotar las opciones loop-until-dry
Dispare uma frota de subagentes para levantar TUDO sobre
<tema>. Rode em rodadas e só pare quando 2 rodadas
seguidas não trouxerem nada novo. No fim, diga quantas
rodadas rodou e por que considerou a busca esgotada.
Prompt 2 — verificar de forma adversarial N escépticos, mayoría
Para cada achado, abra 4 subagentes céticos cuja missão
é TENTAR REFUTÁ-LO com evidência (não confirmar). Se a
maioria refutar, descarte o achado. Me entregue só os
que sobreviveram, com a contagem de votos de cada um.
Prompt 3 — sintetizar sin omitir contenido en silencio completeness + log
Antes de fechar, rode um crítico que liste o que ainda
falta e abra buscas para as lacunas. Depois sintetize um
relatório citado. Se você cortar QUALQUER coisa por
limite, registre o que cortou, quanto e por qual critério.
🖥️

Pantalla simulada: el harness ejecutando una flota

Así es como aparece la operación en la terminal: el harness está en la ronda 3 del find, con una flota de buscadores y escépticos en paralelo. Observa el contador de rondas vacías (1/2 — aún no se ha secado), los escépticos derribando hallazgos y, en la base, la línea de log del corte — visible, nunca silenciosa.

claude code · harness:pesquisa-em-escala · rodada 3 ⏱ 02:17
━━ FIND · flota de buscadores ━━━━━━━━━━━━━━━━━━━━━━━
● buscador · docsHaiku
+12 inéditos
● buscador · códigoHaiku
+3 inéditos
● buscador · webHaiku
+0 inéditos
rondas vacías: 1/2 · todavía no se agotó → abre la ronda 4
━━ VERIFY · tribunal adversarial ━━━━━━━━━━━━━━━━━━━
● 4 escépticos · hallazgo #18Sonnet
3/4 lo refutan ✗
● 4 escépticos · hallazgo #22Sonnet
4/4 se mantiene ✓
⚠ log: 214 hallazgos → 50 procesados (los más relevantes) · 164 guardados
maestro · Opus
tu contexto
9%

↑ Recreación ilustrativa del terminal (no es una captura de pantalla real). La flota consume contexto en sus ventanas; la tuya casi no se mueve, y el recorte de 214→50 está a la vista en el registro.

🎯

Ejercicio: diseña un loop-until-dry

Elige un problema real de amplia cobertura (p. ej., "encontrar todos los lugares de mi código que tocan pagos" o "recopilar todo lo que sé sobre el competidor X") e dibuja en papel el harness que lo resolvería con la doctrina de este módulo. No hace falta ejecutar nada: el entregable es el diseño del ciclo y sus reglas.

Cómo hacerlo

  1. Define cómo dividir el problema entre la flota (¿por carpeta? ¿por fuente? ¿por subtema?).
  2. Elige el K (cuántas rondas vacías hasta que se agote) y un límite de rondas.
  3. Escribe la regla de verificación adversarial: cuántos escépticos y cómo decide la mayoría.
  4. Define el completeness critic: qué pregunta hace y qué se convierte en una nueva búsqueda.
  5. Di dónde está el límite de corte y exactamente lo que vas a registrar cuándo cortar.

✅ Criterio de verificación — cómo saber si acertaste

Tu diseño es correcto si un lector puede responder, con solo mirarlo, las cinco preguntas:

  • →¿Cuándo parar? La condición de parada es «K rondas vacías», no «una ronda» ni «se acabó el tiempo».
  • →¿Cómo lo sabe? Hay refutación por mayoría, no «preguntar si está en lo correcto».
  • →¿Cómo sabes que está completo? Existe un crítico de brechas que retroalimenta la búsqueda.
  • →¿Qué se recortó? Hay un punto explícito de registro: ningún recorte es silencioso.
  • →¿Qué vuelve? Una síntesis citada, no el conjunto bruto de hallazgos.

Si falta cualquiera de los cinco, el diseño aún no es una arquitectura a escala: son solo "varios subagentes sueltos".

Ejemplo resuelto (resumido)

Problema: encuentra todo lo relacionado con pagos en el repo. Partición: una parte por directorio de nivel superior. K=2, máximo 6 rondas. Verify: 3 escépticos por hallazgo, si la mayoría lo refuta → se descarta. Crítico: "¿qué flujo de pago no aparece en ningún hallazgo?" → se convierte en una búsqueda dirigida. Reduce: límite de 80 fragmentos; si se supera, registra "procesados 80 de N". Salida: lista citada por archivo + sección "no cubierto".

✅ Resumen del módulo

✓
Flota — muchos subagentes con el mismo rol en distintas partes del problema; el sistema es la unidad de razonamiento.
✓
Loop-until-dry — repite hasta que K rondas consecutivas no arrojen resultados; "agotado", no "una ronda".
✓
Verificación adversarial — N escépticos intentan refutarlo; si la mayoría lo derriba, el hallazgo muere.
✓
Perspectivas diversas — perspectivas diferentes cubren el punto ciego de una flota uniforme.
✓
Completeness critic — pregunta "¿qué falta?" y convierte las lagunas en nuevas búsquedas.
✓
Sin límite silencioso — cada recorte se registra: qué, cuánto y con qué criterio.
✓
Sintetizar — reúne solo a los sobrevivientes en un informe con citas, conflictos resueltos y recortes declarados.

Próximo módulo:

4.2 — Subagentes en Codex y otros entornos. El mismo concepto fuera de Claude Code: equivalencias, compatibilidad entre entornos de ejecución y qué cambia.