Claude 3.5 Sonnet在SWE-bench Verified上的突破:最小化脚手架的Agent设计
来源: Anthropic Engineering Blog
作者: Anthropic Engineering Team
发布日期: 2025-01-06
分类: ai-agents
概述
Anthropic详细介绍了升级版Claude 3.5 Sonnet在SWE-bench Verified基准上达到49%的技术架构。文章的核心哲学是”尽可能多地将控制权交给语言模型本身,保持脚手架最小化”。从Claude 3 Opus的22%到Claude 3.5 Sonnet新版的49%,这一飞跃不仅展示了模型能力的进步,更揭示了工具接口设计在Agent系统中的关键作用。
核心内容
SWE-bench评估框架
SWE-bench是一个衡量模型解决真实软件工程任务能力的AI评估基准。评估流程:
- 模型接收Python仓库的Issue前状态
- 必须理解问题并修改代码
- 提交的解决方案通过实际Pull Request的单元测试进行评分
关键特点:SWE-bench评估的不是模型本身,而是模型+脚手架的完整系统。
Agent设计哲学
与使用复杂框架的方法不同,Anthropic的核心原则是:
“尽可能多地将控制权交给语言模型本身,保持脚手架最小化。”
系统仅包含四个组件:
- 概述建议方法的结构化提示
- Bash Tool(命令执行)
- Edit Tool(文件操作)
- 持续采样直到模型完成或耗尽200k上下文
工具设计规范
Bash Tool
- 执行命令并维持跨调用的持久状态
- 强调命令转义规范
- 无互联网访问(安全隔离)
- 后台进程管理
Edit Tool
支持五种操作:view、create、str_replace、insert、undo_edit
关键设计决策:
- 要求绝对文件路径:防止导航错误(这是一个经过深思熟虑的安全设计)
- 字符串替换要求精确匹配:
old_str必须完全匹配,防止意外修改
基准测试结果
| 模型 | SWE-bench Verified 分数 |
|---|---|
| Claude 3.5 Sonnet (新) | 49% |
| 前SOTA | 45% |
| Claude 3.5 Sonnet (旧) | 33% |
| Claude 3 Opus | 22% |
典型工作流示例
以scikit-learn的RidgeClassifierCV缺失store_cv_values参数支持为例,Agent在12步内完成修复:
- 使用Edit Tool探索仓库结构
- 创建错误复现脚本并执行
- 定位源代码中的问题
- 修改源代码
- 重新执行验证修复
- 考虑和测试边界情况
实施挑战
- 成本与时间:成功运行经常需要数百轮对话和超过100,000个token
- 评分复杂性:环境设置和补丁应用问题增加了准确评估的难度
- 隐藏测试:模型无法预览评估标准,有时错误地认为成功
- 多模态限制:缺乏文件可视化能力,影响需要可视化调试的任务
关键洞察
- 自我纠正能力提升:升级版模型展现更强的自我纠正行为,会尝试多种解决方案而非重复相同错误
- 工具接口设计至关重要:”应该投入更多注意力在为模型设计工具接口上”——这如同为人类设计UI一样重要
- 最小脚手架蕴含的潜力:以49%成绩配合最小化脚手架,表明通过优化Agent设计还有很大提升空间
个人评价
这篇文章虽然发布于2025年初,但其传达的核心理念在今天仍然高度相关。”最小化脚手架”的设计哲学与当前Agent开发的最佳实践高度一致——复杂框架往往不如给模型足够的自主权有效。文章特别强调的”工具接口设计如同人机交互设计”这一观点尤为重要:随着Agent越来越多地通过工具与世界交互,工具API的设计质量直接影响Agent的表现上限。从22%到49%的进步中,模型能力和工具设计各自贡献了多少值得思考——答案可能是两者缺一不可。
评分: 4.55/5.0
分类置信度: high
相关链接: