1. 项目背景与测试设计
作为一名在视频技术领域摸爬滚打十年的老码农,我始终坚信一个铁律:开发工具的好坏,得用实际项目来检验。去年评测国内四大AI编程IDE(百度Comate、阿里通义灵码、腾讯CodeBuddy、字节Trae)时,发现各家宣传的功能在实际编码场景中表现参差不齐。这次我决定用更硬核的方式——让它们从零构建一个C++桌面录屏程序。
选择C++作为测试语言有三个原因:首先,这是系统级编程语言,对IDE的代码理解能力要求极高;其次,录屏程序涉及Win32 API和多线程等复杂特性;最重要的是,我对MFC和Windows编程足够熟悉,能一眼看出AI生成的代码是否合理。
测试采用统一标准:
- 每个IDE创建独立项目目录
- 初始需求文档PRJ.md包含完整规范(分辨率设置、帧率控制、编码格式等)
- 全程不人工干预代码逻辑,仅解决环境问题
- 成功标准:生成可执行文件且能完成基础录屏功能
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 百度Comate:老牌选手的滑铁卢
2.1 需求理解阶段
输入PRJ.md后,Comate给出的项目分析看似专业:
- 正确识别出需要调用Windows GDI捕获屏幕
- 建议使用FFmpeg进行视频编码
- 列出所需第三方库清单
但细看发现两个隐患:
- 混淆了DirectX和GDI的截图机制
- 未考虑多显示器环境处理
2.2 代码生成问题
生成的解决方案结构存在严重缺陷:
code复制ScreenRecorder/
├── Main.cpp # 包含所有业务逻辑
├── Recorder.h # 空壳头文件
└── resource.rc # 缺失对话框模板
典型问题包括:
- 所有代码挤在单个cpp文件(超过800行)
- 资源文件未定义界面元素
- 使用已弃用的VFW库进行编码
2.3 编译调试灾难
首次编译就遭遇37个错误,Comate的修复策略令人困惑:
- 误判编码问题导致反复重写文件
- 循环添加重复的#pragma注释
- 最终陷入"修改→报错→回滚"的死循环
关键缺失:未能自动引入必要的库依赖项(如avcodec.lib),需要手动配置VS项目属性。
3. 阿里通义灵码:幻觉式开发体验
3.1 代码生成特点
生成的目录
