Skip to main content
Glama
Philippe012

MCP Software-Engineering RL Environment

by Philippe012

MCP-Software-Engineering-RL-Umgebung (Mini-Projekt)

Eine reproduzierbare Benchmark-Umgebung zur Bewertung eines KI-Codings-Agenten über das ModelContext Protocol (MCP).

Der Agent erält eine Aufgab, entdeckt über MCP-Werkzeuge Informatioen zum Repository, bearbeitet Code und führt deterministische Verifizierung aus. Der Benchmark erfasst, ob der Agent die Werkzeuge korrekt verwendt hat und ob das resultieende Repos de Spezifikation erfüll.

Szenario

Das Repository entält einen kleinen Inventar-Dienst. InventoryService.uch() ist absichtlich fehlerhaft: Wenn ein Produkt mehrere übereinstmende Tags hat, kann es mehr als einmal ercheinen. Der Agent muss den Fehler diagnosticizieren, einen funktionssicheren ist implementieren und einen newenen Regressionsst hinzüftigen.

Related MCP server: Coding Tools MCP

Umgebungsvertrag

Der Agent kann die folgende MCP-Werkzeuge verwenden:

  • list_files() – Repository-Struktur anzeigen

  • read_file(path) – Repository-Daeien lesen

  • search_code(query) – Quellcode durchsuchen

  • write_file(path, content) – Daeien ändern/erstellen

  • run_tests() – determinische Tests ausführen

  • git_diff() – Änderungen anzeigen

Die Umgebung selbst verifiziert das Ergebnis mit verify.py. Die Gold-Lösung liegt getrennt in golden/solution.patch gespeichert.

Ausführen

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

In einem anderen Terminal:

python verify.py

Führen Sie die Referenz aus:

python apply_golden.py
python verify.py

Benchmark-Bewertung

Eine Auswertung-Episode läuft so ab:

  1. Setze das Repositort auf den Ausgangszustand der Aufgab zurück.

  2. Dem Tack nur die Aufgabstellung geben.

  3. Starten Sie den MCP-Server.

  4. Der Agent entdeckt Dateien über MCP.

  5. Der Agent diagnosticier und bearbeitet Code.

  6. Der Agent für die Tests aus.

  7. Der deterministischer Verifizierer erechnet die Belohnung.

Eine, Belohnung kann bei sind:

reward = 0.50 * tests + 0.20 * regression_test + 0.15 * tool_use + 0.15 * patch_stat_quality

Wichtig ist, dass die Verifizierung deterministisch ist; das Modell bewertet sich nicht selbst.

Related MCP Connectors

Related MCP Servers