Notas del Lab

Framework de Investigación

Pipeline de investigación por fases, con ejecución en DAG, artefactos, esquemas e informes trazables.

El framework de investigación es la parte del ecosistema más cercana a una arquitectura formal de agentes. Modela la investigación como un pipeline con fases, dependencias, artefactos, estados y validaciones.

Objetivo

Convertir una misión en lenguaje natural en un informe Markdown verificable:

Misión -> Parse -> Candidatos -> Reviews / Precios / Vídeos -> Transcripciones -> Informe

DAG de Fases

Loading diagram…
DAG de la misión de investigación: el descubrimiento de candidatos alimenta reviews, precios, búsqueda de vídeo, extracción de transcripciones y el informe final.

Fases

FaseFunción
F0Crear la carpeta de ejecución y transformar la misión en task.json.
F1Buscar candidatos, normalizar, deduplicar y aplicar restricciones.
F2Obtener y analizar reviews.
F4Obtener precios, comparativas y estacionalidad.
Y1Buscar vídeos relevantes.
Y2Extraer las transcripciones de los vídeos.
F6Compilar el informe final con fuentes y evidencias.

Adaptador de Investigación Externa

El pipeline de investigación puede usar un adaptador de investigación basado en MCP para recopilar información externa. Este adaptador separa el pipeline de la implementación concreta del proveedor: el pipeline solicita investigación, recibe resultados estructurados y conserva la evidencia útil como artefactos.

En la arquitectura actual, este papel puede estar respaldado por un conector MCP basado en Perplexity, pero la decisión importante es el límite de adaptación: la búsqueda externa se trata como una capacidad reemplazable, no como lógica incrustada directamente en las fases del pipeline.

Orquestador

El orquestador controla:

  • el orden de ejecución;
  • las fases en paralelo;
  • los reintentos;
  • la validación de las entradas;
  • los estados parciales;
  • la escritura de puntos de control;
  • la notificación final.

Las fases no se llaman entre sí. Cada fase lee sus entradas y escribe sus salidas. Esta separación evita flujos ocultos y facilita la depuración.

Artefactos

Cada ejecución crea una carpeta por misión:

runs/{mission-id}/
|-- task.json
|-- phase.json
|-- artifacts/
|   |-- candidates.json
|   |-- reviews.jsonl
|   |-- price_analysis.json
|   |-- youtube_urls.json
|   |-- youtube_transcripts.json
|   `-- final_report.md
|-- logs/
`-- run_summary.md

Estado de las Fases

El framework distingue estados que resultan útiles en sistemas reales:

EstadoSignificado
pendingLa fase aún no ha empezado.
runningLa fase está en ejecución.
succeededLa fase se completó correctamente.
succeeded_partialEl resultado es incompleto pero válido.
failed_retryableEl fallo se puede reintentar.
failed_terminalEl fallo es definitivo.
blocked_missing_inputFaltan artefactos necesarios.
skippedLa fase se omite por diseño o por condición.

Principio de Robustez

El estado succeeded_partial es clave. En la investigación real, algunas fuentes fallan, faltan precios y no todos los vídeos tienen transcripción. El sistema no debería romperse por eso: debería documentar la degradación y aun así producir un informe útil.