Phase 19 - Lesson 05
Capstone 05 — Agente de investigación autónomo (Clase AI-Scientist)
El AI-Scientist-v2 de Sakana publicó artículos completos. Agent Laboratory ejecutó los experimentos. Allen AI compartió los traces. El diseño de 2026 es una búsqueda en árbol planificar-ejecutar-verificar sobre experimentos, costo presupuestado, ejecución de código en sandbox, un escritor de LaTeX con feedback visual y un ensemble de revisores automatizado al estilo NeurIPS. El capstone consiste en construir uno, ejecutarlo de extremo a extremo con un límite de $30 por artículo y sobrevivir al red team de escape de sandbox que documentó Sakana.
Tipo: Capstone Lenguajes: Python (agente + sandbox), LaTeX (salida) Requisitos previos: Fase 2 (ML), Fase 3 (aprendizaje profundo), Fase 7 (transformers), Fase 10 (LLMs desde cero), Fase 14 (agentes), Fase 15 (autónomos), Fase 16 (multiagentes), Fase 18 (seguridad) Fases ejercitadas: P0 · P2 · P3 · P7 · P10 · P14 · P15 · P16 · P18 Tiempo: 40 horas
Problema
Los agentes de investigación autónomos cruzaron un umbral en 2026. El AI-Scientist-v2 de Sakana AI fue publicado en Nature con artículos generados que aprobaron la revisión por pares de talleres. ShinkaEvolve (ICLR 2026) extendió la línea hacia hipótesis evolutivas. Agent Laboratory de AMD entregó traces reproducibles. Los agentes no son mágicos: son un loop de planificar-ejecutar-verificar que se ejecuta sobre un árbol de experimentos candidatos, con límites de costos, sandboxes vinculadas a semillas (seeds) y revisión automatizada. El arte está en el loop, el presupuesto y la historia de seguridad.
Aprenderás el loop implementando uno a partir de una idea semilla en un dominio estrecho (por ejemplo, ablaciones de esparsidad de atención en un transformer de 100 millones de parámetros). El valor no está en descubrir algo nuevo en la primera ejecución. El valor reside en la infraestructura: la búsqueda en árbol, la sandbox de experimentos, el loop escritor-revisor y el informe del red team. El equipo de Sakana documentó fallas de escape de sandbox; tu agente debe superar el mismo red team.
Concept
El agente es una búsqueda en árbol best-first (mejor opción). Los nodos son especificaciones de experimentos: (hipótesis, configuración, código, resultado esperado). Un paso de expansión propone hijos con pequeñas ediciones (cambiar optimizador, modificar tamaño de lote, ablatar un componente). Cada hijo se ejecuta en una sandbox nueva con un límite estricto de recursos. Los resultados retroalimentan una función de puntuación que clasifica los nodos según (novedad × calidad × presupuesto restante). El árbol crece hasta que se agota el presupuesto y luego se redacta la mejor rama.
El escritor es multimodal. Genera un borrador en LaTeX, lo compila, renderiza figuras y envía el PDF renderizado de vuelta al modo de visión de Claude Opus 4.7 para recibir críticas sobre la distribución (layout), legibilidad de figuras y alineación entre afirmaciones y evidencia. Un ensemble de revisores formado por cinco jueces de LLM emite puntuaciones al estilo NeurIPS (novedad, rigor, claridad, reproducibilidad, impacto); si el promedio cae por debajo del umbral, el artículo regresa al escritor con críticas.
La seguridad es fundamental. Cada experimento se ejecuta en una sandbox E2B o Daytona sin salida de red, tiempo de ejecución delimitado y límites de recursos estrictos. El paso de generación de código del agente pasa por una capa de políticas que bloquea las llamadas de sistema (syscalls) que escapan de la sandbox. El informe del red team reproduce la superficie de ataque documentada por Sakana (fork bombs, escapes de sistemas de archivos, llamadas de red escritas por LLM).
Architecture
seed idea + domain
|
v
literature search (Semantic Scholar + OpenAlex + FAISS cache)
|
v
LangGraph plan-execute-verify tree
|
v
+--- expand node ----+ per-node sandbox
| | (E2B / Daytona)
v v resource caps
child_1 child_k no network egress
| | deterministic seeds
v v
run experiment run experiment
| |
v v
score nodes by (novelty, quality, budget)
|
v
best branch -> LaTeX writer
|
v
compile + vision critique (Opus 4.7 vision)
|
v
reviewer ensemble (5 LLM judges, NeurIPS rubric)
|
v
paper.pdf + review.md + trace.json
Stack
- Orquestación: LangGraph con checkpointing y compuertas de aprobación humana
- Búsqueda en árbol: best-first personalizada sobre nodos de experimentos (estilo AB-MCTS de Sakana v2)
- Sandbox: E2B por experimento, fallback de Docker-in-Docker; límites de recursos vía cgroups
- Literatura: Semantic Scholar Graph API + OpenAlex + caché local de resúmenes en FAISS
- Escritor: plantilla LaTeX + Claude Opus 4.7 (modo de visión) para crítica de figuras y distribución
- Revisor: ensemble de 5 jueces (Opus 4.7, GPT-5.4, Gemini 3 Pro, DeepSeek R1, Qwen3-Max) con agregación ponderada
- Framework de experimentos: PyTorch 2.5 para experimentos físicos, W&B para registro de logs
- Observabilidad: Langfuse para traces del agente, presupuesto estricto de $30 por artículo
Build It
Definición de alcance de semilla y dominio. Toma una idea semilla (por ejemplo, "investigar patrones de esparidad en mapas de atención de transformers menores de 1B de parámetros"). Define el espacio de búsqueda: modelos, conjuntos de datos, presupuesto de cómputo.
Paso de literatura. Consulta Semantic Scholar + OpenAlex para obtener los 50 artículos relevantes más citados; almacena en caché local los resúmenes; genera un resumen de dominio de 1 página.
Estructura del árbol. Inicializa la raíz con la hipótesis semilla. Implementa
expand(node) -> childrencon propuestas de edición pequeña (un cambio de configuración por hijo). Implementascore(node)como un término ponderado de novedad × calidad × presupuesto.Aislamiento en sandbox. Cada experimento ejecuta
docker run --network=none --memory=8g --cpus=2 --pids-limit=256 --read-only(or la política E2B equivalente). Las semillas (seeds) se escriben en la sandbox; las salidas se montan de vuelta como solo lectura.Loop de planificar-ejecutar-verificar.
planpropone hijos.executeejecuta la sandbox, captura logs y métricas.verifyrealiza pruebas unitarias sobre las métricas (¿disminuyó la pérdida? ¿la ablación aisló el efecto?). Los nodos fallidos almacenan un motivo de falla en el árbol.Escritor. Tras el presupuesto, selecciona la mejor rama. Renderiza figuras con matplotlib. Genera un borrador en LaTeX mediante Claude Opus 4.7 con el trace de la rama en contexto. Compila. Envía el PDF compilado de vuelta al modo de visión de Opus 4.7 para su crítica. Itera.
Ensemble de revisores. Cinco jueces califican el borrador en (novedad, rigor, claridad, reproducibilidad, impacto) usando rúbricas estilo NeurIPS. Si el promedio < 4.0/5, regresa al escritor con la crítica. Parada obligatoria después de 3 reescrituras.
Red team. Construye o integra un conjunto de tareas adversarias que apunten a la sandbox: fork bombs, intentos de exfiltración de red, escapes de sistemas de archivos, metacaracteres de shell escritos por LLM. Confirma que todos estén bloqueados. Redacta los hallazgos.
Reproducibilidad. Cada artículo se entrega con su JSON de trace de búsqueda en árbol, semillas (seeds), enlaces de ejecución de W&B, configuraciones de sandbox y un README para reproducirlo de extremo a extremo.
Use It
$ ai-scientist run --seed "attention sparsity in sub-1B transformers" --budget 30
[lit] 50 papers, digest in 12s
[tree] expanded 8 nodes, budget 12/30
[exec] node #3 sparsity=top-8, loss=2.83 (best so far)
[exec] node #6 sparsity=top-4, loss=3.12 (worse)
[exec] ...
[tree] chose branch rooted at node #3 (novelty 0.62, quality 0.81)
[write] LaTeX draft v1 complete
[vision] critique: figure 2 legend too small, claim-evidence ok
[write] draft v2 after 3 edits
[review] mean 4.2/5 (novelty 3.9, rigor 4.3, clarity 4.1, repro 4.5, impact 4.2)
[done] paper.pdf + review.md + trace.json