国内四大AI编程IDE深度对比(二):从零构建桌面应用实测
在上一篇对比中,我们聊了聊这几款AI编程IDE的直观感受和技术架构。但说句实在话,那些都是表面功夫——真正要检验一个工具是否靠谱,最好的方式还是拉出来真刀真枪地干一场。
作为在视频技术与后端架构领域摸爬滚打了十几年的老兵,核心信条只有一个:功能再炫酷,不如代码能跑起来。所以,这次来点硬核的——让这几大国产AI IDE从零开始,独立构建一个完整的C++桌面录屏程序。
为什么选择C++?理由很简单:难度够高、依赖够少,尤其是头文件和源文件之间的各种包含关系,特别考验AI的逻辑推理能力。更关键的是,我对这套体系足够熟悉,能精准判断它们的表现是好是坏。
测试规则并不复杂:
- 每个IDE都独立创建自己的项目目录
- 统一指令:“开始前先阅读仓库根目录的PRJ.md文件,后续所有实现都以此为准”
- 最后看谁的效率最高——能最快生成一个可运行的项目
闲话少叙,直接上真章。
一、百度Comate:老牌AI的“翻车”现场
1.1 对需求的理解
百度在人工智能领域耕耘多年,文心大模型也算是国内首批对话模型之一,按理说实力应该相当雄厚才对。
输入需求后,Comate给出了对项目的理解,从表述上看还算靠谱。
1.2 代码生成阶段
Comate很快就完成了代码生成,并且告知可以开始构建了。然而,扫一眼它的目录结构,我的第一反应就有点不对劲:
问题一:整个项目居然只有一个cpp文件?其他都是头文件,这真的是一个完整的项目结构吗?
问题二:那个关键的.rc资源文件里,竟然完全没有对话框资源的描述,只有一个菜单和字符串。
不过,Comate也有个让我觉得挺顺手的功能——每个函数上方都有一个快捷按钮,可以直接调用AI辅助编程。这个设计在另外两家身上暂时还没看到。
1.3 编译阶段的“灾难”
不管怎样,硬着头皮开始编译吧。
果然,它先发现了源文件缺失的问题。等它自动创建完成后,真正的噩梦才刚开始。
Comate检测到了语法错误,但它完全没有理解到问题的本质——缺少必要的头文件引用,反而错误地判断为“文件编码出了问题”,然后开始疯狂地删除文件、重新生成。
更让人无语的是,再次编译时,它自己读取报错行号的功能也出了bug,然后就陷入了“删除-生成-报错-再删除”的死循环。
到最后,我不得不出手,人工提醒它加上头文件。
1.4 运行失败的挣扎
在我的“辅助”下,总算是编译成功了。但是——程序根本无法运行,没有弹出任何对话框,启动后立刻退出。
直到这个时候,它的资源文件中依然没有写入对话框资源。
在我反复提示了三次“启动失败”后,它才终于发现了这个问题,开始补全资源。
然而,接下来的调试过程更是令人头疼。Comate花了大把时间在处理日志问题上——它自己删除了日志文件,然后自己又不知道,接着反复发现构建失败,却始终定位不到根源。
最后,我不得不启动Visual Studio,手动帮它解决了这一问题。
1.5 最后的挣扎
之后,Comate一直试图解决“没有对话框界面”的问题,想通过创建消息框来验证。思路是好的,可惜又陷入了新的编译问题,反复多次都无法解决。
折腾到这里,已经过去一个半小时了。测试只能暂停——毕竟不是来给AI当保姆的,不能把太多时间花在帮它解决编译问题上。
二、阿里通义灵码:千问加持下的“幻觉”
2.1 对需求的理解
通义灵码是阿里云基于通义代码大模型打造的智能编码助手,有千问模型加持,理论上应该表现不错。
输入需求后,Lingma给出了对项目的理解,整体感觉差不多,还很贴心地生成了一份待办任务列表。
2.2 生成阶段的“次数过多”警告
但生成没持续多久,Lingma就弹出了提示:“使用次数过多”。
这个提示让我有点懵——全程都是IDE在自动执行指令,顶多也才跑了5分钟,这就次数过多了?
2.3 编译阶段的乱码和错误
生成完成后的项目结构是这样的:
相比Comate,Lingma要合理一些:至少每个类都有对应的cpp文件。但开心没持续多久,在终端执行编译脚本时,出现了中文乱码。
接下来,它和Comate一样暴露了编译语法错误。这回倒不是头文件包含的问题了,而是跟系统自身定义产生了冲突。
结果一样——它自己愣是发现不了根源,最后还是得我手动去修改变量名。
2.4 资源文件和AI幻觉
然后我发现,Lingma在资源文件的生成上同样没有写入对话框资源。
紧接着,Lingma进入了最经典也最头疼的“AI幻觉”阶段——它告诉我编译好了,并且生成了可执行文件。
然而,我跑到输出目标目录一看,里面空空如也,哪里有什么exe文件?这就是传说中的AI幻觉么?
接下来又是枯燥的编译错误循环,甚至出现了诸如定义了std::wstring宽字符串,却又把它赋值给std::string这种低级错误。
最后经过我的手动修复,终于成功编译出了exe文件。但结果跟Comate如出一辙——无法正常使用,因为根本没有用户界面。
到这儿,我的测试也结束了。
三、腾讯CodeBuddy:相对表现最好的选手
3.1 对需求的理解
CodeBuddy是腾讯云推出的AI代码助手,最近还更新了一波,据说其中90%的代码是由CodeBuddy自己生成的,能力比肩Claude Code。而且CodeBuddy还有国际版,整合了GPT-5、Gemini等模型。
输入需求后,CodeBuddy给出了项目理解,比较简洁,也生成了任务清单。
这一点体验不错——在后续使用中,它经常会针对我提出的要求制作清单,然后逐项完成。
3.2 改动计划
这是它生成的改动计划。从逻辑上看,思路清晰,步骤明确。
3.3 代码生成结构
代码生成完成后的目录结构如下:
第一眼的感觉是:怎么这么少?感觉好像缺乏核心的编码模块。不过转念一想,也许它打算分步完成。
但有一个小惊喜:CodeBuddy生成的资源文件中,**竟然有界面对话框的描述**!这在Comate和Lingma身上可是都没看到过的。这是个好现象——截至目前,它的表现比前两位专业了不少。
3.4 逐步补全的过程
接下来就是它逐步补充代码的过程了。从交互界面上看,体验确实不错。
3.5 同样无法运行的结局
然而,好景不长。CodeBuddy也开始陷入“解决exe运行不起来、没有界面”的泥潭。反复修改了好几次,但始终定位不到关键问题点。
在我的提示下,才发现是MFC没有正确初始化导致的。然后就跟另外两家一样,又卡在了MFC程序的入口函数问题上。
它花了大约十几分钟反复尝试解决这个问题,但毫无进展。我无奈放弃,结束了测试。
补充一句:以上测试CodeBuddy用的是我手动选择的kimi-k2-think模型。后来我把模型切成了deepseek重新测了一遍,这次不知道什么原因,它没有生成任务清单,直接就开始生成和编译了。继续测试了20多分钟,它又陷入了修正MFC资源文件和编译错误的循环里——看来切换模型并没有带来什么实质性提升。
四、字节跳动Trae:Solo模式创造奇迹
本来以为这次测试到此为止了,但转念一想,字节跳动的Trae还没试过。抱着“多一个参考总没坏处”的心态,也把它加了进来。
4.1 IDE模式下的表现
Trae的模型选择默认是Auto模式,省了不少心。它对于PRJ.md文件的理解,跟其他几家差不多,也生成了类似的任务清单。
不过,Trae在程序界面的设计上采取了与其他三家完全不同的策略:**它不用MFC对话框,而是用MFC窗口**。
没过多久,代码就生成完毕了。但使用过程中,也弹出了“模型思考次数达到上限”的提示。
接下来又是常规的编译和解决问题过程。然而意外来得很快——Trae很快也陷入了死循环:不停删除文件→创建文件→发现错误→再删除文件。
我干脆利落地结束了它的IDE模式测试。
4.2 Solo模式的意外收获
不过,Trae还有一个专门的Solo模式。这个模式的界面跟IDE模式完全不同,抱着“试一试”的心态点进去——结果给了我一个不小的惊喜。
Solo模式的布局很有意思:编辑区在右侧,左侧是任务区(看起来支持多个任务同时运行),中间则是AI的思考过程和对话区域。
让它阅读文档后开始执行,刚开始的阶段跟IDE模式如出一辙。但这一次,生成的代码将头文件和源文件分开了。
编译问题当然还是存在,但这次我并没有手动帮它指出错误。神奇的是,它自己循环了几次之后解决了问题,并且成功生成了exe可执行文件。
但是,运行后依然没有界面。我想着可能也就到此为止了——前面几家的天花板好像就在这儿了。
不过我发现,它自己似乎也在主动检查程序是否出现了界面。
于是我耐心等了一会儿,继续跟它交互。经过几轮迭代之后,它居然真的解决了界面问题!
虽然最后的界面是DOS风格,但最起码——这是这几款国产AI IDE里破天荒的纪录:终于有一款IDE能够完成最初设定的目标了!
4.3 自动化测试的震撼
当然,测试了一下,还是不能正常录制。我继续给它反馈。反馈了几轮后,Trae开始自己做起了自动化测试。
这下我突然感觉自己闲下来了——它自己想办法打印日志,然后自己读日志,接着去修改代码,再重复测试。
最终,耗时接近2个小时,它解决了所有问题。现在,终于有一款IDE能够完整实现最初的目标了。
说实话,这种AI自动化测试的能力,我此前只在Python和Web项目的开发中见过,没想到对C++桌面应用也能做到。这确实让我开了眼界。
五、总结与反思
5.1 四家表现对比
| 维度 | 百度Comate | 阿里通义灵码 | 腾讯CodeBuddy | 字节Trae(Solo模式) |
|---|---|---|---|---|
| 需求理解 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 代码结构 | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 资源文件 | ⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 编译能力 | ⭐ | ⭐ | ⭐⭐ | ⭐⭐⭐ |
| 错误定位 | ⭐ | ⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| 最终完成度 | ❌ | ❌ | ❌ | ✅ |
| 整体体验 | ⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
5.2 共性问题分析
这次测试中,四款IDE都暴露了一些共同的短板:
- 编译配置薄弱:没有一款擅长处理C++复杂的编译配置和工程设置
- 资源文件缺失:除了CodeBuddy略有改进,其他几款都没能正确生成对话框资源
- 错误定位不准:绝大多数时候,它们都无法精准定位编译错误的根本原因(Trae Solo模式除外)
- 存在AI幻觉:会告诉用户“编译成功”,但实际上并没有生成任何文件
- 容易陷入死循环:碰到难题时,很容易在同一个错误模式里反复打转
5.3 最终的判断
坦率地讲,前三家IDE都没能完成这次从零构建的挑战。它们都理解了需求,都生成了代码,功能模块看起来也完整,但在编译、头文件包含、MFC入口函数、工程设置这些关键环节上频繁翻车。
但字节Trae的Solo模式,确实带来了惊喜:
- 通过自主调试和自动化测试,最终解决了所有历史遗留问题
- 虽然花了将近2小时,但这是唯一一个成功完成项目的AI IDE
- 它的自动化测试能力,让人看到了AI编程未来的可能性
如果非要给这四家排个名次:
- 字节Trae(Solo模式):唯一完成任务,自动化测试能力让人惊艳
- 腾讯CodeBuddy:任务清单机制非常优秀,但没能迈过最终那道坎
- 百度Comate:函数快捷按钮是亮点,但编译阶段堪称灾难级
- 阿里通义灵码:AI幻觉现象最严重,整体体验垫底
5.4 给开发者的几点建议
这次测试,让我对AI编程IDE有了更清醒的认识:
- Solo模式值得关注:字节Trae的Solo模式展现了AI自主编程的潜力,这是一次重要的尝试
- 自动化测试是关键:AI能否自己写测试、自己跑测试,是它能否解决复杂问题的重要分水岭
- 别指望“一键完成”:至少在现阶段,这些AI IDE仍然需要开发者的深度参与和判断
- C++支持仍是短板:面对复杂的项目配置,AI IDE普遍还比较吃力
- 选对场景很重要:Python和Web项目可能比C++更适合当前的AI辅助开发模式
下一篇预告: 计划测试“现有工程重构能力”,看看这些AI IDE能否真正理解并重构一个真实的项目代码。
