Skip to content

Evaluation von Coding-Agenten

Wie du Coding-Agenten evaluierst: Diffs, Terminalausgaben und Traces aus SWE-bench, Aider und Claude Code prüfen, mit Potatos Darstellung für Coding-Traces.

Ein Coding-Agent bearbeitet Dateien, führt Befehle aus und liest deren Ausgabe, um eine Programmieraufgabe zu lösen. Ihn zu evaluieren ähnelt dem Review eines Pull Requests, dem die Terminalsitzung beiliegt: Du beurteilst die Codeänderungen und die Schritte, die zu ihnen geführt haben. Trajektorien von SWE-agent, Aider und Claude Code annotierst du mit Potato, einem kostenlosen, selbst gehosteten Werkzeug, das Diffs und Terminalblöcke zum Prüfen darstellt.

Das ergänzt automatisierte Benchmarks wie SWE-bench; die menschliche Durchsicht findet den plausiblen, aber falschen Patch, der an einem schwachen Test vorbeikommt.

Was prüfen Annotierende an einem Lauf eines Coding-Agenten?

  • Diffs: farblich markierte Unified Diffs jeder Dateiänderung, mit Zeilennummern und einer Dateibaum-Seitenleiste.
  • Befehle und Ausgabe: Terminalblöcke, die zeigen, was der Agent ausgeführt hat und was zurückkam.
  • Begründungen: die Gedanken des Agenten zwischen den Aktionen.

Potato liest Traces von Coding-Agenten, darunter die Formate von SWE-bench, Aider und Claude Code. Siehe Annotation von Coding-Agenten und Code-Review-Annotation.

Was sollte ich an einem Lauf eines Coding-Agenten beurteilen?

  • Korrektheit: Löst die Änderung die Aufgabe, ohne anderes kaputtzumachen?
  • Schrittqualität: War jede Änderung, jeder Befehl sinnvoll, oder war das Herumstochern?
  • Effizienz: War der eingeschlagene Weg vernünftig?
yaml
annotation_schemes:
  - annotation_type: trajectory_eval
    name: step_correctness
    description: "Judge each edit or command."
    steps_key: agentic_steps
    correctness_options: ["Correct", "Partially correct", "Incorrect", "Unnecessary"]
  - annotation_type: radio
    name: overall
    description: "Does the final change solve the task?"
    labels: [Solved, Partially solved, Not solved]

Wie halte ich die Evaluation von Coding-Agenten verlässlich?

  • Gib den Annotierenden die Aufgabenbeschreibung und den Kontext des Repositorys; ohne das Ziel sagt ein Diff nichts aus.
  • Für Argumentationsketten, bei denen der erste Fehler zählt, siehe Process Reward Models.
  • Willst du einem Agenten beim Programmieren live zusehen, statt eine Aufzeichnung zu prüfen, siehe Live Agent Evaluation.

Weiterführende Lektüre