Skip to content

编码智能体评估

如何评估编码智能体,审阅 diff、终端输出以及 SWE-bench/Aider/Claude Code 轨迹,并借助 Potato 的编码轨迹展示功能。

编码智能体会编辑文件、运行命令、读取输出来解决一项编程任务。评估它就像审阅一个同时包含终端会话的拉取请求:你既要评判代码改动,也要评判产生这些改动的步骤。 用 Potato 标注 SWE-agent、Aider 和 Claude Code 的轨迹,它是一款免费、可自托管的工具,会渲染 diff 和终端块供审阅。

这与 SWE-bench 等自动化基准互为补充;人工审阅能抓出那些看似合理却错误、并骗过了薄弱测试的补丁。

在编码智能体运行中,标注者审阅什么?

  • Diff:每个文件改动的彩色统一 diff,带行号和文件树侧边栏。
  • 命令与输出:展示智能体运行了什么、返回了什么的终端块。
  • 推理:智能体在各步动作之间的思考过程。

Potato 可读取编码智能体轨迹,包括 SWE-bench、Aider 和 Claude Code 格式。参见编码智能体标注代码审查标注

在编码智能体运行中,我该评判什么?

  • 正确性:这次改动是否在不破坏其他部分的前提下解决了任务?
  • 步骤质量:每次编辑/命令是合理的,还是在乱撞?
  • 效率:它走的路径是否合理?
yaml
annotation_schemes:
  - annotation_type: per_turn_rating
    name: step_correctness
    description: "Judge each edit or command."
    target: agentic_steps
    rating_type: radio
    labels: ["Correct", "Partially correct", "Incorrect", "Unnecessary"]
  - annotation_type: radio
    name: overall
    description: "Does the final change solve the task?"
    labels: [Solved, Partially solved, Not solved]

如何让编码智能体评估保持可靠?

  • 把任务描述和代码仓库上下文一并给标注者;脱离目标的 diff 毫无意义。
  • 关于首个错误的推理链,参见过程奖励模型
  • 若想实时观看智能体编码而非审阅录制内容,参见实时智能体评估

延伸阅读