Modern Agent Engineering

Cómo ejecutar más de 300 trabajos de subagentes: ¿es realmente posible y están preparadas las aplicaciones LLM y RAG?

Una guía práctica de viabilidad para ingenieros y PMs sobre cómo procesar cientos de trabajos de subagentes, dónde están los límites reales y qué controles de calidad de RAG, evals, colas y presupuesto deben existir para que sea seguro llevarlo a producción.

26 min de lectura

TL;DR

Puedes diseñar sistemas que procesen más de 300 trabajos acotados de subagentes, pero la respuesta honesta depende de qué signifique «ejecutar».

Si te refieres a 300 trabajos independientes a lo largo del tiempo, la arquitectura es conocida: ponerlos en una cola, limitar la concurrencia, persistir los artefactos y evaluar los resultados antes de sintetizarlos.

Si te refieres a 300 workers LLM activos dentro de una sola solicitud interactiva, no lo trates como una arquitectura predeterminada. Solo tiene sentido después de comprobar las cuotas del proveedor, el presupuesto, la latencia, los límites de las herramientas dependientes y las restricciones de verificación. Los primeros límites que encontrarás no suelen ser si «el modelo puede pensar». Son la capacidad de procesamiento de tokens, los límites de tasa, el costo, la coordinación de resultados, el trabajo duplicado, la saturación de herramientas, la calidad de la recuperación y la capacidad de revisión humana.

Mi respuesta práctica:

  • En mi experiencia, los sistemas LLM se justifican mejor para más de 300 subagentes cuando el trabajo explora múltiples frentes, tiene un alto valor y es mayormente independiente.
  • Un RAG ingenuo basado únicamente en búsqueda vectorial es una base riesgosa para un fan-out a gran escala. Para sistemas con 300 workers, exigiría calidad de recuperación medida, referencias a las fuentes, controles de vigencia, evals a nivel de componentes y pruebas del comportamiento ante evidencia insuficiente o consultas sin respuesta.
  • La arquitectura en la que confiaría primero no es un enjambre gigante. Son oleadas de workers acotados detrás de un supervisor, una cola, un almacén de memoria y artefactos, un controlador de presupuesto y un verificador.
  • El enfoque desde producto importa: la pregunta no es «¿podemos lanzar 300?», sino «¿qué decisión mejora lo suficiente como para justificar 300 workers?».

Qué aprenderás aquí

  • Qué puede significar «más de 300 subagentes» en la práctica.
  • Por qué ayudan las ventanas de contexto separadas, pero no resuelven la coordinación por arte de magia.
  • Dónde están los límites reales: tokens, límites de tasa, límites de batch, latencia, calidad de RAG y carga de revisión.
  • Una arquitectura de referencia para ejecutar cientos de subagentes en oleadas.
  • Ejemplos concretos de cuándo tienen sentido más de 300 workers y cuándo no.
  • Una lista de verificación de capacidad que ingenieros y PMs pueden usar juntos.
  • Qué debe tener una aplicación RAG antes de alimentar a cientos de agentes.

Cómo se relaciona con los artículos anteriores

Este artículo no reemplaza la guía básica de delegación de Cuándo usar subagentes y cuándo usar el hilo principal del chat, la arquitectura de creador y verificador de Cómo construir un agente con nivel de ingeniero sénior, la comparación de frameworks de Cómo diseñar subagentes en la nube, ni la guía detallada de diseño de RAG de Aplicaciones RAG en la práctica.

Este artículo se centra en la siguiente pregunta operativa: una vez que ya entiendes los subagentes y RAG, ¿qué condiciones deben cumplirse para que cientos de workers acotados sean una decisión de producto responsable?

Primero, el filtro de producto

Antes de pensar en la arquitectura, pregúntate si 300 workers mejoran una decisión lo suficiente como para justificar el costo y la carga de revisión.

Usa una matriz de evaluación como esta:

