文章目录
#vscode #AI #deepseek #C #trae #Marscode
摘要
本文通过一个简单的 C 语言编程任务,对比测试了 vscode 下 2 种 AI 编程插件多个模型,以及 trae 国内版,trae 国际版 AI 编程的实际效果。
测试环境说明
- 操作系统:64 位 windows 11 home 24H2
- gcc 工具链:w64devkit 2.1.0 GCC 14.2.0
- Visual Studio Code 1.98.2
- Trae 1.2.4
- Trae CN
测试任务简述
生成一个基于 C 语言的命令行工具,该程序可以将 hex,bin 还有其它自定义格式的程序镜像文件,打包成带版本和类型标识的 OTA远程升级文件。
程序的详细说明,写成了一个 readme.md 文件,在这个文件中,描述了程序的编译方法,使用方法,OTA 文件的详细格式,自定义程序镜像文件的详细格式,并且指定了程序设计的一些原则。
测试方法
每一次测试,按照下面的步骤进行:
- 建立一个空的文件夹
- 将 readme 文件放进文件夹中
- 通过 vscode 或者 trae 打开该文件夹
- 打开 AI 编程插件,输入任务:“根据 readme.md 的描述生成程序”
- 如果生成的程序没有达到要求,进行简单调整,如果还是不行,结束
- 测试程序效果
测试过程简述
vscode+Marscode 插件效果测试
免费!
在 vscode 使用 marscode 插件很简单。在 vscode 安装 marscode 插件,然后登陆 marscode 账号就可以启用 marscode AI 编程了。如果没有 marscode 账号,用手机号注册一个,过程也非常简单。
Marscode 目前支持 4 个模型
- Doubao-1.5-pro
- Deepseek R1
- Deepseek V3
- DeepSeek-V3-0324
deepseek-r1 模型
使用方法:
- 打开 marscode 插件,选择 deepseek-r1 模型
- 在 marscode 对话框输入
#file: readme.md 根据文件描述的内容生成程序
- marscode 输出对话框会显示在 main. c 文件生成的代码,点击 Apply 就可以把代码添加到目标文件
几分钟时间初步代码生成,编译有告警信息
帮助信息功能可以直接使用
打包固件无功能
-v 无功能
-u 无功能
经过多次提交任务,补充缺失的代码,各项基本功能正常,但处理 hex 文件,cly 文件有异常,需要再次修改。先测试到这儿。
doubao-1.5-pro 模型
使用方法跟上面类似,选择 doubao-1.5-pro 模型
初次生成速度和完整度都要比 deepseek-r1 好很多
还有代码说明以及编译和使用说明,并且直接生成了对应的终端命令,可以直接复制运行。
代码质量比较高,目测稍微修改优化一下就可以了。
Deepseek V3 模型
生成速度比较快,初步只能生成程序框架,可以直接编译。帮助功能已经有了,打包,解包,查看包的功能都是空的,待进一步生成。生成质量要比 deepseek-r1 好。
vscode + Cline 插件效果测试
在 vscode 使用 Cline 插件很简单,跟 marscode 类似,在插件市场安装 cline 即可。安装完之后,需要大模型 API-KEY。Cline 几乎支持世界上所有的大模型。只需要简单选择大模型供应商,设置好你使用的大模型名称,填入你的 API-KEY 即可。
这里采用 ali qwen 大模型。ali qwen 号称是免费的。阿里有赠送免费 token 额度,但额度不大,稍微用一下就用完了。免费额度用完需要付费使用。每个模型的费用不太一样。可以到阿里云百炼后台查看详情。
cline API 设置见下图:
选择 auto approve 的工作模式,cline auto-approve 设置如下:
指令:
@/readme.md 根据此文件描述生成代码
PS:在 cline 填入阿里百炼 API-KEY,执行上述任务提示 401(无效的 api key) 错误,后来将 vscode 的显示语言改为中文,cline 的语言改为中文才能正常使用。
Cline 的使用体验比 marscode 要好一点,它可以自动生成,修改文件,省去不少麻烦。
qwen-coder-plus-latest 模型
模型收费信息如下:
代码完成度比较高,差不多在 95%左右,只需要稍微修改优化即可,跟 doubao-1.5-pro 相差不多。但代码错误的地方不太一样。
任务完成后 api cost 如下。
qwen-max 模型
模型收费信息如下:
生成程序任务完成后,编译有错误以及报警信息。将错误和报警信息提交给 cline,做进一步修改,可以正常编译了。测试发现-h,-v 功能都有了,-p 功能有问题。
完成度90%左右。还有不少问题,包括理解错了 hex 类型文件的处理方式,它居然自己解析转换 hex 文件,没有验证这个功能是否有效。无论如何,这理解错了,readme 中明确要求调用 hex2bin 进行转换。
api cost 如下:
Trae +claude3.5
免费!
Trae 国际版下载地址: https://www.trae.ai
Trae 国际版本需要 google 账号或者 github 账号,且在国内无法注册。在国内注册 trae 账号,会提示当前区域无法使用服务。
Trae 默认使用 claude3.5 模型。它支持下面的模型:
- claude-3.5-sonnet
- clause-3.7-sonnet
- deepseek r1
- deepseek v3
- GPT-4o
这应该是本文提到的几种方案中使用体验最好,生成代码速度快,完整度高,质量好,生成过程几乎不用干预。
Trae +claude3.7
同上,改成claude 3.7进行测试。效果惊人地好。最终的可发布的程序就是采用clause 3.7生成的。第一次生成的程序就基本能用了,完成95%以上了,只有hex格式还有点问题。后续针对hex文件交互了4次,一句代码没写,完美地完成任务。整个过程加上测试大概30分钟。
Trae CN + doubao-1.5-pro
免费!
Trae CN 国内版本下载地址: https://www.trae.com.cn
账号跟 marscode 是同一个账号。注册很方便。
基于 chat 对话模式的编程体验跟 vscode+marscode 插件下使用 doubao 模型差不多。不同的是,在 trae cn 下,支持 builder 模式,可以减少人工干预。
测试总结
文本测试无法科学,全面的判断某个工具的价值,所得出的结果只能说明对于本任务效果上的差异。AI 工具编程的工作质量和效率,除了依赖工具和模型本身的因素,还高度依赖于工具的使用方法和任务自身的属性。仅供参考。
下面的表格根据生成速度,生成质量,完整度,使用体验几个维度进行打分。满分为 5 分。综合评分为各项累加平均值。
- 生成速度:生成速度跟网络应该有比较大的关系,我的测试仅仅是通过单次测试的主观感受得出,仅供参考
- 生成质量:阅读生成之后的源码,从代码的可读性,正确性两个角度度量
- 完整度:检擦在当前代码基础上进行完善,最终完善后的代码跟当前代码比较,所需修改越小,表示完整度越高
- 体验:跟使用的难易程度,流畅程度,越省心越流畅得分高,主观性较大
工具 | 生成速度 | 生成质量 | 完整度 | 体验 | 综合评分 |
---|---|---|---|---|---|
Marscode+doubao | 5 | 4 | 4.5 | 3 | 4.1 |
Marscode+deepseek R1 | 3 | 3 | 3 | 3 | 3 |
Marscode+deepseek V3 | 3 | 3 | 2 | 3 | 2.8 |
Cline+qwen-coder-plus | 4 | 3 | 4 | 4 | 3.8 |
Cline+qwen-max | 4 | 3 | 4 | 4 | 3.8 |
Trae+claude 3.5 | 5 | 4.5 | 4 | 5 | 4.6 |
Trae+claude 3.7 | 5 | 4.5 | 4.5 | 5 | 4.8 |
TraeCN+doubao | 5 | 4 | 4.5 | 5 | 4.6 |
这是一个真实需求的小工具。如果没有 AI 工具,用传统的编程工具,按照普通的编程水平,大概率需要 1 天时间,甚至 2 天时间完成。采用上述任何工具,可能只需要 2 个小时左右的时间,大大提高工作效率。
传统的工具工作过程大概是这样的:
1,思考一下程序的功能,不写文档
2,边上网查资料边写代码
3,调试代码
4,测试程序
采用后者2 个小时的时间组成是,
- 1 小时写需求文档
- 几分钟时间生成初步程序
- 10 几分钟检查代码,微调代码
- 30 分钟检查测试程序并修改漏洞
本测试使用的 readme 说明文件,以及各模型生成的源程序可以从下面这个仓库获得:
https://gitee.com/japyvi/otapack_test.git