Skip to content

Latest commit

 

History

History
287 lines (203 loc) · 11.1 KB

File metadata and controls

287 lines (203 loc) · 11.1 KB

🔭 Uebersicht

ClawArena ist eine Benchmark-Evaluationsplattform fuer KI-Coding-Agenten. Sie bietet eine einheitliche Pipeline zum Ausfuehren von Inferenz, Bewerten von Ergebnissen und Vergleichen der Leistung verschiedener Agenten-Frameworks auf demselben Satz realistischer Multi-Session-Szenarien.

  • 64 Szenarien in 8 Domaenen — Technik/HR, Krankenhaus, NGO, Klinik, Content Creator, Finanzen, HR, Campus
  • 1.879 Evaluationsrunden mit einer Mischung aus Multiple-Choice-Reasoning und ausfuehrungsbasierten Pruefungen
  • Multi-Session-Kontext — Agenten muessen ueber Workspace-Dateien, Chat-Verlaeufe ueber mehrere Kanaele und dynamische Updates nachdenken, die waehrend der Evaluation eintreffen
  • Framework-agnostisch — beliebige Agenten ueber Adapter einbinden; 5 Frameworks werden nativ unterstuetzt
  • MetaClaw-Integration — Evaluierung von Agenten, die mit Gedaechtnis, Faehigkeiten und Reinforcement Learning erweitert wurden
ClawArena Datensatz

📈 Rangliste

ClawArena Rangliste

🚀 Schnellstart

1. Alles installieren

bash scripts/setup.sh

Dies installiert ClawArena und alle unterstuetzten Framework-CLIs (Claude Code, PicoClaw, Nanobot) mit einem einzigen Befehl. Siehe Installationsanleitung fuer manuelle Installation und MetaClaw-Installation.

2. Benchmark ausfuehren

Konsultieren Sie zuerst scripts/env_example.sh zur Konfiguration der Umgebungsvariablen und fuehren Sie dann aus:

python scripts/test_run.py

Bearbeiten Sie scripts/test_run.py um Frameworks, Parallelitaet, Timeout und Ausgabepfad zu konfigurieren.

Oder verwenden Sie das CLI direkt
# Datenintegritaet validieren
clawarena check --data data/clawarena/tests.json

# Inferenz fuer ein einzelnes Framework ausfuehren
clawarena infer --data data/clawarena/tests.json --framework openclaw --out results/

# Ergebnisse bewerten
clawarena score --infer-dir results/

# Bericht generieren
clawarena report --score-dir results/ --out report/

# Vollstaendige Pipeline (Inferenz + Bewertung + Bericht + Vergleich)
clawarena run --data data/clawarena/tests.json --frameworks openclaw,claude-code --out output/

Siehe CLI-Referenz fuer alle Befehle und Optionen.


🤖 Unterstuetzte Frameworks

Framework Typ Sprache Hinweise
OpenClaw CLI-Agent Node.js
MetaClaw LLM-Proxy Python Nur in OpenClaw und Nanobot unterstuetzt
Claude Code CLI-Agent Node.js Unterstuetzt durch Claude Code Router
PicoClaw CLI-Agent Go
Nanobot CLI-Agent Python

Neue Frameworks koennen ueber das Plugin-System hinzugefuegt werden, ohne den Kerncode zu aendern.


📊 Daten & Evaluation

Jedes Szenario enthaelt:

  • Workspace-Dateien — Dokumente, Tabellenkalkulationen, Code, den der Agent lesen kann
  • Sitzungsverlaeufe — Mehrkanalige Chat-Protokolle (Instant Messaging, E-Mail, Slack usw.)
  • Evaluationsfragenmulti_choice (Reasoning) und exec_check (Ausfuehrungsverifikation)
  • Dynamische Aktualisierungen — neue Sitzungen und Dateien, die zwischen den Runden eingefuegt werden

Zwei Fragetypen:

Typ Testet Wie
multi_choice Reasoning und Verstaendnis des Agenten Extraktion von \bbox{A,B,...} aus der Antwort, Berechnung von IoU/F1 gegen die Ground Truth
exec_check Aktionen und Dateiausgabe des Agenten Ausfuehrung von Shell-Befehlen zur Ueberpruefung von Exit-Code und stdout
Datenkonstruktions-Pipeline (zum Erweitern klicken)
ClawArena Konstruktions-Pipeline

Siehe Data Spec fuer das vollstaendige Sechs-Schichten-Spezifikationssystem, das zur Konstruktion aller 64 Szenarien verwendet wurde.

Wir haben die vollstaendigen Datenkonstruktionsspezifikationen als Open Source veroeffentlicht — einschliesslich des Sechs-Schichten-Szenariodesigns, der Syntheserichtlinien und der Fehlerdokumentation — in docs/data-spec/.

Siehe Datenstruktur fuer die vollstaendige Formatspezifikation.


🔍 Fallstudien

