Valutazione degli agenti di programmazione
Come valutare gli agenti di programmazione esaminando diff, output del terminale e tracce SWE-bench, Aider e Claude Code, con la vista delle tracce di codice di Potato.
Un agente di programmazione modifica file, esegue comandi e legge l'output per risolvere un task di programmazione. Valutarlo somiglia a rivedere una pull request che comprende anche la sessione di terminale: giudichi le modifiche al codice e i passi che le hanno prodotte. Annota le traiettorie di SWE-agent, Aider e Claude Code con Potato, uno strumento gratuito e self-hosted che mostra diff e blocchi di terminale pronti per la revisione.
Si accompagna ai benchmark automatici come SWE-bench; la revisione umana intercetta la patch plausibile ma sbagliata che supera un test debole.
Cosa esamina l'annotatore in un run di un agente di programmazione?
- Diff: diff unificati con codice colore per ogni modifica ai file, con i numeri di riga e una barra laterale con l'albero dei file.
- Comandi e output: blocchi di terminale che mostrano cosa ha eseguito l'agente e cosa è tornato indietro.
- Ragionamento: i pensieri dell'agente tra un'azione e l'altra.
Potato legge le tracce degli agenti di programmazione, compresi i formati SWE-bench, Aider e Claude Code. Vedi Annotazione di agenti di programmazione e Annotazione di code review.
Cosa devo giudicare in un run di un agente di programmazione?
- Correttezza: la modifica risolve il task senza rompere altro?
- Qualità dei passi: ogni modifica o comando aveva senso, oppure l'agente procedeva a tentoni?
- Efficienza: ha seguito un percorso ragionevole?
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]Come rendo affidabile la valutazione di un agente di programmazione?
- Dai agli annotatori la descrizione del task e il contesto del repository; un diff non dice niente senza l'obiettivo.
- Per le catene di ragionamento in cui conta il primo errore, vedi Process reward model.
- Per guardare un agente scrivere codice in tempo reale invece di rivedere una registrazione, vedi Valutazione di agenti dal vivo.