PreguntaSeñal favorableSeñal de alerta
Valor de la decisiónEl resultado cambia una decisión de lanzamiento, riesgo, presupuesto, incidente o migraciónEl resultado es principalmente informativo
DescomposiciónEl trabajo se divide en partes independientes con responsables clarosLos workers necesitan contexto compartido constantemente
VerificaciónLos resultados se pueden comprobar con fuentes, pruebas o rúbricasEl éxito depende principalmente de impresiones subjetivas
LatenciaEs aceptable esperar minutos u horasEl usuario espera una respuesta a velocidad de chat
Capacidad de revisiónLas personas o los agentes verificadores pueden inspeccionar los hallazgos de alto riesgoLa ejecución genera más trabajo de revisión del que ahorra
Control de costosSe definen un límite de presupuesto y un mecanismo de parada antes del lanzamientoEl costo se descubre después de la ejecución

Si la evaluación no es favorable, haz un piloto con 10 trabajos acotados. No empieces con 300.

La pregunta central

La versión orientada al usuario suena emocionante:

¿Puedo ejecutar 300 subagentes?

La versión para producción es menos romántica:

¿Puedo crear 300 intentos acotados, cada uno con suficiente contexto para hacer trabajo útil, sin desbordar el presupuesto, los límites de tasa, la calidad de la recuperación o la capacidad de revisión?

Ese enfoque importa porque los subagentes no son neuronas gratuitas. Son ejecuciones de modelos separadas, con sus propios prompts, ventanas de contexto, llamadas a herramientas, logs y modos de falla.

La razón por la que la gente los quiere es válida. Un subagente puede leer logs con mucho ruido, inspeccionar una base de código, buscar en la web, evaluar fuentes, probar una idea o revisar un borrador sin llenar el hilo principal. La documentación del SDK de Claude Code describe los subagentes como instancias de agente separadas que aíslan el contexto, ejecutan tareas en paralelo y devuelven solo el mensaje final al agente principal. El patrón de subagentes de LangChain usa un supervisor que llama a agentes worker sin estado como herramientas, y cada invocación trabaja en una ventana de contexto limpia. La documentación de subagentes de Vercel AI SDK expresa la misma idea de forma explícita: un subagente se ejecuta de manera independiente con su propia ventana de contexto, y la aplicación puede controlar lo que ve el modelo principal con toModelOutput.

Esa es la buena noticia: los subagentes son una primitiva real para gestionar el contexto.

La mala noticia: aislar el contexto no es lo mismo que orquestar.

Los tres significados de «ejecutar 300 subagentes»

Antes de diseñar nada, distingue estos tres casos.

1. Fan-out en batch

Tienes 300 elementos y cada uno necesita la misma operación acotada.

Ejemplos:

  • revisar 300 tickets de soporte para detectar vacíos en las políticas
  • resumir 300 entrevistas con clientes en evidencia etiquetada
  • clasificar 300 documentos por riesgo y responsable
  • evaluar 300 respuestas RAG con una rúbrica

Este es el caso más sencillo. No necesitas una megaconversación. Necesitas una cola, trabajos idempotentes, resultados estructurados, reintentos y revisión por muestreo.

2. Investigación en múltiples frentes

Tienes una pregunta amplia con muchas líneas de investigación independientes.

Ejemplos:

  • identificar a todos los proveedores de un mercado
  • comparar requisitos regulatorios entre jurisdicciones
  • auditar toda la documentación pública para el lanzamiento de un producto
  • investigar muchas explicaciones posibles de un incidente

Aquí es donde los sistemas multiagente pueden encajar muy bien. Según datos del sistema interno Research de Anthropic, descritos en una publicación de ingeniería del June 13, 2025, un agente principal Claude Opus 4 con subagentes Claude Sonnet 4 superó a un único agente Claude Opus 4 por 90.2% en una eval interna de investigación. La misma publicación indica que el sistema funciona bien para consultas que exploran múltiples frentes, pero también que los agentes usan aproximadamente 4x más tokens que el chat y que los sistemas multiagente usan aproximadamente 15x más tokens que los chats.

Ese equilibrio entre beneficios y costos está en el centro de este artículo.

3. Un enjambre interactivo gigante

Quieres 300 workers activos dentro de una sola solicitud del usuario.

Este es el caso de mayor riesgo. Puede ser apropiado para análisis costosos y de alto valor donde se permite una latencia de minutos y la respuesta necesita una cobertura amplia. Por lo general, no encaja bien con el chat habitual de una aplicación, las modificaciones de código, el soporte al cliente ni los flujos de trabajo donde cada worker depende de todos los demás.

