工程师真心话:AI 帮我写程式,但也让我踩了几个坑

AI 写程式到底好不好用?作为一个天天用的工程师,我说:超好用,但也有几个坑我踩得很痛。这篇聊聊它真正帮到我的地方,还有那些「看起来对、跑起来爆炸」的时刻。

我写程式十几年了。AI 编辑器刚出来的时候,我是抱着怀疑的。结果用了一年,我现在离不开它——但也因为太信任它,踩过几个让我加班到半夜的坑。这篇没有要神化也没有要唱衰,就是一个工程师的真实使用心得。

它真正改变我的,是「样板时间」

先讲好的。AI 对我最大的价值,不是写什么高深演算法,是把「无聊但必要」的时间砍掉。

写一个 API 的样板、设定档、一堆重复的 CRUD、把资料从一个格式转成另一个——这些我闭着眼睛都会写,但很花时间、又很烦。现在我用 Cursor 这类 AI 编辑器,描述一下就生出来,我再检查。以前这种活占我一天的三成,现在剩不到一成。省下的时间,我拿去想架构、解真正难的 bug。

这点我要老实说:AI 没让我变成更厉害的工程师,但让我从杂事里解放出来,去做更值钱的事。

坑一:它很会「看起来对」

现在讲痛的。AI 写的程式码最危险的地方是——它读起来超顺、超合理,但可能是错的。

我踩过最痛的一次,是它给我一段处理日期的程式,逻辑漂亮、命名清楚,我看了觉得没问题就合并了。结果跨时区的时候整个爆炸,线上出包,我半夜爬起来修。回头看,那个 bug 藏在一个很细的边界条件,AI 没考虑到,而我因为「它看起来很专业」就没仔细查。

教训:AI 写的东西,越是看起来完美,越要仔细 review。 它不是不会错,是会「很有自信地错」。

坑二:它不懂你整个专案的脉络

第二个坑是,AI 很懂「这一段程式」,但常常不懂「你整个系统」。

它可能给你一个技术上正确、但完全不符合你们专案惯例的写法;或是重复造了一个你们早就有的轮子,因为它不知道那个工具函式已经存在。这种「局部正确、整体格格不入」的程式码,累积起来会让专案越来越乱。

所以我现在会很明确地告诉它专案的惯例、要它沿用既有的东西,而不是放任它自由发挥。

坑三:太依赖,肌肉会退化

这点比较主观,但我真的有感。有一阵子我太依赖 AI,连一些基本的东西都懒得自己想,直接问。结果有次面试白板题,没有 AI,我卡住了——不是不会,是太久没「自己从零想」,生疏了。

现在我会刻意留一些「自己写」的时间,尤其是核心逻辑跟我想学的东西。AI 是拿来加速的,不是拿来代替我思考的。分寸自己抓。

我现在怎么用

一年下来,我的原则很简单:让 AI 做我会、但不想花时间做的事;自己做需要判断、需要理解、我想成长的事。

样板、转换、查语法、写测试——丢给它。架构决策、安全性、核心逻辑、debug 难题——自己来,AI 顶多当顾问。永远 review 它写的每一行,尤其是看起来最完美的那几行。

AI 让写程式这件事变快了,这是事实。但它也让「不看懂就照抄」的代价变高了。工具越强,用的人越要清醒。想看更多开发工具,可以参考AI 程式开发工具推荐

常见情境:团队合作与AI编辑器

在团队合作中,AI编辑器可以成为一个非常有用的工具,尤其是在大型专案中。然而,团队成员需要明确地沟通和协调,以确保AI编辑器生成的程式码符合团队的惯例和标准。另外,团队成员也需要注意AI编辑器可能产生的错误或不一致性,特别是在跨时区或不同系统的合作中。

进阶用法:自定义AI编辑器

随着AI编辑器的发展,现在可以自定义AI编辑器以符合特定的需求和惯例。工程师可以透过设定AI编辑器的参数和规则,让它生成更符合自己需求的程式码。例如,可以设定AI编辑器只生成特定的程式语言或框架,或者设定它遵循特定的命名惯例或编码风格。

常见错误:过度依赖AI编辑器

过度依赖AI编辑器是工程师常犯的错误。虽然AI编辑器可以节省时间和提高效率,但它并不能取代工程师的判断和思考。工程师需要保持警惕和批判性思维,特别是在审查AI编辑器生成的程式码时。另外,工程师也需要注意自己的技能和知识是否因过度依赖AI编辑器而退化。

未来趋势:AI编辑器与人工智慧的整合

未来,AI编辑器可能会与人工智慧更深度地整合,让工程师可以更有效地使用AI编辑器。例如,AI编辑器可以透过机器学习算法学习工程师的偏好和惯例,生成更符合工程师需求的程式码。另外,AI编辑器也可能会整合更多的功能,例如自动测试和除错,让工程师可以更快速地开发和部署软体。

给不同族群的建议

给初学者的建议是:不要害怕使用AI编辑器,但要保持警惕和批判性思维。初学者可以透过使用AI编辑器来学习程式设计的基础知识和技能,但要注意不要过度依赖AI编辑器。给经验丰富的工程师的建议是:要保持自己的技能和知识,不要让AI编辑器取代自己的判断和思考。经验丰富的工程师可以透过使用AI编辑器来提高效率和生产力,但要注意不要过度依赖AI编辑器。给团队领导者的建议是:要明确地沟通和协调团队成员的使用AI编辑器的方式和惯例,确保团队成员可以有效地使用AI编辑器。

对比表格:AI 编辑器的优缺点

项目 优点 缺点
生产力 提高生产力,节省时间 可能导致过度依赖
正确性 可以生成正确的程式码 可能产生错误或不一致性
学习曲线 可以帮助初学者学习程式设计 可能让初学者缺乏基本的程式设计知识
团队合作 可以提高团队合作的效率 需要明确的沟通和协调

常见误解:AI 编辑器会取代工程师

许多人误解AI编辑器会取代工程师的工作。然而,AI编辑器的目的是帮助工程师提高效率和生产力,而不是取代工程师的判断和思考。工程师需要保持自己的技能和知识,并且需要批判性地思考AI编辑器生成的程式码。

实用步骤:如何有效地使用AI编辑器

要有效地使用AI编辑器,工程师需要遵循以下步骤:

  1. 明确地设定AI编辑器的参数和规则。
  2. 审查AI编辑器生成的程式码,特别是看起来最完美的那几行。
  3. 保持自己的技能和知识,不要过度依赖AI编辑器。
  4. 使用AI编辑器来提高效率和生产力,但不要让它取代自己的判断和思考。

未来发展:AI 编辑器与自动化测试的整合

未来,AI编辑器可能会与自动化测试更深度地整合,让工程师可以更有效地使用AI编辑器。例如,AI编辑器可以透过机器学习算法学习工程师的偏好和惯例,生成更符合工程师需求的程式码。另外,AI编辑器也可能会整合更多的功能,例如自动测试和除错,让工程师可以更快速地开发和部署软体。这将大大提高工程师的生产力和效率,并且可以帮助工程师更好地完成工作。

常见问题

AI 写的程式码可以直接用吗?

不建议照单全收。它常「很有自信地错」,越看起来完美越要仔细 review,尤其边界条件、安全性与跨系统脉络。

AI 会让工程师变弱吗?

过度依赖会让基本功生疏。建议让 AI 做样板与杂事,核心逻辑与想成长的部分自己写,刻意保留练习。

AI 编辑器最适合做什么?

最适合砍掉「无聊但必要」的样板时间(CRUD、设定、格式转换、写测试),让你把时间留给架构与难题。

繁體中文版 →