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?
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.