Fall 1-2: Multiquellen-Konflikt-Reasoning und dynamische Ueberzeugungsrevision
Fall 1-2
Fall 3-4: Selbstdiagnose-Genauigkeit und Audit der impliziten Praeferenzkonformitaet
Fall 3-4
Fall 5-6: Ausfuehrungsverifizierte Fehlerbehebung und statistischer Methodenkonflikt
Fall 5-6
Fall 7-8: Normrueckwirkungsbias und Volldimensionsintegration
Fall 7-8

🦞 MetaClaw-Integration

ClawArena unterstuetzt MetaClaw als transparente Proxy-Schicht zur Evaluierung von Agenten, die mit Gedaechtnis, Faehigkeiten und Reinforcement Learning erweitert wurden. Unterstuetzte Frameworks: OpenClaw und Nanobot.

Fuegen Sie ein metaclaw-Feld zu tests.json hinzu:

{
  "metaclaw": {
    "enabled": true,
    "managed": true,
    "config_path": "metaclaw/memory.yaml",
    "memory_trigger": { "every_n_rounds": 6, "on_last_round": true }
  }
}

Siehe MetaClaw-Anleitung fuer verwaltete/nicht verwaltete Modi, Trigger-Konfiguration und YAML-Vorlagen.


🔌 Plugin-System

Fuegen Sie neue Framework-Adapter hinzu, ohne den Kerncode zu aendern:

clawarena infer --data tests.json --framework my_agent --out results/ --plugin my_agent.py

Siehe Plugin-Anleitung fuer die Adapter-Schnittstelle und Engine-Runden-Hooks.


📖 Dokumentation

Dokument Beschreibung
Installation Installationsanleitung fuer ClawArena, Frameworks und MetaClaw
CLI-Referenz Alle Befehle, Optionen und Umgebungsvariablen
Datenstruktur Datensatzformat, Fragetypen, Manifest-Schema
Anbieter-Anleitung LLM-Anbieter-Konfiguration und Prioritaetskette
MetaClaw-Anleitung MetaClaw-Integrationsmodi und Trigger-Hooks
Plugin-Anleitung Schreiben und Registrieren externer Framework-Adapter

🏗️ Projektstruktur

ClawArena
├── src/clawarena/
│   ├── cli.py               # CLI-Einstiegspunkt
│   ├── core/                # Pipeline: Inferenz, Bewertung, Bericht, Vergleich, Pruefung, Ausfuehrung, Bereinigung, Statistiken
│   ├── engines/             # Agenten-Ausfuehrungsengines (pro Framework)
│   ├── data_handlers/       # Datenladen, Validierung, Arbeitskopieverwaltung (pro Framework)
│   ├── adapters/            # Framework-Adapter-Komposition und -Registrierung
│   ├── qtypes/              # Fragetypen: multi_choice, exec_check
│   ├── metaclaw/            # MetaClaw-Proxy-Lebenszyklus und Trigger-Hooks
│   └── plugins/             # Laden externer Adapter (--plugin)
├── data/clawarena/          # Datensatz: 64 Szenarien, 1879 Fragen
├── docs/                    # Dokumentation
│   └── data-spec/     # Sechs-Schichten-Datenkonstruktionsspezifikation
├── scripts/                 # Installation, Testrunner, Vergleichsdienstprogramme
├── helpers/                 # Framework-spezifische Hilfs-Hooks
└── tests/                   # Testsuite (229 Tests)

🛠️ Entwicklung

pip install -e ".[dev]"
pytest

🙏 Verwandte Projekte

ClawArena baut auf den folgenden Open-Source-Agenten-Frameworks auf und evaluiert diese:

  • OpenClaw — der primaer evaluierte CLI-Agent.
  • MetaClaw — Meta-Learning-Proxy, der Agenten mit Gedaechtnis, Faehigkeiten und Reinforcement Learning erweitert.
  • Claude Code — Anthropics agentisches Coding-Tool.
  • PicoClaw — leichtgewichtiger Go-basierter CLI-Agent.
  • Nanobot — nativer Python-CLI-Agent mit Anthropic-API-Unterstuetzung.
  • Claude Code Router — Weiterleitung von Claude-Code-Anfragen an verschiedene Modelle.

📚 Zitation

@article{ji2026clawarena,
  title={ClawArena: A Multi-Framework Benchmark for Evaluating AI Coding Agents on Realistic Multi-Session Scenarios},
  author={Ji, Haonian and Xiong, Kaiwen and Han, Siwei and Xia, Peng and Qiu, Shi and Zhou, Yiyang and Liu, Jiaqi and Li, Jinlong and Li, Bingzhou and Zheng, Zeyu and Xie, Cihang and Yao, Huaxiu},
  journal={arXiv preprint arXiv:2604.04202},
  year={2026}
}

📄 Lizenz

Dieses Projekt steht unter der MIT-Lizenz.