Claude Code 、Gemini Cli 等命令行工具相继发布,这两个月 AI 编码又火出了新高度。 我对效率类工具一直都特感兴趣,喜欢折腾和把玩它们,加之这些工具是实实在在提升效率。 我去年底接触 Aider 、Cursor 、Cline 、Continue ,就想写篇博客来记录一下我对它们的感受。 最近又有些新感触!搞个博客来记录一下。
本来呀,我也只是想写一篇 “Aider 是怎么跑 benchmark 的” 的笔记。但看完了它的跑法之后呢, 感觉没啥可聊的。这两天正好看懂车帝搞了个智驾测试,挺有意思(特斯拉是真有点东西?); 加上最近几年工作也是搞测试;再加上有好几个朋友说 Claude Code 牛出天际,我就想看看是不是那么回事!
我就充当一回“懂 AI 帝”,来评测一把。
我也知道,要完善的评测一个工具,是很麻烦的。毕竟场景那么多,每个工具都有自己的擅长领域。 你看懂车帝的评测,就有很多人喷,但也有很多人顶它。我下面先介绍一下我的评测方法。
我看到的“榜单”有两个,一个是 [Aider LLM Leaderboards][aider-bench],还有一个是 [SWE-bench][swe-bench]。 前者可能比较小众,先简单介绍一下后者(让 AI 给我总结一把什么是 SWE-bench )
SWE-bench ( Software Engineering Benchmark )是一个专门用于评估大语言模型( LLM )在真实软件工程任务中表现的基准测试,最初由普林斯顿大学 NLP 团队于 2023 年发布。 它的核心任务是:给定一个 GitHub 开源项目的代码仓库和一个对应的 issue (问题描述),模型需要像人类开发者一样,理解问题、定位代码、修改文件,并生成一个补丁( patch ),最终通过该项目原有的单元测试验证修复是否成功。 SWE-bench 的关键特点: 真实场景:所有任务都来源于 GitHub 上 12 个流行 Python 项目的真实 issue 和对应的 pull request ( PR ),共 2,294 个任务实例。 执行验证:采用“Fail-to-Pass”测试机制,即修复前测试失败,修复后测试通过,才算成功。 高难度:任务涉及多文件理解、跨模块调用、复杂依赖关系等,远超传统代码补全或算法题。
Aider LLM Leaderboards 虽然小众,但人家评测流程和数据都是开源透明的,我觉得它的数据还是挺有参考价值的。 有兴趣的小伙伴可以去看看。
我从 SWE-bench 中选了一个题 [pylint-dev__pylint-6528][pylint-dev__pylint-6528] 来评测这些工具。 我选它,是因为看中了这个题的几个特点:
15min - 1hour
,简单的题是 15min 以内,比如算法题。难的题要好几个小时。不仅题目,评测流程也很重要。比如说,不同的 PROMPT 就会带来完全不一样的结果。我的评测原则和流程如下
解决一下这个问题:{problem_statement}
我评测流程,如果用伪代码来描述,就是
def evaluate():
start_tool_with_default_parameters
send_to_chat: `解决一下这个问题:{problem_statement}`
enter yes until 它生成修复代码
# 初步检查答案,保证它的答案不会让回归测试失败
while 我主观觉得它还有戏:
run PASS-TO-PASS tests # 如果这个测试都跑不过,这个工具评测结果不及格
if fail:
send_to_chat: 有 X 个测试失败了:{failure_summary}
enter yes until 它再一次生成修复代码
else:
# 认为它代码已经修改完毕,直接开始检查它的答案
break
# 检查最终答案
while 我主观觉得它还有戏:
run FAIL-TO-PASS tests
if fail:
send_to_chat: 有 X 个测试失败了:{failure_summary}
enter yes until 它再一次生成修复代码
else:
break
更新(07-27 22:36): 这里 while 的地方有个主观部分,你可能会觉得它会影响这个评测的结果。严格来说,确实会有影响。但这里所谓的“主观”其实也是有判断标准的:即如果两次改动的代码都不符合预期,就认为它没戏。这个主要是考虑测试效率。
我写了评测过程,让 AI 帮我总结了一个评测结果的表格。打分是我根据这次任务,主观打的。
工具 | 模型 | 测试结果 | 小结 | 打分 |
---|---|---|---|---|
Aider | deepseek-chat-v3-0324 | 通过 | 问题定位非常准确,一次性找到关键文件和函数;修复过程中遇到循环引用但最终解决 | ⭐⭐⭐⭐ |
Gemini Cli | gemini-pro | 通过 | 问题定位准确,修复过程需多次交互,最终解决;有时会卡主 | ⭐⭐⭐ |
Claude Code | 原生版 | 通过 | 问题定位准确,一次性修复成功;交互体验良好,TODO 列表清晰 | ⭐⭐⭐⭐⭐ |
Claude Code | Qwen3-Coder-480B | 失败 | 问题定位基本准确,修复方案不正确;交互过程展示过多细节 | ⭐⭐ |
Claude Code | deepseek-chat-v3-0324 | 失败 | 流程走不完,无法评价 | ⭐ |
Trae | Builder(Auto) | 失败 | 问题定位不够准确,修复方案不正确;交互过程展示过多细节 | ⭐⭐ |
Trae | Builder(Claude Sonnet 4) | 失败 | 排不上队,无法评价 | ⭐ |
Trae | Builder(DeepSeek) | 失败 | 问题定位不够准确,修复方案不正确;交互过程展示过多细节 | ⭐⭐ |
Cursor | Auto | 失败 | 问题定位准确,修复方案有问题;搜索展示简洁,交互体验勉强还行 | ⭐⭐ |
在评测过程中,我发现了一些有意思的细节,下面也和读者分享一波。另外评测还有很多局限性,也给自己跌跌甲,轻喷。
我从评测过程中,提炼了几个维度来评价这些工具。这里最重要的指标是问题最终是否被解决了。 如果问题解决了,过程坎坷一点也能接受。如果问题没解决,过程再惊艳,也没用。 因此,我给 Claude Code, Aider, Gemini Cli 打的分数比较高。其它就低一些。
第二个维度是交互体验。这里又可以细分:UI/UX ;可观测性;性能;稳定性。我暂时就想到这几个维度。
维度 | 问题解决能力 | UI/UX | 性能与稳定性 | 收费 | 综合打分 |
---|---|---|---|---|---|
Aider+DS | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
Gemini Cli | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
Claude Code | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐ | ⭐⭐⭐ |
Trae(DS) | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
Cursor | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
值得一提的是,模型真的很重要。不同的模型,测出来结果差异可能会差很远。
还有个值得一提的是,这里评测的背景是解决一个实际问题。最后再附加一下个人的综合性观点
评测过程比较细节与繁琐,感兴趣的盆友,可以查看博客原文。
1
vincentWdp 4 天前
claude code 订阅版, 一个月 20 刀还行, 如果没有付费打分这一项, 或者这一项权重很低的话, 那真的是遥遥领先
|
![]() |
2
cosven OP @vincentWdp claude code 确实有点东西。如果考虑付钱的话,感觉 cursor + claude sonnet 4 / max / opus 模型效果也会很不错。
|
3
peerless 4 天前
这个评测很有意思
|
4
crackidz 4 天前
缺少的 Kimi K2 做对比呀
|
![]() |
5
cosven OP @crackidz 本来想用 aider + openrouter 的 kimi k2 free 评测一下的。但它的服务似乎不太稳定,于是就放弃了。
后面可以补充一下:kimi k2, qwen3-coder 这些模型。 |
![]() |
6
cosven OP @crackidz 想起来,aider 自己有个评测集
https://aider.chat/docs/leaderboards/ 可以看到,kimi k2 比 deepseek v3 / 老板 deepseek r1 / claude-sonnet-4 要好一点 |
![]() |
7
mimiga 3 天前
感谢楼主评测,看完决定试试 aider ,不过命令行工具总感觉操作会很麻烦
|
8
handspring 3 天前
@cosven 期待和 k2, qwen3-coder 的对比. 我自己用下来感觉 qwen3-coder 的 debug 能力受益于 1M 的上下文, 效果不错, 不像 k2 动不动就要 compacting
|