Skills y Microagentes para Desarrollo Asistido con IA en Ingeniería de Software Estadístico
El desarrollo de software estadístico con IA generativa (LLMs) no exime al ingeniero de aplicar buenas prácticas de calidad de código, testing, arquitectura y gobernanza. Por el contrario, el uso de IA exige mayor disciplina en la verificación y supervisión de lo que se genera automáticamente.
Este documento define skills (comandos directos para el agente IA) y microagentes (prompts especializados) para delegar tareas específicas al LLM, manteniendo el control humano sobre la calidad y coherencia del sistema.
En este sitio, los bloques de código se muestran en un componente colapsable. Haz clic en "Mostrar código" para ver el prompt completo.
Diagrama de flujo de trabajo con microagentes
1. Skills como comandos para el agente IA
Un skill es una instrucción directa y breve que se le da al agente IA para ejecutar una tarea de mejora de calidad. Se invocan mediante el prefijo /skill:.
1.1 /skill:revisar-priors
Propósito: Verificar que los priors de un modelo bayesiano sean apropiados, estén justificados y no sean los planos por defecto.
Instrucción para el agente:
1.2 /skill:validar-contrato-datos
Propósito: Generar o validar un contrato de datos (YAML + Great Expectations) para un dataset dado.
Instrucción para el agente:
1.3 /skill:diagnosticar-convergencia
Propósito: Analizar los diagnósticos de convergencia de un modelo bayesiano (R-hat, ESS, divergencias) y recomendar acciones.
Instrucción para el agente:
1.4 /skill:refactorizar-fabrica-modelos
Propósito: Refactorizar un módulo de fábrica de modelos para que cumpla SOLID y sea extensible.
Instrucción para el agente:
1.5 /skill:revisar-seguridad-api
Propósito: Detectar vulnerabilidades en una API FastAPI que expone modelos estadísticos.
Instrucción para el agente:
1.6 /skill:generar-docstring
Propósito: Generar docstrings completos (formato Google o NumPy) para una función o clase estadística.
Instrucción para el agente:
2. Microagentes (prompts para tareas específicas)
Los microagentes se invocan directamente como prompts al LLM sin prefijo especial. Son análogos a los skills, pero más detallados y con formato de mensaje completo.
2.1 Microagente para testing unitario
Propósito: Generar tests unitarios para funciones estadísticas críticas.
2.2 Microagente para coherencia de código y estilo
Propósito: Revisar y corregir un bloque de código para que siga convenciones consistentes.
2.3 Microagente para principios SOLID
Propósito: Refactorizar un módulo para cumplir con principios SOLID.
2.4 Microagente para código limpio y legibilidad
Propósito: Mejorar la legibilidad y mantenibilidad de scripts estadísticos.
2.5 Microagente para revisión de seguridad
Propósito: Detectar vulnerabilidades comunes en código generado por IA.
2.6 Microagente para documentación automatizada
Propósito: Generar o completar documentación de funciones y módulos.
2.7 Microagente para coherencia entre frontend y backend
Propósito: Verificar que la interfaz (Next.js) y la API (FastAPI) comparten contratos consistentes.
2.8 Microagente para DataOps y calidad de datos
Propósito: Aplicar buenas prácticas de DataOps a pipelines de preparación de datos.
3. Integración de skills y microagentes en el flujo de trabajo
Un flujo típico asistido por IA con skills y microagentes:
- Generación inicial → El LLM genera una función o módulo a partir de un prompt de alto nivel.
- Skill
/skill:revisar-priors→ Verifica y justifica priors cuando el modelo es bayesiano. - Microagente de testing → Genera tests unitarios automáticos.
- Skill
/skill:refactorizar-fabrica-modelos→ Aplica SOLID a la fábrica de modelos. - Microagente de seguridad → Escanea vulnerabilidades.
- Skill
/skill:validar-contrato-datos→ Genera contrato de datos y expectativas de Great Expectations. - Skill
/skill:generar-docstring→ Documenta la función principal. - Validación humana → El ingeniero revisa los cambios, ejecuta los tests y decide si acepta.
Este enfoque crea un circuito de mejora continua donde la IA asiste, pero el humano supervisa, corrige y aprende.
4. Recursos y enlaces de alto valor
Herramientas y librerías
| Recurso | Descripción | Enlace |
|---|---|---|
| pytest | Framework de testing para Python | https://docs.pytest.org/ |
| testthat | Framework de testing para R | https://testthat.r-lib.org/ |
| ruff | Linter y formateador ultra-rápido para Python | https://docs.astral.sh/ruff/ |
| black | Formateador de código Python | https://black.readthedocs.io/ |
| mypy | Verificador de tipos estático para Python | https://mypy-lang.org/ |
| pre-commit | Framework para hooks de pre-commit | https://pre-commit.com/ |
| Great Expectations | Validación y documentación de calidad de datos | https://greatexpectations.io/ |
| soda-core | Observabilidad de datos | https://www.soda.io/ |
| MLflow | Gestión del ciclo de vida de modelos | https://mlflow.org/ |
| DVC | Versionado de datos y pipelines | https://dvc.org/ |
| Bandit | Análisis de seguridad estático para Python | https://bandit.readthedocs.io/ |
| Safety | Escaneo de dependencias vulnerables | https://pyup.io/safety/ |
Documentación sobre buenas prácticas con IA
Estándares y guías de estilo
El código es el algoritmo. El algoritmo se explica a si mismo.
Documentos relacionados
- Principios y Prácticas para la Construcción de Sistemas Estadísticos Robustos: fundamentos de calidad que los skills y microagentes ayudan a implementar.
- MLflow para la Gestión del Ciclo de Vida de Modelos Estadísticos: gestión del ciclo de vida de modelos asistida por skills de IA.
- Monitoreo de Modelos en Producción: monitoreo automatizado apoyado por microagentes especializados.