Si los 300 agentes necesitan contexto compartido, coordinación constante o un único plan en evolución, probablemente no necesitas 300 subagentes. Necesitas menos agentes, una mejor descomposición o un flujo de trabajo determinista.

Una arquitectura de referencia más segura

Piensa en oleadas, no en enjambres.

Aquí también importan los patrones de responsabilidad. La documentación de orquestación de OpenAI distingue entre transferencias, donde un especialista toma el control de la conversación, y agentes como herramientas, donde un gestor sigue siendo responsable de la respuesta final. Para sistemas con 300 workers, normalmente mantendría al gestor en control y trataría a los workers como herramientas acotadas, a menos que un especialista realmente necesite hacerse cargo de la parte de la conversación visible para el usuario.

User / trigger
      |
      v
+------------------+
| Supervisor       |
| plan + budget    |
+--------+---------+
         |
         v
+------------------+       +------------------+
| Task planner     | ----> | Durable task log |
| 300 bounded jobs |       | status/artifacts |
+--------+---------+       +------------------+
         |
         v
+------------------+
| Queue            |
| priority + caps  |
+--------+---------+
         |
         v
  wave 1: measured worker cap
  wave 2: measured worker cap
  wave 3: measured worker cap
         |
         v
+------------------+
| Verifier         |
| evals + citations|
+--------+---------+
         |
         v
+------------------+
| Synthesizer      |
| final answer     |
+------------------+

El supervisor no debería limitarse a decir «lanza 300». Debería producir una lista de tareas con:

  • un ID de tarea estable
  • un objetivo específico
  • fuentes y herramientas permitidas
  • el esquema de salida esperado
  • un presupuesto de tokens y llamadas a herramientas
  • un límite de reintentos
  • una regla de verificación
  • la ubicación del artefacto

Los workers deberían escribir los artefactos en un lugar duradero: almacenamiento de objetos, una base de datos, archivos de un worktree de git o un directorio de ejecución. El agente principal debería recibir referencias y resúmenes, no cada token intermedio.

Bad:
  worker -> 20,000 token narrative -> supervisor context

Better:
  worker -> artifact.json + 8-line summary + source IDs

Esto evita el «juego del teléfono» en el que cada resultado se comprime repetidamente a través del modelo principal.

Las APIs batch no son enjambres activos

Para el fan-out fuera de línea, usa procesamiento batch cuando la latencia pueda ser de minutos u horas. La Message Batches API de Anthropic procesa solicitudes de forma asíncrona, con límites documentados como 100,000 solicitudes o 256 MB por batch y sin respuestas en streaming. La Batch API de OpenAI también es asíncrona, tiene un grupo separado de límites de tasa y documenta límites como hasta 50,000 solicitudes y un archivo de entrada de 200 MB por batch, además de límites de tokens de prompt encolados específicos de cada modelo.

Eso es útil para clasificación, generación de evals, auditorías de documentos y otros trabajos no interactivos.

Pero la capacidad de procesamiento batch no es lo mismo que tener 300 subagentes activos que interactúan con herramientas dentro de una sola solicitud interactiva.

Offline batch:
  submit jobs -> wait -> download results -> verify -> synthesize

Interactive agent fleet:
  plan -> retrieve -> call tools -> adapt -> retry -> verify -> respond

No presentes la capacidad de procesamiento de la Batch API como concurrencia interactiva en vivo. Es una promesa de producto diferente.

Un runbook para 300 workers

Este es un criterio inicial concreto para un piloto serio, no un benchmark general:

ControlCriterio de ejemploPor qué existe
Primera ejecución similar a producción10 workersDemostrar que la unidad de trabajo funciona antes de demostrar la escala
Tamaño de la oleadaDecenas de workers, con aumentos solo después de medirMantenerse por debajo de los límites de tokens, solicitudes, colas, herramientas y revisión
Límite de reintentos1-2 reintentos con jitterEvitar tormentas de reintentos y gastos descontrolados
Esquema de artefactosJSON con ID de tarea, afirmaciones, IDs de fuentes, confianza y estadoHacer que la síntesis y la verificación sean deterministas
Regla del verificadorVerificar todos los resultados de alto riesgo y una muestra de los de riesgo medio o bajoConcentrar la revisión donde cambia las decisiones
Mecanismo de parada por presupuestoDetener la ejecución cuando el costo, la tasa de errores o el tiempo en cola superen un umbralMantener la ejecución acotada
EscalamientoRevisión humana ante evidencia insuficiente, conflictos de políticas, riesgos de seguridad o riesgos legalesEvitar que la automatización intente adivinar ante la incertidumbre

