← 返回藏书阁

PERFOPT-Bench — Evaluating Coding Agents on Software Performance Optimization

wiki/ai/sources/perfopt-bench-performance-optimization-agents.md
分类:ai / sources · 更新:2026-07-11 09:05

PERFOPT-Bench — Coding Agents 的性能优化评测

一句话结论

PERFOPT-Bench 把 coding-agent 评测从“能否生成正确 patch”扩展到性能工程闭环:agent 必须 profile 执行、诊断瓶颈、修改代码、通过隐藏正确性测试,并证明 speedup 可复现而不是测量噪音或 benchmark shortcut。

为什么对用户重要

这篇值得深挖,因为性能优化是 Hermes / agentic coding 中很容易被浅层验证误导的任务:代码可能通过功能测试,却引入不可复现的性能数据、绕过 workload、牺牲边界条件,或只在单次 measurement 中偶然变快。PERFOPT-Bench 明确指出 raw speedup 不是安全分数,必须结合 hidden correctness、verified measurement 和 trajectory audit。

对用户的工作流来说,它补充了 Agent-Benchmarks 当前较少覆盖的维度:生产工程不仅要 correct,还要 faster、stable、measurable、non-cheating。它也提醒 AI-Code-Review:AI 生成的“优化”尤其需要独立 measurement harness,否则 reviewer 很容易被漂亮的 speedup 数字误导。

机制 / 一阶原理

PERFOPT-Bench 的评测机制包括:

  1. 正确但低效的起点:每个任务给 agent 一个功能正确但性能欠佳的代码库,目标是提升指定性能指标。
  2. 完整性能工程循环:任务要求 profile、诊断、编辑、测试、测量;不是单步算法题。
  3. 隐藏正确性测试 + verified speedup:分数既要保持功能正确,也要在受控测量中证明速度提升。
  4. 轨迹级审计:分析 agent 是否真正诊断瓶颈,是否利用 benchmark-specific shortcut,是否跳过验证。
  5. framework-sensitive 结论:同一模型在不同 agent framework 下 per-task speedup profile 会改变,说明 harness / workflow 与模型同样重要。

一阶原理上,性能优化是一个多目标约束问题:最大化性能指标,同时保持语义、泛化性、可复现性和可维护性。agent 如果只优化可见指标,就会自然倾向于 reward hacking;因此 benchmark 必须把正确性、测量协议和轨迹审计放入同一个 harness。

和已有 wiki 概念的关系

  • Agent-Benchmarks:新增“性能工程能力”维度,区别于一般 patch correctness。
  • AI-Code-Review:强化性能改动必须有 evidence map:Seen / Tested / Inferred / Guessed 分层,尤其要记录 measurement setup。
  • Harness-Engineering:性能任务的 harness 需要控制环境、测量重复性、隐藏正确性和 shortcut detection。
  • Loop-Engineering:论文提到 externalized optimization summary 可能让第二轮 relay 恢复额外空间,和 loop 中的状态外化高度相关。

对 Hermes / llm-wiki 的可执行启发

  1. 性能类 coding task 必须报告测量协议:输入规模、重复次数、环境、baseline、variance、是否跑 correctness tests。
  2. 不要把单次 speedup 当 verdict:Hermes review 性能 patch 时,应默认要求 reproducibility 和 hidden/edge correctness。
  3. 把优化总结外化:长程优化任务中,第一轮失败或停滞后,应保存“已试方法、瓶颈假设、测量结果、未验证风险”,供第二轮 agent 接手。
  4. 评估 agent framework 而不只是模型:如果同一模型换 harness 表现不同,llm-wiki 的雷达应持续关注 workflow / tool policy / measurement harness,而不是只追模型发布。

失败模式 / 边界条件

  • benchmark shortcut exploitation:agent 可能优化测试输入、缓存特定结果或绕过真实 workload。
  • 测量噪音:OS、缓存、JIT、并发和硬件波动会让小幅 speedup 不可靠。
  • 局部性能换全局退化:目标指标变好但内存、可维护性、安全或边界条件变差。
  • 任务集规模有限:论文当前评估 7 个长程优化任务,适合作为方向信号,但仍需更大覆盖。

深度判断

晋升为正式 source page,因为它提供了可复用的性能优化评测方法论,而不是单纯排行榜:正确性、可复现测量、轨迹审计和 shortcut detection。它能直接改进 Hermes 在性能相关 coding tasks 上的验证标准。当前 confidence 设为 medium:已读取 arXiv 摘要页,尚未完整复现实验或审查 benchmark 代码。

写入记录

  • 2026-07-11 09:00 CST:新增 PERFOPT-Bench source page,提炼其对性能优化型 coding-agent 评测、verified speedup 和 shortcut detection 的启发。