Claude 3.5 Sonnet在SWE-bench Verified上的突破:最小化脚手架的Agent设计

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的核心原则是:

“尽可能多地将控制权交给语言模型本身,保持脚手架最小化。”

系统仅包含四个组件:

  1. 概述建议方法的结构化提示
  2. Bash Tool(命令执行)
  3. Edit Tool(文件操作)
  4. 持续采样直到模型完成或耗尽200k上下文

工具设计规范

Bash Tool

  • 执行命令并维持跨调用的持久状态
  • 强调命令转义规范
  • 无互联网访问(安全隔离)
  • 后台进程管理

Edit Tool

支持五种操作:viewcreatestr_replaceinsertundo_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步内完成修复:

  1. 使用Edit Tool探索仓库结构
  2. 创建错误复现脚本并执行
  3. 定位源代码中的问题
  4. 修改源代码
  5. 重新执行验证修复
  6. 考虑和测试边界情况

实施挑战

  • 成本与时间:成功运行经常需要数百轮对话和超过100,000个token
  • 评分复杂性:环境设置和补丁应用问题增加了准确评估的难度
  • 隐藏测试:模型无法预览评估标准,有时错误地认为成功
  • 多模态限制:缺乏文件可视化能力,影响需要可视化调试的任务

关键洞察

  1. 自我纠正能力提升:升级版模型展现更强的自我纠正行为,会尝试多种解决方案而非重复相同错误
  2. 工具接口设计至关重要:”应该投入更多注意力在为模型设计工具接口上”——这如同为人类设计UI一样重要
  3. 最小脚手架蕴含的潜力:以49%成绩配合最小化脚手架,表明通过优化Agent设计还有很大提升空间

个人评价

这篇文章虽然发布于2025年初,但其传达的核心理念在今天仍然高度相关。”最小化脚手架”的设计哲学与当前Agent开发的最佳实践高度一致——复杂框架往往不如给模型足够的自主权有效。文章特别强调的”工具接口设计如同人机交互设计”这一观点尤为重要:随着Agent越来越多地通过工具与世界交互,工具API的设计质量直接影响Agent的表现上限。从22%到49%的进步中,模型能力和工具设计各自贡献了多少值得思考——答案可能是两者缺一不可。


评分: 4.55/5.0

分类置信度: high

相关链接:

© 2026 Generative AI Discovery All Rights Reserved.
Theme by hiero