Claude 3.5 Sonnet 在 SWE

来自 Anthropic Engineering · 期号 2025-01-06

摘要

Anthropic 升级版 Claude 3.5 Sonnet 在 SWE-bench Verified 上达到 49%,超过此前最优模型的 45%。 SWE-bench 评测的是模型加外围脚手架构成的完整 agent 系统,而非模型本身。Anthropic 的设计哲学是让脚手架尽量薄,把控制权交给模型:agent 只有一条提示词、一个 Bash 工具和一个编辑工具,模型自行决定如何推进问题,而不是走硬编码的固定流程。 原文附了完整的提示词和工具实现,供开发者复现。

深读

导读 Anthropic 公布了升级版 Claude 3.5 Sonnet 在 SWE-bench Verified 上的评测结果:49%,超过此前最优模型的 45%。这篇文章详细解释了背后的 agent 系统设计,一个极简的脚手架,只有一条提示词、一个 Bash 工具和一个编辑工具,把控制权完全交给模型。读完能理解 SWE-bench 评测的是什么、Anthropic 的 agent 设计哲学,以及如何复现这个结果。 关键信息 - 升级版 Claude 3.5 Sonnet 在 SWE-bench Verified 上达到 49%,此前最优模型为 45%,旧版 Claude 3.5 Sonnet 为 33%,Claude 3 Opus 为 22%。 - SWE-bench 评测的是模型加外围脚手架构成的完整 agent 系统,而非模型本身。同一模型在不同脚手架下表现差异显著。 - SWE-bench Verified 是从原 SWE-bench 数据集中经人工审核筛选出的 500 个可解问题子集,排除了需要额外上下文才能解决的题目。 - Anthropic 的 agent 脚手架只有一条提示词、一个 Bash 工具和一个编辑工具,模型自行决定如何推进问题,而非走硬编码的固定流程。 - 编辑工具采用字符串替换(str_replace)方式指定修改,要求 old_str 在文件中必须唯一匹配,否则返回错误让模型重试。 - 评测中成功案例最短 12 步完成,但许多成功运行需要数百轮交互和超过 10 万 token,成本较高。 逐节讲解 SWE-bench 评测什么 SWE-bench 是一个评估 AI 模型完成真实软件工程任务能力的基准。每个任务给出一个 Python 开源仓库的本地副本和对应的 GitHub issue,模型需要理解、修改、测试代码并提交解决方案。评分依据是该 issue 对应 PR 中的真实单元测试,检验模型是否实现了与人类作者相同的功能。SWE-bench 不单独评测模型,而是评测整个 agent 系统,模型加上外围脚手架。脚手架负责生成输入模型的提示词、解析模型输出以执行操作、以及管理交互循环。 极简的 agent 设计 Anthropic 的设计哲学是让脚手架尽量薄,把控制权交给模型。agent 只有一条提示词、一个 Bash 工具和一个编辑工具。提示词给出了建议的解决步骤(探索仓库、复现错误、修改代码、验证修复、考虑边界情况),但模型可以自由选择如何推进。Bash 工具只接受一个命令参数,但工具描述中包含了详细的注意事项(无网络访问、持久化状态、避免大输出、后台运行长任务等)。编辑工具支持 view、create、str_replace、insert、undo_edit 五个命令,要求路径必须是绝对路径。字符串替换方式要求 old_s…

读原文

本站只做摘要与索引,全部内容版权归原作者所有。