Las métricas para los PMs deberían ser igual de concretas:

cost per verified finding
time to decision
coverage gained vs. manual review
review hours created
percentage of outputs escalated

Si esas cifras no mejoran la decisión, la ejecución de 300 workers es puro espectáculo.

Un ejemplo concreto: auditoría de políticas de 320 documentos

Imagina que una empresa quiere saber si 320 documentos de políticas internas están listos para un asistente de soporte con IA.

Un plan ingenuo:

Put every document into a vector database.
Ask one agent: "Are we ready?"

Es probable que esto produzca una respuesta amplia con poca trazabilidad porque el sistema no ha exigido evidencia a nivel de documento, responsables ni verificación.

Un plan más seguro con más de 300 subagentes:

1. Split documents by policy family and owner.
2. Create one audit job per document or section.
3. Run workers in measured waves, starting small and increasing only after observing quotas, latency, tool load, and review capacity.
4. Each worker returns structured findings:
   - doc_id
   - policy_area
   - stale_claims
   - missing_source_ids
   - contradictions
   - risk_level
   - recommended_owner_action
5. Run a verifier over a sample and all high-risk findings.
6. Synthesize only verified findings into a PM-facing readiness report.

Ejemplo de resultado de un worker:

{
  "task_id": "policy-audit-184",
  "doc_id": "refund-policy-enterprise-v7",
  "risk_level": "high",
  "findings": [
    {
      "claim": "Enterprise refunds are approved within 24 hours.",
      "issue": "Conflicts with source policy that says 3 business days.",
      "source_ids": ["billing-policy-2026-03#refunds", "support-macro-51"]
    }
  ],
  "recommendation": "Block this doc from assistant grounding until Billing confirms the SLA."
}

Es un buen caso para cientos de trabajos de subagentes porque el trabajo es independiente, el resultado está estructurado y el verificador puede revisar una muestra o centrarse en los elementos de alto riesgo.

Otro ejemplo: 300 hipótesis sobre un incidente

No toda ejecución útil de 300 workers es una auditoría de una base de conocimiento RAG. Imagina un incidente de producción con muchas causas plausibles entre servicios, despliegues recientes, cambios de configuración, dashboards y runbooks.

300 incident jobs
  120 inspect recent deploy and config changes by service
   80 compare dashboard anomalies against known failure modes
   50 review logs for one bounded hypothesis each
   30 verify top hypotheses against source evidence
   20 cluster duplicate findings and prepare the incident lead brief

Un piloto medido podría verse así:

total jobs:                300
initial wave:              10
next wave:                 measured from RPM/TPM, tool QPS, and reviewer capacity
expected tokens/job:       estimated before launch, measured after wave 1
retry cap:                 1 retry for transient failures
review rule:               all high-severity findings, sample the rest
kill switch:               stop on budget cap, high 429 rate, or low verifier pass rate

Este patrón solo funciona si cada worker tiene una hipótesis específica y escribe artefactos respaldados por evidencia. Falla si cada worker intenta depurar todo el incidente.

Un mal ejemplo: 300 agentes editando una funcionalidad

Ahora imagina que un equipo les pide a 300 agentes que modifiquen el mismo flujo de pago de un producto.

300 workers
   |
   +--> same files
   +--> overlapping product assumptions
   +--> inconsistent tests
   +--> merge conflicts
   +--> no single owner of tradeoffs

Eso no es paralelismo. Es un generador de conflictos.

Para el trabajo de código, usa un paralelismo más reducido:

  • un planificador
  • unos pocos intentos de implementación aislados en worktrees separados
  • un revisor
  • un ejecutor de pruebas
  • una persona o un orquestador que decida el diff final

