Anthropic Performance Take‑Home:开源基准测试

什么是 Anthropic Performance Take‑Home?

最近,Anthropic 在 GitHub 上发布了一个 Performance Take‑Home 仓库,邀请社区挑战真实场景的优化难题。目标很简单:编写代码,在比 Claude Opus 4.5 在 2 小时测试框架下更少的时钟周期内完成特定任务。仓库有意去除高级功能,让每个人都从同一慢速基线开始。

“最初的 take‑home 是 4 小时版本,内容与本仓库相近;Claude Opus 4 在多小时测试中领先大多数人后,更新为 2 小时版本,起始代码实现 18532 个周期(比本仓库起始速度快 7.97 倍)。” – README节选

为什么你会关心?

  • 实战 AI 基准 – 如果你是 AI 工程师,这能让你具体衡量系统对比领先模型的性能。
  • 面向岗位的实战经验 – Anthropic 公开邀请打破纪录的提交:“如果你在 1487 周期以下实现(低于 Claude Opus 4.5 发布时的最佳性能),请发送邮件至 performance‑[email protected]。”
  • 学习机会 – 仓库展示了真实世界的 Python 优化、测试结构以及通过修改测试框架作弊的风险。

仓库结构

仓库保持直观简洁。以下是其结构概览:

├─ .gitignore          # 标准忽略
├─ Readme.md            # 挑战说明与基准
├─ perf_takehome.py     # 参考实现(慢速基线)
├─ problem.py          # 问题逻辑(核心算法)
├─ watch_trace.py      # 简易剖析工具
├─ watch_trace.html     # 跟踪数据 HTML 可视化
└─ tests/
   ├─ __init__.py
   ├─ submission_tests.py  # 运行器,打印周期计数
   └─ ...(fixtures 与工具脚本)

关键文件

  • problem.py – 算法核心;如需更改问题求解方式即修改此文件。
  • perf_takehome.py – 调度测试并打印周期计数的包装器。
  • tests/submission_tests.py – 唯一需要运行来验证解法的文件。

运行测试

仓库附带最小测试框架。请在仓库根目录执行以下命令:

# 确认测试目录未被改动
git diff origin/main tests/
# 运行基准并打印周期计数
python tests/submission_tests.py

如果 git diff 输出为空,说明你没有修改任何测试文件——这是一种防止“作弊”的安全检查。第二条命令会输出类似如下:

Total cycles: 18532

你的任务是将该数字降低。

如何突破基准

  1. 先基准 – 克隆仓库并运行测试,记录初始周期计数。
  2. 先剖析 – 使用 watch_trace.py 或标准剖析器(如 cProfile)定位热点。
  3. 微观优化 – 典型收益来自:
  4. 消除不必要的循环
  5. 用内置函数替代纯 Python 代码
  6. 避免循环内全局查找
  7. 算法调优 – 在某些情况下,使用更佳的数据结构或算法可大幅削减周期。
  8. 检查多核 – 仓库显式禁用多核支持;对核心数进行任何篡改都会被视为作弊。
  9. 验证 – 每次调整后,重新运行 tests/submission_tests.py 检查新周期计数。
  10. 提交 – 当你达到 1487 以下时,发送 PR 并附上已验证测试的说明。

常见失误

  • 修改测试文件 – 即使一丁点改动也可能大幅降低周期,但不被允许。
  • 重实现测试框架 – 在代码中复制测试 harness 以绕过检查被视为作弊。
  • 忽略边界情况 – 测试涵盖全面场景,忽略会导致提交失败。

基准数字

以下是 Anthropic 作为参考记录的周期计数:

模型 周期 说明
Claude Opus 4 2164 多小时测试后
Claude Opus 4.5 1790 随机 Claude 代码会话
Claude Opus 4.5 1579 2 小时 harness
Claude Sonnet 4.5 1548 多小时后
Claude Opus 4.5 1487 11.5 小时 harness
Claude Opus 4.5 1363 改进 harness

你的目标是低于 1487

超越挑战

即使你无法打破记录,整个过程也能教你:

  • 剖析技巧 – 如何在 Python 中定位瓶颈。
  • 算法思维 – 时间与空间的平衡。
  • 可复现性 – 干净测试框架的重要性。

你也可以通过添加自己的测试或将逻辑移植到其它语言来实验。欢迎分叉并与社区分享你的发现。

结束语

Anthropic 的 Performance Take‑Home 不仅是一次编码练习;它是窥见高级语言模型背后真实工程的窗口。无论你是想爬上顶尖 AI 实验室,还是只是想在 Python 中挖掘性能,这个仓库都提供了一个可操作、可衡量的挑战。

现在你已掌握大纲,快来开始动手吧。克隆仓库、剖析、调优,看看你是否能突破 2 小时标记。祝你好运!

原创文章: 查看原文

分享本文