Skip to main content
Glama
Philippe012

MCP Software-Engineering RL Environment

by Philippe012

MCP Software-Engineering RL Environment (Miniproyecto)

Un entorno de evaluación reproducible para evaluar a un agente de codificación de IA mediante Model Context Protocol (MCP).

El agente recibe una tarearea, descubre información del repositorio a través de las herramientas de MCP, edita el código y ejecuta una verificación determinista. La evaluación registra si el agente usó las herramías correctamente y si el repositorio final cumple con la especificación.

Escenario

El repositorio contiene un pequeño servicio de inventario. InventoryService.search() tiene un fallo intencionado: cuando un producto tiene varias etiquetas coincidentes, puede aparecer más de una vez. El agente debe diagnosticar el fallo, implementar una corrección que no afecte a la funcionalidad existente y añadir una prueba de regresión.

Related MCP server: Coding Tools MCP

Contr un del entorno

El agente puede usar estas herramías MCP:

  • list_files() - inspeccionar la estrucura del repositorio

  • read_file(path) - leeer los archivos del repositorio

  • search_code(query) - buscar en el código fuente

  • write_file(path, content) - modificar/crear archivos

  • run_tests() - ejecutar las pruebas deterministas

  • git_diff() - inspeccionar los cambios

El propío entorno verifica el resultado con verify.py. La solución de referencia se almiribra por separado en golden/solucion.patch.

Ejeccución

python -m venv .venv
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell: .venv\\Scripts\\Activate.ps1
pip install -r requirements.txt

python -m mcp_rl_env.server

Otra terminal:

python verify.py

Ejeccuta la solución de referencia:

python apply_golden.py
python verify.py

Idea de la evaluación

Un episodio de evaluación es:

  1. Restablecer el repositorio al estado semilla de la tarearea.

  2. Dar al agente únicamente el anunciado de la tarea.

  3. Iniciar el servidor MCP.

  4. El agente descubre archivos mediante MCP.

  5. El agente diagnosticia y edita el código.

  6. El agente ejecuta las pruebas.

  7. El verificador determinista calcula la recompensa.

Una recompensa simple puede ser:

reward = 0.50 * tests + 0.20 * regrestion_test + 0.15 * tool_use + 0.15 * patch_quality

El punto impor pend is que la nueva clasificación; no el model. El clave es que la verificación es determinista; el model no se califica a sí mismo.

Related MCP Connectors

Related MCP Servers