Los subagentes ayudan con la exploración, la revisión y la verificación. No eliminan la necesidad de que haya un responsable claro del cambio.

El cálculo de capacidad

No necesitas una fórmula perfecta. Necesitas una comprobación de plausibilidad antes de que la arquitectura se convierta en una factura.

Usa esta estimación aproximada como ayuda para planificar, no como una garantía del proveedor:

tokens_per_worker =
  prompt_tokens
+ retrieved_context_tokens
+ tool_result_tokens
+ expected_output_tokens

worker_cap =
  min(
    requests_per_minute_capacity,
    input_tokens_per_minute_capacity / input_tokens_per_worker,
    output_tokens_per_minute_capacity / output_tokens_per_worker,
    downstream_tool_qps_capacity,
    queue_capacity,
    review_capacity
  )

safe_worker_cap =
  floor(worker_cap * safety_factor)

Las dimensiones exactas varían según el proveedor y el endpoint. OpenAI documenta límites de solicitudes por minuto y tokens por minuto para el uso síncrono, además de límites separados para la Batch API. Anthropic separa las solicitudes por minuto, los tokens de entrada por minuto y los tokens de salida por minuto para la Messages API. Las cuotas de ejecución de Amazon Bedrock son específicas de cada modelo y región, y a menudo cuentan juntos los tokens de entrada y salida.

Como regla inicial, usa un safety_factor conservador y luego ajústalo según la tasa de reintentos, la variación de latencia, la tasa de errores 429 y la capacidad de revisión medidas.

Ejemplo:

token-derived cap:      80 workers
request-derived cap:    120 workers
tool QPS cap:           40 workers
review cap:             25 workers
safety factor:          0.5

safe worker cap ~= 12

Eso no significa «ejecuta los 300 ahora». Significa que el sistema debería procesar el trabajo en oleadas cuyo tamaño dependa del cuello de botella más restrictivo que se haya medido, y continuar a medida que se libere capacidad.

La documentación oficial de los proveedores concreta este punto operativo. Los límites de tasa de OpenAI se miden con métricas como solicitudes por minuto y tokens por minuto. La documentación de la API de Anthropic separa las solicitudes por minuto, los tokens de entrada por minuto y los tokens de salida por minuto. Amazon Bedrock también regula el tráfico de inferencia con cuotas de tokens por modelo que varían según el endpoint, el modelo y la región.

Si el plan de producto dice «300 agentes», el plan de ingeniería debería decir:

300 total jobs
measured worker cap
bounded queue
retry with jitter
budget cap
kill switch
partial results allowed

Por qué la calidad de RAG se convierte en el factor limitante

Cuando ejecutas un agente con una recuperación deficiente, obtienes una respuesta cuestionable.

Cuando ejecutas 300 agentes con una recuperación deficiente, obtienes 300 variantes seguras de sí mismas del mismo problema de calidad de datos.

Weak RAG
  |
  +--> missing chunks
  +--> stale chunks
  +--> duplicate chunks
  +--> no source IDs
  +--> weak citations
  |
  v
300 workers amplify the mess

El Comprehensive RAG Benchmark (CRAG), publicado en la categoría Datasets and Benchmarks de NeurIPS 2024, es una advertencia útil. Reporta que los LLM avanzados alcanzaron como máximo 34% de precisión en CRAG, que un RAG básico solo mejoró hasta 44% y que los sistemas RAG de la industria evaluados en CRAG respondieron sin alucinaciones solo el 63% de las preguntas del benchmark. Estos son resultados específicos del benchmark, no una estimación general de precisión en producción, pero la lección es amplia: la recuperación ingenua no es una capa de confiabilidad.

RAGChecker, también de NeurIPS 2024, plantea un punto complementario. La evaluación de RAG es difícil porque RAG es modular: la recuperación y la generación fallan de maneras distintas. Su framework diagnostica por separado las métricas del recuperador y las del generador, incluido si el modelo usó fielmente el contexto recuperado y si el contexto irrelevante introdujo ruido.

Eso es exactamente lo que necesita un sistema de 300 agentes.

La lista de verificación de preparación de RAG

Antes de darles a cientos de subagentes acceso a una base de conocimiento, comprueba que tenga estas propiedades.

