Skip to content

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

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.

Approfondimenti