8000
Skip to content

Latest commit

 

History

History
244 lines (165 loc) · 12.1 KB

File metadata and controls

244 lines (165 loc) · 12.1 KB

Prove It

Tu IA dice que está arreglado. Que lo demuestre.

Prove It es una Agent Skill de código abierto para la verificación adversarial con Claude Code, OpenAI Codex, Cursor y otros agentes de programación con IA.

English · 简体中文 · Português do Brasil · 日本語 · Español · Русский

Agent Skill No dependencies Benchmark License

Sin Prove It, una prueba verde produce confianza prematura; Prove It detecta que se debilitó la aserción y devuelve FAILED.

Los agentes de programación son excelentes encontrando pruebas de que su propio trabajo salió bien.

Pruebas superadas. Build con código 0. Healthcheck 200. Ningún ERROR en los logs.

Entonces dicen: terminado.

Pero una señal positiva no implica que el resultado real sea correcto. Prove It obliga al agente a buscar activamente evidencias de que su conclusión es falsa antes de permitirle confiar en ella.

Úsalo para cuestionar correcciones de bugs, pruebas, pull requests, resultados de CI, logs, despliegues y cualquier afirmación confiada de “terminado” antes de creerla.

No intentes demostrar que funciona. Intenta demostrar que no funciona.

¿Quién necesita Prove It?

Lo necesitas si permites que un agente de programación con IA:

Tu agente… Prove It pregunta…
corrige bugs ¿Todavía puede ocurrir el bug original?
escribe o actualiza pruebas ¿Podrían pasar aunque el requisito esté roto?
revisa pull requests ¿Se debilitaron las aserciones, los tipos o los criterios de aceptación?
lee CI o logs ¿La evidencia está completa, es actual y procede del lugar correcto?
comprueba despliegues ¿La versión prevista se está ejecutando realmente en todas las instancias?
te dice que terminó ¿Qué hecho observable demostraría que esa conclusión es falsa?

Está pensado para el momento entre “la IA terminó” y “tú le crees”. No necesitas ser especialista en pruebas: invoca una skill e indica qué afirmación quieres someter a examen.

Instálalo en 30 segundos

Prove It está publicado en skills.sh. El instalador detecta Claude Code, Codex, Cursor y otros agentes compatibles:

npx skills add Pablo-aps/prove-it

Después, pídeselo directamente:

# Claude Code / Cursor
/prove-it review your last implementation and try to find a case where it still fails

# OpenAI Codex
$prove-it does this CI output actually prove the issue is resolved?

La skill también puede activarse automáticamente cuando pides al agente que demuestre, verifique, valide, confirme o vuelva a comprobar una afirmación.

Instalación manual

Copia SKILL.md en un directorio de skill llamado prove-it para tu agente:

Agente Ubicación en el proyecto Invocación
Claude Code .claude/skills/prove-it/SKILL.md /prove-it
OpenAI Codex .agents/skills/prove-it/SKILL.md $prove-it
Cursor .cursor/skills/prove-it/SKILL.md o .agents/skills/prove-it/SKILL.md /prove-it

Cuatro reglas. Un veredicto.

01 — DEFINE 02 — ATACA
Convierte “parece arreglado” en una afirmación que pueda ser falsa. Fija el alcance y los criterios de aceptación. Pregunta qué contradiría la afirmación. Ejecuta primero las comprobaciones seguras más decisivas.
03 — VERIFICA 04 — DECIDE
Verifica el resultado real, no una señal indirecta como un código de salida, HTTP 200 o un healthcheck verde. Devuelve PROVEN, FAILED, NOT PROVEN o BLOCKED con la evidencia.
CLAIM
All production replicas run abc123 and the migration is applied.

VERDICT
NOT PROVEN

WHY
The deploy job passed, but only four of six replicas are represented.

FALSIFICATION ATTEMPTS
- checked rollback events -> none found
- compared runtime image SHAs -> evidence exists for 4/6 replicas
- checked migration version -> no production schema evidence supplied

NEXT PROOF
1. read the image SHA from every replica
2. read the production migration version through an approved read-only path

Los veredictos tienen un significado preciso

Veredicto Úsalo cuando
PROVEN La evidencia directa cubre el alcance definido y los intentos relevantes de refutación no encuentran contradicciones.
FAILED La evidencia directa contradice la afirmación.
NOT PROVEN Se ejecutaron las comprobaciones disponibles, pero la evidencia es indirecta, incompleta, obsoleta o demasiado limitada.
BLOCKED No puede ejecutarse una comprobación necesaria por falta de acceso, datos, credenciales, herramientas o capacidad de prueba.

PROVEN tiene un alcance limitado de forma deliberada. Prove It no afirma aportar una prueba matemática, corrección universal ni seguridad futura.

Detecta el tipo de “terminado” que sale caro

pruebas verdes          ≠ bug original corregido
build verde             ≠ despliegue funcionando
despliegue completado   ≠ todas las réplicas usan la versión nueva
healthcheck 200         ≠ workers y dependencias saludables
HTTP 200                ≠ operación asíncrona completada
sin errores en el log   ≠ no ocurrió ningún error relevante
una petición funcionó   ≠ condición de carrera corregida
confianza del agente    ≠ evidencia

