以cursor为代表的AI辅助编程一开始就在使用, 变成团队的默认配置也有一段时间了.
这里聊下AI辅助编程过程中的一些实践经验以及个人看法, 就目前来看, 基于大语言模型衍生出来的辅助编程有非常强的信息压缩和提取能力, 但没有实质性质的推理能力.
所以较好的方式是定位AI辅助编程为:
- 咨询师或者老师:给与一些额外的意见, 帮助自己思考和决策
- 但不能是老板, 如果自己开始听命于AI,那会是一个不好的结果
- 行动力很强的初级开发
- 行动力很强,但是会胡说八道和乱干的程序
咨询师&老师而不是老板
这里也看我们工作时候的核心诉求, 如果说是一个能跑的程序, 最后通过验收即可, 中间用了就可以扔的话,那么确实可以直接听AI的就行;
如果是一个严肃开发者尤其是成长中的开发者, 那么工作中重要一环就是精进自己的编程技艺.
那么对待AI的方式要格外的小心,很容易就会让人废掉武功, 具体来说:
- 明确职责:对待程序的最终负责是你自己而不是AI, 不能以出现问题就说AI sb来开脱,这种会从根本上自废武功
- 依旧要对程序有充足的掌控力, 知道自己在干什么, 编程的一些基本原则依旧适用和需要遵守
- 立足于开发力提升和技艺的精进, 先思考再让AI给与建议, 尤其是程序写到自己觉得ok的时候, AI给出的提升点,是非常好的精进的点
- 这个是我最喜欢的学习的点, AI很多时候给出的建议非常的棒,受益匪浅
初级开发而不是精英
copilot做为一个额外的开发力量,其输出很客观,但整体上胡说八道的现象也很多.
对此或可如此应对, 投入更多在底层框架和编程规则上,可以有效的提升犯错的概率.
所以很多时候, 技术团队可以把定位向规则制定者&管理者来倾斜, 让AI输出更好的代码质量以及更低的犯错概率.
sum
- 自己先思考, 编程结束后问AI可以提升的点, 能够非常受益
- 团队向底层规则和代码架构管理上倾斜, 让AI的产出更给力
