Cómo hacer que la IA encuentre errores reales en los Pull Requests en lugar de generar comentarios triviales
La mayoría de los bots de red neuronal para revisión de código funcionan de la misma manera. Reciben el diff de un commit, echan un vistazo a las líneas modificadas y generan docenas de comentarios superficiales. Como resultado, los desarrolladores reciben consejos de formato, docstrings faltantes u alucinaciones obvias cuando la IA carece de contexto de archivos vecinos. El equipo del proyecto Agent-Field decidió abordar el problema de manera diferente y creó la herramienta PR-AF.

Qué es PR-AF y para quién es
PR-AF significa Pull Request AgentField. Esta es una herramienta de código abierto para auditoría profunda de código en la etapa de CI/CD.
El proyecto no intenta competir con utilidades interactivas rápidas como Claude Code, que devuelven una respuesta en un par de segundos directamente en la terminal. PR-AF está diseñado para tareas diferentes: se ejecuta durante 35 a 50 minutos, pero construye un grafo dinámico de agentes, extrae árboles AST del repositorio y verifica cada hallazgo para falsabilidad.
La herramienta es útil para equipos que necesitan control de calidad automatizado estricto antes de fusionar en la rama principal. Esto es especialmente relevante para proyectos con un alto costo de errores en seguridad o arquitectura.
Cómo funciona la tubería dinámica
En lugar de ejecutar un script estático con un prompt codificado, PR-AF analiza la estructura de la solicitud de extracción entrante y ajusta el grafo de ejecución en consecuencia.

El proceso de análisis se divide en varias etapas.
Primero, el sistema evalúa el diff a través de tres slices diferentes: semántico, mecánico y sistémico. Se crean agentes revisores especializados temporales para las tareas identificadas.
Luego entra en acción el motor de verificación de pruebas. Si un agente cree que falta la validación de entrada en el código, el sistema no se lo toma como palabra. Escanea el repositorio, extrae el árbol AST y verifica la cadena de llamadas. El hallazgo se descarta si no se encuentra confirmación en el código.
En el siguiente paso, se activa el filtro de falsificación. El sistema intenta refutar su propia hipótesis sobre un error verificando las salvaguardas existentes y el comportamiento previsto del autor.
Al final, se conecta el sintetizador compuesto de riesgo. Los problemas menores aislados en diferentes archivos a menudo se combinan en una vulnerabilidad crítica. La herramienta vincula estos hallazgos en un único informe.
Resultados de referencia y economía
En el benchmark Martian Code-Review-Bench, el sistema PR-AF en combinación con el modelo abierto GLM-5.2 mostró una recuperación de detección de errores (golden recall) de 0.706. En el conjunto de pruebas de 42 herramientas, este resultado colocó al proyecto en primer lugar entre las soluciones de código abierto.
Durante las pruebas, el sistema descubrió de forma independiente 595 errores confirmados. Cuando se utilizan modelos comerciales superiores, los resultados son aún mayores.
Al mismo tiempo, el costo de una ejecución es aproximadamente 10 veces menor que las alternativas SaaS cerradas. Solo pagas por los tokens LLM a través de tu propia clave API, sin una suscripción mensual por usuario.
Inicio rápido y trabajo a través de API
Puedes lanzar PR-AF localmente en un par de minutos a través de Docker Compose.
git clone https://github.com/Agent-Field/pr-af.git
cd pr-af
cp .env.example .env
docker compose up --build
En el archivo .env, solo necesitas especificar tu OPENROUTER_API_KEY y GH_TOKEN con permisos de lectura y escritura para el repositorio. Después del inicio, el nodo de control estará disponible en el puerto 80.
Puedes enviar una solicitud de extracción para revisión con una solicitud HTTP estándar:
curl -X POST http://localhost:8080/api/v1/execute/async/pr-af.review \
-H "Content-Type: application/json" \
-d '{"input": {"pr_url": "https://github.com/owner/repo/pull/123"}}'
Como respuesta, recibes un JSON final con el análisis de vulnerabilidades, desglosado por nivel de gravedad. Si el bot tiene acceso a GitHub, automáticamente colocará comentarios justo en las líneas de código relevantes con evidencia de respaldo.
Integración con GitHub Actions
La forma más fácil de integrar la auditoría integrada es en CI/CD estándar. Se agrega un archivo .github/workflows/pr-af-review.yml al repositorio, y la ejecución se activa agregando una etiqueta pr-af a la solicitud de extracción.
name: AgentField PR Review
on:
pull_request:
types: [labeled]
jobs:
pr-af-review:
if: github.event.label.name == 'pr-af'
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout PR-AF
uses: actions/checkout@v4
with:
repository: Agent-Field/pr-af
path: pr-af
- name: Start AgentField & PR-AF
working-directory: ./pr-af
env:
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
docker compose up -d
sleep 15
- name: Execute Deep Architectural Audit
working-directory: ./pr-af
env:
PR_URL: ${{ github.event.pull_request.html_url }}
run: |
python3 scripts/ci_runner.py
El desarrollador adjunta la etiqueta al PR responsable, pasa media hora y aparece un informe detallado con hechos verificados en el hilo.
Bajo el capó
El nodo principal del proyecto fue reescrito recientemente en Go (el código vive en el directorio go/), lo que afectó positivamente la velocidad y el consumo de memoria. La implementación original en Python permanece disponible en el repositorio como alternativa.
El proyecto se distribuye bajo la licencia permisiva Apache 2.0. El código es completamente abierto, incluyendo scripts para reproducir los resultados del benchmark.
Conclusión
PR-AF ofrece un enfoque sensato para la revisión automatizada. En lugar de hacer spam en la compilación con comentarios superficiales, el sistema dedica tiempo al análisis detallado de AST y la verificación de hipótesis.
La herramienta es ideal para equipos que están cansados de los falsos positivos de los bots de IA regulares y necesitan un filtro de seguridad confiable en CI/CD. No es adecuada para correcciones rápidas de errores tipográficos, pero funciona excelentemente antes de fusionar funciones críticas en producción.
Proyectos relacionados