Esta lista combina las lecciones de los benchmarks CRAG y RAGChecker con los controles de recuperación para producción documentados en Databricks AI Search y Azure AI Search.

1. IDs de fuente estables

Cada fragmento recuperado debería tener suficiente información de procedencia para auditarlo después: como mínimo, ID del documento, sección o página, versión o fecha y hora de actualización, y responsable de la fuente cuando el corpus tenga responsables.

Fuente deficiente:

chunk_1827

Mejor fuente:

billing-policy/refunds.md#enterprise-sla@2026-05-14

2. Recuperación híbrida y filtros

Para documentos de políticas, código, finanzas, soporte y producto, la similitud semántica por sí sola a menudo no es suficiente. La guía de calidad de recuperación de AI Search de Databricks, actualizada por última vez el June 17, 2026, recomienda ajustar primero con base en evaluaciones y después usar búsqueda híbrida, filtros de metadatos y reranking cuando las necesidades de calidad justifiquen la latencia.

A una escala de 300 workers, normalmente añadiría:

  • búsqueda por palabras clave
  • búsqueda vectorial
  • filtros de metadatos
  • reranking
  • reglas de vigencia
  • jerarquía de documentos
  • reglas de exclusión para borradores y páginas obsoletas
  • campos de citas o referencias, como en el modelo de grounding y referencias de Azure AI Search

3. Presupuestos de contexto por worker

Cada subagente necesita un presupuesto máximo de contexto. Sin uno, un worker puede recuperar demasiada evidencia, ocultar el dato relevante y degradar la calidad de la respuesta.

Esto no es teórico. Los modelos estudiados en el artículo «Lost in the Middle», publicado en TACL 2024, a menudo obtuvieron mejores resultados cuando la información relevante estaba cerca del principio o del final del contexto, y su desempeño se degradó cuando estaba en el medio. NoLiMa, un benchmark de contexto largo de ICML 2025, encontró una degradación significativa en 13 modelos de contexto largo a medida que aumentaba la longitud del contexto cuando se minimizaba la coincidencia literal entre la pregunta y la evidencia.

El contexto largo ayuda. No elimina la necesidad de diseñar el contexto.

4. Evals a nivel de componentes

Para cada tipo de worker, evalúa:

  • recall de recuperación: ¿obtuvimos la evidencia necesaria?
  • precisión del contexto: ¿cuánta evidencia irrelevante incluimos?
  • exactitud de las citas: ¿las fuentes citadas respaldan la afirmación?
  • fidelidad de la respuesta: ¿el resultado se mantuvo fundamentado?
  • comportamiento ante evidencia insuficiente o consultas sin respuesta: ¿el worker dijo «no hay suficiente evidencia» cuando correspondía?
  • cumplimiento del formato: ¿el worker devolvió una salida estructurada válida?

5. Agentes verificadores que no compartan el mismo modo de falla

No permitas que quien crea el resultado se evalúe a sí mismo.

Para resultados de alto riesgo, ejecuta un verificador con:

  • herramientas de solo lectura
  • una rúbrica más estricta
  • acceso a los artefactos de las fuentes
  • comprobaciones deterministas de citas cuando sea posible
  • un prompt, modelo o ruta de recuperación diferente para el trabajo de alto riesgo
  • permiso para marcar el trabajo como fallido
  • ninguna presión para producir una respuesta pulida

Esto es especialmente importante cuando el resultado final afecta a clientes, dinero, seguridad, decisiones legales o código de producción.

Un patrón sencillo de ejecución

Esta es la estructura con la que empezaría, en pseudocódigo de estilo TypeScript. Lo importante no es la biblioteca. Es el ciclo de control.

type AuditTask = {
  id: string;
  objective: string;
  sourceIds: string[];
  maxInputTokens: number;
  maxToolCalls: number;
};

type AuditResult = {
  taskId: string;
  status: "pass" | "needs_review" | "failed";
  summary: string;
  claims: Array<{
    text: string;
    sourceIds: string[];
    confidence: "low" | "medium" | "high";
  }>;
};

