用ChatGPT写代码?我踩过的坑比你想象的多

无双博客 未命名 20
用ChatGPT写代码?我踩过的坑比你想象的多

用ChatGPT写代码?我踩过的坑比你想象的多

先说立场:我用AI写代码,而且用得不少。但今天不是来吹AI的,是来吐槽的。

坑一:它特别自信地给你写错的代码

这个太经典了。你问它一个问题,它给你一段代码,看起来特别完整特别专业,还有注释,还解释了原理。你复制粘贴一跑——报错。

最离谱的一次是让它帮我写个Python的装饰器,它给我用了一个Python 3.12才有的语法,而我的服务器跑的是3.9。它根本没问我Python版本!当然我也没说,这算我的锅。但问题是它的语气太自信了,就好像这段代码在哪都能跑一样。

后来我学乖了,每次提问都会带上环境信息。Python版本、操作系统、框架版本……麻烦是麻烦,但至少减少了50%的返工。

坑二:旧API、废弃的库

这个才是大坑。AI的训练数据有截止日期,但它不会主动告诉你"这个API在2024年已经废弃了"。

我之前让它用requests库写个爬虫,它给我用了这么一行:

response = requests.get(url, verify=False, allow_redirects=False)

代码本身没错,但那个网站需要SNI支持,requests在特定情况下处理SNI有问题。它完全没提这茬。我查了半天才找到原因,最后换成了httpx才解决。

更别提那些已经不维护的库了。它给你推荐个库,你去PyPI一看——最后更新2021年,issue堆了一堆没人理。这种时候你只能自认倒霉。

坑三:安全漏洞

这个真的要命。让它写个SQL查询,它直接给你字符串拼接:

query = f"SELECT * FROM users WHERE name = '{name}'"

SQL注入啊大哥!我问它的时候它还说"这是一个简单的示例"。示例也不该教坏习惯吧?

还有文件路径拼接、命令执行这些,它经常给你写出不安全的版本。如果你自己没有安全意识,直接用上去那就是给自己埋雷。

那为什么我还在用?

因为效率确实高啊。

我现在的工作流是这样的:让它写初稿,我自己review和修改。大概70%的代码能用,30%需要改。但即使是那30%,改也比从零写快。

关键是你要有能力判断它写的对不对。如果你是纯新手,看不出来它哪里写错了,那AI就是双刃剑——效率翻倍的同时bug也翻倍。

我给新手的建议:先学基础,再用AI辅助。别指望AI替你学编程,它会让你产生"我懂了"的错觉,实际上你只是会复制粘贴而已。等你真遇到问题,两眼一抹黑。

哦对了,还有个坑——别让它写正则。每次它写的正则都得我自己重新写一遍,就没对过……

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~