Was macht auto-harness?
Automatisiere Coding-Agent-Schleifen mit Benchmarks, sich selbst aktualisierenden Evaluierungen und iterativen Prompt- und Tool-Fixes, um die Aufgabenleistung über Nacht zu verbessern.
Überblick
Der auto-harness ist ein Framework, das KI-Coding-Agenten in die Lage versetzt, ihre eigene Leistung automatisch zu optimieren. Es führt einen geschlossenen Kreislauf aus: Benchmarking → Evaluierung → Optimierung → erneutes Benchmarking. Ohne menschliches Eingreifen können so Prompts, Tools und Verhaltensweisen des Agenten iterativ verbessert werden.
Funktionsweise
- Benchmarking: Der Agent führt einen vordefinierten Satz an Aufgaben aus, die seine Fähigkeiten in Bereichen wie Code-Generierung, Debugging oder Refactoring testen.
- Selbstaktualisierende Evaluierungen: Basierend auf den Ergebnissen werden bestehende Evaluierungen dynamisch angepasst oder neue erstellt, um spezifische Lücken zu adressieren.
- Iterative Optimierung: Prompts, Tool-Konfigurationen oder sogar der Agentencode selbst werden modifiziert, getestet und nur übernommen, wenn eine messbare Verbesserung vorliegt.
- Automatischer Betrieb: Der gesamte Zyklus kann über Nacht oder in CI/CD-Pipelines ohne manuelle Überwachung ablaufen.
Unterstützte Plattformen
- Claude Code
- Cursor
- Codex
- Andere CLI-basierte Coding-Agenten (anpassbar)
Installation
git clone https://github.com/wellpreserved-sarcoptidae182/auto-harness.git
cd auto-harness
pip install -r requirements.txt
Verwendung
# Standard-Benchmark ausführen
python run_harness.py --benchmark standard
# Mit automatischer Optimierung über Nacht
python run_harness.py --benchmark standard --optimize --iterations 10
# Evaluierungen aktualisieren
python run_harness.py --update-evals
Konfiguration
Erstelle eine config.yaml im Stammverzeichnis:
agent:
platform: "claude-code" # oder "cursor", "codex"
model: "claude-3-opus-20240229"
benchmarks:
- name: "code_generation"
tasks: 20
- name: "debugging"
tasks: 15
optimization:
max_iterations: 10
improvement_threshold: 0.05 # 5% Verbesserung erforderlich
evals:
auto_update: true
update_frequency: "daily"
Umgebungsvariablen
API_KEY: API-Schlüssel für den Agenten (falls erforderlich)BENCHMARK_DIR: Pfad zu benutzerdefinierten Benchmark-AufgabenLOG_LEVEL: Logging-Level (Standard: INFO)
Beispiel für eine Evaluierung
def eval_code_quality(generated_code, expected_output):
"""Bewertet die Qualität des generierten Codes."""
score = 0
if syntax_check(generated_code):
score += 0.5
if functional_correctness(generated_code, expected_output):
score += 0.5
return score
Lizenz
MIT