También busca pruebas falsificadas: tests omitidos, aserciones debilitadas, códigos de salida ignorados, catch vacíos, resultados codificados a mano, comportamiento sustituido por mocks y timeouts ampliados sin reproducir el fallo temporal.

Estos patrones no son incorrectos por sí mismos. Se convierten en evidencia contra una afirmación cuando ocultan, evitan o redefinen el comportamiento que se está verificando.

Consulta EXAMPLES.md para ver despliegues, logs, trabajo asíncrono, carreras en pagos, prueba positiva y verificación bloqueada.

Vibe Verification

Vibe verification es cuando un agente ve suficientes señales positivas para sentirse seguro y deja de buscar formas en las que su conclusión podría ser falsa.

Vibe verification: “Las pruebas pasan. Parece correcto.”
Prove It:          “¿Qué permitiría que pasaran mientras el bug sigue ahí?”

Es un cambio pequeño, memorable y útil en cualquier stack porque modifica el objetivo de la verificación, no el framework de pruebas.

Evidencia, no teatro de prompts

El repositorio incluye un benchmark reproducible de 12 casos con:

  • señales de éxito engañosas que deben terminar en FAILED;
  • evidencia incompleta que debe terminar en NOT PROVEN;
  • evidencia inaccesible que debe terminar en BLOCKED;
  • controles positivos que deben terminar en PROVEN.

Una ejecución orientativa con Codex CLI 0.147.0 · gpt-5.6-luna · low reasoning · 2026-08-18:

Baseline Con Prove It
Veredicto correcto 9/12 (75%) 12/12 (100%)
Controles positivos 2/3 (67%) 3/3 (100%)
Falsa seguridad 0/12 0/12
Intento de refutación 12/12 12/12

Prove It cambió tres decisiones en esta ejecución: dos vías de prueba explícitamente inaccesibles se clasificaron correctamente como BLOCKED, y una afirmación de despliegue bien delimitada y totalmente cubierta se aceptó como PROVEN en vez de quedar indefinidamente sin demostrar.

Cada caso utiliza el mismo modelo, artefacto de prompt, schema de salida y configuración de razonamiento. El tratamiento cambia una sola cosa: instala e invoca Prove It de forma explícita. Lee las 24 salidas sin procesar y la metodología completa de benchmark/.

Se trata de una ejecución por celda sobre casos creados durante el desarrollo de la skill. Es evidencia de que la skill cambió el comportamiento de este modelo en este conjunto de casos, no un estudio independiente, un ranking de modelos ni una afirmación universal de rendimiento.

El diseño también se apoya en un hallazgo más amplio: los modelos de lenguaje pueden favorecer la evidencia confirmatoria, y los prompts orientados a contraejemplos pueden reducir ese sesgo. Consulta Failing to Falsify, Large Language Models Cannot Self-Correct Reasoning Yet y el trabajo de Anthropic sobre la complacencia en los modelos de lenguaje. Estas fuentes motivan el mecanismo; no demuestran que la skill funcione para todos los modelos o tareas.

Preguntas frecuentes

¿Qué es Prove It?

Prove It es una pequeña Agent Skill de código abierto que hace que un agente de programación con IA defina una afirmación falsable, busque evidencia en contra, verifique el resultado real y devuelva un veredicto respaldado por pruebas.

¿Qué agentes de programación con IA son compatibles?

La skill sigue la especificación abierta Agent Skills y funciona con Claude Code, OpenAI Codex, Cursor y otros agentes compatibles. Todo el comportamiento está contenido en un único SKILL.md portátil.

¿En qué se diferencia de las pruebas o la revisión de código?

Las pruebas y las revisiones producen evidencia. Prove It cambia la forma en que el agente cuestiona e interpreta esa evidencia. No sustituye a ninguna de las dos.

¿Puede Prove It demostrar que un software es correcto?

No. Devuelve un veredicto limitado a las comprobaciones y evidencias realmente disponibles. Nunca afirma corrección formal, seguridad universal ni certeza sobre comportamientos no observados.

Lo que no es

Prove It es, intencionadamente, un único SKILL.md que puede leerse de una vez. No tiene dependencias de runtime, hooks, procesos en segundo plano, telemetría, MCP server ni capa de orquestación.

No es:

  • un framework de pruebas o un escáner de seguridad;
  • un sustituto de pruebas específicas del dominio, observabilidad o revisión humana;
  • permiso para ejecutar experimentos destructivos en producción;
  • una afirmación de que una IA puede probar la corrección de cualquier software.

Es un guardrail de comportamiento: define la afirmación, atácala, verifica el resultado y gánate el veredicto.

Pequeño a propósito

prove-it/
├── README.md          # entiéndelo en dos minutos
├── README.*.md        # cinco guías localizadas
├── EXAMPLES.md        # seis usos concretos
├── skills/prove-it    # todo el comportamiento
├── benchmark/         # evidencia reproducible
└── LICENSE

La skill sigue la especificación abierta Agent Skills. Las contribuciones son bienvenidas cuando hacen más preciso el comportamiento central sin convertir el proyecto en un framework.

La IA escribe la corrección. Prove It intenta romperla.

Creado y mantenido por PABLO.

Informar de un problema · Leer la skill · Ejecutar el benchmark

0