最近使用 cursor 做了一个项目,在 1 个月内写了几万行纯 c 的嵌入式代码,达到交付量产的标准了,完全是 cursor 写的代码,我自己没有写一行. (当然我有足够的经验,自己写也能做出来,只是可能会花更长的时间)
有几点经验可以分享下(基于当前时间节点-2025 年 8 月):
1.生成代码一定要选择 sonnet-4 模型,不要选 auto 这是最重要的一点,很多新手容易忽略. auto 模式下很可能会使用非常智障的模型,生成的代码几乎不可用(无法准确理解你的意图)--这也是很多人觉得 cursor 生成的代码质量不行的原因.
2.trouble shooting 可以尝试 gpt-5 在排查一些疑难杂症时,gpt-5 比 sonnet-4 更靠谱,我在排查多线程、多级生产者消费者队列的问题时,gpt-5 能够根据日志直接定位到根因,而 sonnet-4 确给出了似是而非的结论,容易误导人.
3.确实存在降智现象 当你发现 sonnet-4 模型生成的代码质量很差时,那就是遇到降智了. 解决办法是,换 ip,不要用香港 ip,最好美国、日本 ip
4.在某些领域,生成的代码远比我们写的好,还快 主要是一些标准算法、流程等领域,例如图像编码、多线程、数据结构(缓冲区队列)、开源模型推理、标准算法、等领域,生成的代码又快又好,几乎没有 bug,已经完全可以取代手工写代码了
5.可以帮我们看文档
我将硬件相关的一堆接口资料示例代码丢给模型,然后告诉模型我需要啥、有哪些注意事项,他就会从大量的接口文档中找到合适的 api,然后自己把流程串起来、构造参数、进行异常处理等,总之就是直接生成可以使用的代码.按照传统的项目开发流程,熟悉海量的文档都要花不少时间;而这次整个项目做完,我甚至都没细看硬件到底提供了哪些接口.
6.定期重构、小步快跑
模型生成的代码虽然能跑,但并非完美无缺,长期累积下来,你会得到一堆看起来运行的还不错的屎山代码,对于人类程序员来说,“可维护性”太差. 因此需要定期进行重构,使其架构、模块划分更适合人类的 taste,否则积重难就不好处理了.
然而我有点怀疑:对人类来说架构混乱、可维护性差,真的是一个问题吗?
也许对于 AI 来说,这根本就不是一个问题,他生成的代码才是最合理的架构--只是我们人类程序员太弱了?