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:

text

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:

text

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:

text

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:

text

1.5 /skill:revisar-seguridad-api

Propósito: Detectar vulnerabilidades en una API FastAPI que expone modelos estadísticos.

Instrucción para el agente:

text

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:

text

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.

text

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.

text

2.3 Microagente para principios SOLID

Propósito: Refactorizar un módulo para cumplir con principios SOLID.

text

2.4 Microagente para código limpio y legibilidad

Propósito: Mejorar la legibilidad y mantenibilidad de scripts estadísticos.

text

2.5 Microagente para revisión de seguridad

Propósito: Detectar vulnerabilidades comunes en código generado por IA.

text

2.6 Microagente para documentación automatizada

Propósito: Generar o completar documentación de funciones y módulos.

text

2.7 Microagente para coherencia entre frontend y backend

Propósito: Verificar que la interfaz (Next.js) y la API (FastAPI) comparten contratos consistentes.

text

2.8 Microagente para DataOps y calidad de datos

Propósito: Aplicar buenas prácticas de DataOps a pipelines de preparación de datos.

text

3. Integración de skills y microagentes en el flujo de trabajo

Un flujo típico asistido por IA con skills y microagentes:

  1. Generación inicial → El LLM genera una función o módulo a partir de un prompt de alto nivel.
  2. Skill /skill:revisar-priors → Verifica y justifica priors cuando el modelo es bayesiano.
  3. Microagente de testing → Genera tests unitarios automáticos.
  4. Skill /skill:refactorizar-fabrica-modelos → Aplica SOLID a la fábrica de modelos.
  5. Microagente de seguridad → Escanea vulnerabilidades.
  6. Skill /skill:validar-contrato-datos → Genera contrato de datos y expectativas de Great Expectations.
  7. Skill /skill:generar-docstring → Documenta la función principal.
  8. 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

RecursoDescripciónEnlace
pytestFramework de testing para Pythonhttps://docs.pytest.org/
testthatFramework de testing para Rhttps://testthat.r-lib.org/
ruffLinter y formateador ultra-rápido para Pythonhttps://docs.astral.sh/ruff/
blackFormateador de código Pythonhttps://black.readthedocs.io/
mypyVerificador de tipos estático para Pythonhttps://mypy-lang.org/
pre-commitFramework para hooks de pre-commithttps://pre-commit.com/
Great ExpectationsValidación y documentación de calidad de datoshttps://greatexpectations.io/
soda-coreObservabilidad de datoshttps://www.soda.io/
MLflowGestión del ciclo de vida de modeloshttps://mlflow.org/
DVCVersionado de datos y pipelineshttps://dvc.org/
BanditAnálisis de seguridad estático para Pythonhttps://bandit.readthedocs.io/
SafetyEscaneo de dependencias vulnerableshttps://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