Skip to main content
Glama
Philippe012

MCP Software-Engineering RL Environment

by Philippe012

MCPソフトウェアエンジニアリングRL環境(ミニプロジェクト)

Model Context Protocol(MCP)を通じてAIコーディングエージェントを評価するための、再現可能なベンチマーク環境です。

エージェントはタスクを受け、MCPツールでリポジトリの情報を調べ、コードを編討し、決定的な検証を実行します。ベンチマークは、エージェントがツールを正しく使用したかどうか、そして最終的なリポジトリが仕様を満たしているかどうかを記録します。

シナリオ

リポジトリには、小さな在庫サービスが含まれています。特定の商品が複数のタグにマッチすると、其の製品が複数回台出ることがある、というバグが含まれています。エージェントはバグを診断し、既存機能を損しない修正を実装し、リグレッション・テストを追加する必要があります。

Related MCP server: Coding Tools MCP

環境契約

エージェントは、以下のMCPツールを利用できます:

  • list_files() - リポジトリの構造を確認する

  • read_file(path) - リポジトリ内のファイルを読む

  • search_code(query) - ソースコードを検索する

  • write_file(path, content) - ファイルを変更・作成する

  • run_tests() - 決定的なテストを実行する

  • git_diff() - 変更内容を確認する

環境自体は verify.py で結果を検証します。正解ソリューションは、golden/solution.patch に別途保存されます。

実行

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

別のターミナルで:

python verify.py

参考ソりューションを実行:

python apply_golden.py
python verify.py

ベンチマークのアイデア

評価のエピソードは次の通りです:

  1. リポジトリをタスクのシードにリセットする。

  2. エージェントにタスク文のみを与の。

  3. MCPサーバを起動する。

  4. エージェントはMCPを用いてファイルを調べる。

  5. エージェントは不具合を診断してコードを編集する。

  6. エージェントはテストを実行する。

  7. 決定的検証器が報酬を計算する。

簡単な報酬の例:

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

重要なのは、検証が決定的であることです。モデルが自身を採点することはありません。

Related MCP Connectors

Related MCP Servers