123 — Proyecto: agente individual operativo
Parte: 09 — Ingeniería de agentes de IA
Nivel: avanzado · Horas estimadas: 10
Laboratorio: capstone · Estado: EXECUTABLE_CORE
🎯 Propósito
Comprender proyecto: agente individual operativo dentro de la evolución de la inteligencia artificial, implementar un experimento mínimo verificable y distinguir qué parte constituye evidencia frente a una afirmación todavía no comprobada.
📚 Resultados de aprendizaje
Al finalizar podrás:
- Explicar proyecto: agente individual operativo usando los conceptos
agent,tools,memory,approval,evals. - Ejecutar el laboratorio con una semilla explícita y revisar su contrato JSON.
- Identificar al menos un supuesto, una limitación y un riesgo de aplicación.
- Comparar el enfoque con la etapa anterior de la ruta de aprendizaje.
- Producir una evidencia reproducible y una conclusión que no exceda los datos.
🧩 Conceptos centrales
agent, tools, memory, approval, evals
🗺️ Ubicación en el mapa de la IA
Esta clase cierra la parte 09 con un proyecto integrador: un agente individual que reúne, en un solo sistema operable, todo lo construido — el bucle ReAct (114) sobre un plan (115), con tools tipadas (116) correctamente clasificadas (117), estado que sobrevive (118), permisos y sandbox (119), aprobación humana donde el efecto lo exige (120), presupuesto en cuatro monedas (121) y un eval que lo vigile (122). El mensaje de diseño es el de toda la parte: un agente operativo no es un modelo listo, es un sistema de contención y evidencia alrededor de un modelo.
📖 Fundamentos
🧱 Arquitectura de referencia del agente individual
Un agente operativo mínimo tiene seis piezas, cada una con dueño en esta parte:
1. Contrato de misión objetivo verificable + límites + condición de parada (109/112)
2. Bucle de decisión thought → action → observation con traza completa (114)
3. Capa de tools tipadas, con clase de efecto, dry-run e idempotencia (113/114)
4. Capa de estado contexto gestionado + checkpoints + memoria curada (118)
5. Capa de control matriz de permisos + sandbox + ask humano + presupuesto (116-118)
6. Capa de evidencia telemetría por span + log de auditoría + eval en CI (118/119)
La regla de oro de la integración: las capas de control y evidencia no viven en el prompt. Son componentes deterministas del runtime que el modelo no puede persuadir; el prompt las describe para que el agente coopere con ellas, no las implementa.
✅ Definición de "operativo" (criterios de aceptación)
Un agente es operativo cuando puede demostrar — con artefactos, no con una demo — que:
- Completa su misión sobre un eval de tareas representativas con tasa de éxito honesta (resultado ✓ y proceso ✓) conocida y aceptada.
- Se detiene bien: por éxito verificado, por presupuesto (con estado parcial y checkpoint) o por bloqueo (escalando a humano). Los tres finales están probados.
- No puede hacer lo prohibido: las acciones fuera de la matriz se deniegan y las inyecciones de prueba en sus entradas terminan en deny auditado, no en efecto.
- Sobrevive a la interrupción: matarlo a mitad de tarea y reanudar no duplica efectos (checkpoint + idempotencia demostrados).
- Deja evidencia: cada tarea produce traza, spans con costo y log de decisiones suficientes para auditar QUÉ hizo y POR QUÉ sin re-ejecutar.
- Tiene puerta de salida: el paso final de riesgo queda detrás de un gate de
revisión humana — exactamente el
release_gate: human_review_requireddel laboratorio.
🔩 Orden de construcción recomendado
El error típico del proyecto es empezar por el bucle "inteligente". El orden robusto es el inverso: (1) contrato de misión y eval mínimo (¿qué es éxito?); (2) tools tipadas con sus clases de efecto; (3) matriz de permisos y sandbox; (4) presupuesto y telemetría; (5) el bucle; (6) memoria/checkpoints; (7) endurecer con el eval y las trayectorias fallidas. Así cada capacidad nace ya contenida y medible — añadir controles a un agente que "ya funcionaba" es lo que la industria no consigue hacer a posteriori.
🧪 El capstone del laboratorio como esqueleto
El laboratorio capstone integra tres subsistemas y un gate: recuperación léxica
(la consulta "herramientas estado objetivo" rankea agents sobre skills y
models — parte 08 al servicio del contexto), el bucle agente (traza de status y
sum con verificación), la política de seguridad (allowlist ["read"] denegando
publish y delete con razones) y release_gate: human_review_required — la
decisión final NO es del agente. Es el proyecto en miniatura: cada subsistema es
sustituible por su versión real conservando los contratos.
🧮 Ejemplo trabajado
Especificación completa (reducida) de un proyecto tipo: agente de triaje de issues.
Misión clasificar cada issue nuevo, reproducirlo si es bug y proponer
severidad; éxito ⇔ etiqueta + reproducción (o motivo de no-repro)
+ severidad justificada, validadas por el eval
Tools read_issue (pura) · search_code (pura) · run_snippet (sandbox,
cuota 30 s) · label_issue (reversible, allow+log) ·
post_comment (irreversible público, ASK) · close_issue (DENY)
Estado checkpoint tras cada issue; memoria semántica: "el módulo X
tiene flaky tests" (procedencia: observado 3 veces)
Control presupuesto por issue: 12 pasos, 40k tokens, 0,25 USD, 5 min;
sandbox: FS solo /workspace, red solo API del tracker
Evidencia spans por paso; eval de 40 issues históricos etiquetados;
tasa honesta actual 31/40; E-dominante: E4 (lee mal los
stack traces truncados) → siguiente iteración
Gate el comentario propuesto se publica solo tras aprobación;
tasa de rechazo humano: 3/31 → los 3 rechazos ya son tareas
nuevas del eval
Recorrido de una tarea: issue #512 → plan (reproducir → clasificar → redactar) →
run_snippet reproduce el error (observación real) → severidad "alta" anclada a la
observación → post_comment entra en ask → humano edita una frase → resume →
etiqueta aplicada → checkpoint → spans: 9 pasos, 28k tokens, 0,19 USD. Cada número de
esa línea final existe porque una clase de esta parte lo hizo medible.
📊 Propiedades y comparación
| Criterio | Demo de agente | Agente operativo (este proyecto) |
|---|---|---|
| Éxito | "funcionó cuando lo probé" | tasa honesta sobre eval reproducible |
| Parada | cuando termina o revienta | 3 finales diseñados y probados |
| Seguridad | el prompt dice "no hagas X" | matriz + sandbox + gate humano |
| Interrupción | se pierde todo | checkpoint + reanudar sin duplicar |
| Costo | desconocido | presupuestado y atribuido por tarea |
| Mejora | retocar el prompt y ojalá | trayectorias → causa raíz → re-eval |
flowchart TD
M["Contrato de misión:\nobjetivo verificable + límites"] --> P["Plan (115)"]
P --> B["Bucle ReAct (114)"]
B --> T["Tools tipadas (113/114)"]
T --> PC{"Política (119):\nallow / ask / deny"}
PC -- "ask" --> H["Aprobación humana (120)\ninterrupt → resume"]
PC -- "allow" --> SB["Sandbox ejecuta"]
PC -- "deny" --> B
H --> SB
SB --> B
B <--> ST["Estado (118):\ncontexto + checkpoints + memoria"]
B --> BU["Presupuesto (121):\n4 monedas, parada limpia"]
B --> EV["Evidencia:\ntraza + spans + auditoría"]
EV --> EVAL["Eval (122):\nresultado × proceso, regresión"]
EVAL -.->|"trayectorias fallidas\n→ mejoras"| M
B --> G["Release gate:\nhuman_review_required"]
⚠️ Errores conceptuales frecuentes
- "El proyecto es el bucle; lo demás son extras." Es exactamente al revés: el bucle son 30 líneas; el proyecto es la contención y la evidencia. Un capstone sin matriz, presupuesto y eval es la demo de la clase 112 con más pasos.
- "Primero que funcione, luego lo aseguro." Los controles a posteriori llegan tarde y rotos: las tools ya tienen más alcance del necesario y nadie sabe cuál recortar. Se construye contenido desde el primer commit.
- "Mi agente pasó el eval, es seguro." El eval mide capacidades previstas; la seguridad la dan las capas que actúan ante lo imprevisto (sandbox, deny, gate). Son evidencias distintas y se demuestran por separado (criterios 1 y 3).
- "El gate humano final es un trámite." Es la frontera entre demo educativa y sistema con consecuencias: mientras la tasa de rechazo humano no sea ~0 y explicada, el gate está haciendo exactamente su trabajo.
- "Integrar = pegar las piezas de las 11 clases." Integrar es hacer que se alimenten: los rechazos del gate nutren el eval, el eval dicta la mejora, la telemetría calibra el presupuesto, la memoria destila lo aprendido. Sin esos circuitos, hay piezas yuxtapuestas, no un sistema.
🚀 Del aprendizaje a la operación
Lo que separa este capstone de un despliegue real es lo de siempre, ahora con lista concreta: autenticación e identidad fuerte (quién encarga, quién aprueba), sandbox de verdad (contenedor con FS/red acotados, no un diccionario de permisos), persistencia transaccional de checkpoints y logs, SLO de latencia y disponibilidad, gestión de versiones de prompt/modelo/tools con eval en CI como puerta de despliegue, y un proceso de incidentes que convierta cada fallo en tarea del eval. El programa completo te dio las piezas y sus contratos; la operación es mantener vivos los circuitos entre ellas.
🧪 Laboratorio
python lab.py
El laboratorio llama a ai_evolution.labs.run_lab("capstone"). Esta
decisión evita 183 implementaciones divergentes: cada clase tiene un entrypoint
propio, pero los motores didácticos se prueban como una biblioteca común.
🔍 Evidencia esperada
- tipo de laboratorio y semilla;
- entradas o decisiones observables;
- resultado estructurado;
- lista
evidencecon hechos que pueden inspeccionarse; - lista
limitationsque impide presentar la demo como producción.
📓 Notebooks
- 📓
notebook.ipynb: recorrido guiado con la materia resumida. - ✍️
notebook_student.ipynb: ejercicios para resolver. - ✅
notebook_solution.ipynb: solución de referencia explicada.
📝 Evaluación
| Criterio | Peso |
|---|---|
| Comprensión conceptual | 25 % |
| Ejecución reproducible | 25 % |
| Interpretación basada en evidencia | 25 % |
| Riesgos, límites y mejora propuesta | 25 % |
Consulta assessment.md para preguntas y criterio de aceptación.
⚠️ Errores comunes
| Síntoma | Causa probable | Corrección |
|---|---|---|
| El código corre, pero no hay conclusión | Se confundió ejecución con aprendizaje | Explica qué demuestra y qué no demuestra |
| El resultado cambia sin explicación | No se registró semilla o configuración | Conserva semilla, versión y parámetros |
| Se promete uso real | Se extrapoló desde una demo educativa | Declara entorno, datos, límites y revisión humana |
| Se copia una métrica aislada | No existe baseline ni costo de error | Añade comparación y criterio de decisión |
❓ Preguntas frecuentes
¿Debo usar una API comercial?
No. El núcleo funciona localmente. Las extensiones LIVE se documentan por separado.
¿El laboratorio representa una implementación industrial?
No por sí solo. Enseña el contrato y el patrón; producción exige integración,
seguridad, observabilidad, pruebas y operación.
¿Dónde profundizo?
Revisa las especializaciones enlazadas en el README raíz y la ruta siguiente.
🔗 Referencias
- Anthropic Engineering — "Building effective agents" (la guía de diseño que este proyecto materializa) — uso: referencia consultada en su fuente original
- Yao et al. (2022), "ReAct: Synergizing Reasoning and Acting in Language Models", arXiv:2210.03629 — uso: fuente primaria del mecanismo estudiado
- Model Context Protocol — especificación (contratos de tools/resources/prompts para integrarse con ecosistema real) — uso: marco normativo de referencia
- OWASP Top 10 for LLM Applications (checklist de riesgos que el proyecto debe cubrir) — uso: marco normativo de referencia
- NIST AI Risk Management Framework (AI RMF 1.0) (gobernanza del sistema completo) — uso: marco normativo de referencia
- Russell y Norvig — AIMA (4e), cap. 2 (la definición de agente con la que empezó la parte) — uso: desarrollo extendido del tema
📚 Bibliografía de apoyo
Bloque generado por
python scripts/link_sources_to_classes.py. Cada obra lleva su localizador verificado ensources/bibliography.json.
Los papers dicen de dónde salió el mecanismo. Estas obras lo desarrollan con el espacio que una clase no tiene: teoría completa, demostraciones y ejercicios.
| Obra | Edición | Localizador | Papel en esta clase |
|---|---|---|---|
| Russell, Stuart J. y Norvig, Peter — Artificial Intelligence: A Modern Approach | 4.ª · 2020 | ISBN 9780134610993 · web de la obra | citada en las referencias de esta clase · cap. 2 · obra de referencia de la parte 09 |
| Michael J. Wooldridge — An Introduction to MultiAgent Systems | 2009 | ISBN 9780471496915 | obra de referencia de la parte 09 · arquitecturas de agente |
Normas y documentación oficial que aplica esta clase: Model Context Protocol · OWASP Top 10 for LLM Applications · AI Risk Management Framework
⬅️ Clase anterior
122 — Evaluación y depuración de agentes
➡️ Siguiente clase
124 — Workflow, subagente y sistema multiagente
📝 Evaluación completa
❓ Preguntas
- Define proyecto: agente individual operativo sin usar una marca o framework como definición.
- Explica la relación entre agent, tools, memory, approval, evals.
- Ejecuta
lab.pydos veces con la misma semilla. ¿Qué debe conservarse? - Identifica una afirmación permitida y una afirmación exagerada sobre el resultado.
- Propón una prueba negativa o un caso límite.
🏆 Reto verificable
Amplía el resultado del laboratorio con una clave student_extension que incluya:
- el supuesto que estás probando;
- una medición o comprobación;
- la conclusión;
- una limitación.
✅ Criterio de aceptación
- [ ]
lab.pytermina con código 0. - [ ] El resultado contiene
kind,seed,evidenceylimitations. - [ ] La extensión no modifica el comportamiento de otras clases.
- [ ] La interpretación referencia datos impresos por el laboratorio.
- [ ] Se declara al menos un riesgo o condición de no uso.