Alejandría

Busca en Alejandría

Técnicas

Feedback sensors for coding agents

Conecta agentes de programación con verificaciones automáticas para que detecten y corrijan sus propios errores.

01

En pocas palabras

Conecta agentes de programación con verificaciones automáticas para que detecten y corrijan sus propios errores.

Qué problema resuelve

Revisión humana consumida por fallos rutinarios que compiladores, linters o pruebas ya pueden detectar.

Cuándo utilizarlo

Flujos de programación asistida. Ejemplo: ejecutar tipos y pruebas relevantes después de cada cambio.

02

De la idea a la práctica

Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.

En el Radar compartido: Trial (valoración de la edición aportada).

Cómo funciona

Un sensor expone una señal accionable: código de salida, ubicación y causa del fallo. El agente usa esa evidencia para corregir y vuelve a verificar.

Ejemplo de uso

Tras modificar una API, ejecutar compilación, pruebas de contrato y un linter de arquitectura. Entregar al agente los errores concretos y exigir un resultado limpio antes de solicitar revisión.

Tipos de sensor

Sensor Velocidad Qué detecta
Formateador Milisegundos Estilo (se corrige solo)
Compilador / type checker Segundos Errores de tipos, firmas, imports
Linter Segundos Patrones prohibidos, código muerto, seguridad básica
Pruebas unitarias afectadas Segundos Regresiones de comportamiento
Fitness functions Segundos Dependencias prohibidas entre capas
Pruebas de integración y contrato Minutos Compatibilidad con otros servicios
Escáneres de seguridad Minutos Secretos, dependencias vulnerables
Mutation testing Minutos u horas Pruebas que no prueban nada

Los sensores rápidos van dentro del bucle del agente; los lentos, en CI antes de integrar.

Ejemplo: hooks en Claude Code

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [{ "type": "command", "command": "npm run --silent lint:fix" }]
      }
    ],
    "Stop": [
      {
        "hooks": [
          { "type": "command", "command": "./scripts/verificar-rapido.sh" }
        ]
      }
    ]
  }
}
#!/usr/bin/env sh
# scripts/verificar-rapido.sh: si algo falla, el agente recibe el error y continúa trabajando
npm run --silent typecheck && npm test --silent -- --changed || {
  echo "Hay errores de tipos o pruebas fallidas; corrígelos antes de terminar." >&2
  exit 2
}

En Claude Code, un hook que termina con código 2 bloquea la acción y entrega el mensaje de error al agente. Otros agentes ofrecen mecanismos equivalentes (reglas, comandos de verificación en las instrucciones).

Diseñar mensajes útiles para un agente

Mensaje poco útil Mensaje accionable
Tests failed FAIL CalculoInteresTest.mora_30_dias: esperado 15000, obtenido 14999 (línea 42)
Lint error src/pagos/api.ts:18 — no importes de 'infraestructura' desde 'dominio' (regla capas)
Salida de 2 000 líneas Resumen con los primeros errores y la ruta del informe completo

Protecciones

  • Límite de iteraciones: si el agente no consigue un resultado verde en N intentos, debe detenerse y pedir ayuda.
  • Impedir que «arregle» sensores: cambios en configuración de linters, umbrales o pruebas existentes requieren revisión humana.
  • Registro de qué sensores se ejecutaron y su resultado en el resumen del PR.

Criterios de implementación

Priorizar controles rápidos durante la sesión y reservar los costosos para etapas posteriores. Evitar bucles ilimitados y registrar comandos y resultados para poder revisar la corrección.

Continúa en las fuentes

Documentación oficial para verificar detalles y explorar más.