async function runAuditBatch(tasks: AuditTask[], concurrency: number) {
  const queue = [...tasks];
  const results: AuditResult[] = [];

  async function worker() {
    while (queue.length > 0) {
      const task = queue.shift();
      if (!task) return;

      const result = await runBoundedSubagent(task, {
        timeoutMs: 120_000,
        maxToolCalls: task.maxToolCalls,
        maxInputTokens: task.maxInputTokens,
      });

      await writeArtifact(task.id, result);
      results.push(await verifyResult(result));
    }
  }

  await Promise.all(
    Array.from({ length: concurrency }, () => worker()),
  );

  return synthesizeVerifiedResults(results);
}

En un sistema real, reemplaza la cola en memoria por una cola duradera y haz que cada tarea sea idempotente. Añade prioridades, presupuestos por tenant, reintentos con jitter y un mecanismo de parada.

Marco de decisión para PMs

Para los PMs, la pregunta de viabilidad no es solo técnica. También es económica y operativa.

Pregúntate:

  • ¿La tarea tiene suficiente valor para justificar un gasto en tokens considerablemente mayor, usando como referencia las cifras reportadas por Anthropic de 4x para agentes frente a chat y 15x para multiagente frente a chat?
  • ¿Se puede descomponer el trabajo en unidades mayormente independientes?
  • ¿Los resultados parciales pueden ser útiles?
  • ¿Hay un verificador o una rúbrica de aceptación claros?
  • ¿Conocemos el costo por trabajo completado?
  • ¿Cuál es la alternativa cuando falla el 20% de los workers?
  • ¿Quién revisa los resultados de alto riesgo?
  • ¿Qué promesa le hacemos al usuario sobre la latencia?

Si las respuestas no son sólidas, empieza con 10 workers, no con 300.

Marco de preparación para ingeniería

Para los ingenieros, el sistema está listo cuando existen estos controles:

  • Límite de concurrencia: el supervisor no puede lanzar workers ilimitados.
  • Presupuesto de tokens: cada ejecución tiene un gasto máximo.
  • Presupuesto de herramientas: cada worker tiene un número máximo de llamadas a herramientas.
  • Estado duradero: el estado de las tareas sobrevive a los reinicios.
  • Almacén de artefactos: los resultados grandes no tienen que pasar por el contexto del agente principal.
  • Salidas estructuradas: los workers devuelven datos que se pueden analizar.
  • Paso de verificación: los resultados de alto riesgo se comprueban antes de la síntesis.
  • Observabilidad: las trazas muestran qué hizo cada worker y por qué.
  • Backpressure: los sistemas sobrecargados encolan, degradan el servicio o rechazan solicitudes de forma controlada.
  • Escalamiento a personas: la ambigüedad y los riesgos relacionados con políticas llegan a una persona.

Sin estos controles, 300 subagentes son solo un ciclo de prompts costoso.

Entonces, ¿están preparados los LLM y las aplicaciones RAG?

Mi respuesta actual al June 26, 2026:

En mi experiencia, los LLM pueden ser útiles para trabajos acotados y paralelos de subagentes cuando la tarea explora múltiples frentes y tiene un alto valor. La investigación, las auditorías, la generación de evals, la clasificación, el análisis competitivo y la revisión de fuentes son buenos candidatos.

No confiaría en que los LLM coordinen 300 workers estrechamente acoplados como si fueran una organización de ingeniería madura. Todavía necesitan orquestación determinista, presupuestos explícitos, colas, almacenes de artefactos, evals y escalamiento a personas.

Solo confiaría en RAG para este patrón cuando sea más que búsqueda vectorial. Una aplicación RAG que no pueda citar fuentes estables, medir la calidad de la recuperación, rechazar casos con evidencia insuficiente o preguntas sin respuesta y diagnosticar las fallas de recuperación frente a las de generación no debería alimentar cientos de trabajos de subagentes.

El camino práctico es:

1 worker
  -> prove output quality
10 workers
  -> prove decomposition and review
50 workers
  -> prove queueing, cost, and evals
300 workers
  -> prove operations, governance, and value

No empieces por el número. Empieza por la unidad de trabajo. Si la unidad es confiable, acotada, verificable y justifica su costo, escalar a cientos se convierte en un problema de ingeniería.

Si la unidad es vaga, carece de fundamento y es difícil de evaluar, 300 subagentes solo harán que la incertidumbre llegue más rápido.

Fuentes