当码农遇见“龙虾”:我的AI编程“痛”与“快”
凌晨两点,我在电脑前,对着AI生成的代码陷入沉思。它写得比我快,但调试起来,却让我怀念起手写代码的“单纯”。这就是2026年,一个程序员与AI智能体的爱恨日常。
一、我的“养虾”体验:当帮手变成“甩锅侠”
作为全职码农,我大概是国内最早一批“养虾”的程序员。最初的感觉是狂喜——一个能自己写函数、跑测试、甚至能根据报错信息自动修复bug的AI助手,简直是生产力核弹。
真实使用场景:
-
快速原型搭建:告诉“小龙虾”:“用TypeScript写个带JWT验证的用户登录API,配上Swagger文档。”5分钟后,一个基础框架真的生成了。效率提升,肉眼可见。
-
繁琐工作解放:让它自动生成单元测试、补全文档注释、甚至重构某段冗长代码。这些重复劳动被剥离,幸福感飙升。
但蜜月期很快就结束了。
二、“它不理解我”:AI编程的三大“硬伤”
用久了就发现,这“虾”虽然手快,但“脑子”不太灵光。很多时候,它给我的不是解决方案,而是新的麻烦。
1. 对指令的“直男式”理解
上周,我写:“把这段数据处理流程优化一下,注意边界条件。”结果,它真的只“优化”了主流程,把几个关键的异常处理逻辑直接删了,理由竟然是“简化代码”。最后,我花了更多时间去重现和修补它制造的潜在崩溃。
我的体会:AI对自然语言的理解停留在关键词匹配和概率组合。它没有“业务sense”,不懂什么是“不言自明”的隐含需求。给AI下指令,得像写机器说明书一样,必须极度精确、毫无歧义,这本身就是一种认知负担。
2. 代码的“精致平庸”与隐藏漏洞
它生成的代码,格式漂亮,注释规范,乍一看很专业。但一深入,问题就来了:
-
漏洞藏在细节里:一次,让它写一段文件上传的校验代码。它生成了标准的后缀名检查,却完全没考虑文件名截断、路径遍历这种常见安全漏洞。最后的安全补丁,还是得靠自己。
-
“最佳实践”的僵化套用:它会机械地套用设计模式,有时把简单问题复杂化,搞出过度抽象的“教科书式烂代码”。
我的体会:AI的“知识”来自海量公开代码,这意味着它也继承了开源世界中所有常见的错误和不良模式。它缺乏真正的“理解”和“判断力”,写出的代码缺乏防御性编程的灵魂。
3. 调试地狱:“改代码不如重写”
最崩溃的时刻,是让它修改一段它自己生成的、有问题的复杂代码。你对它说:“这里有个并发问题,修改一下。”它可能只会机械地给那个变量加个锁,而完全无视整个上下文中更优的并发设计,甚至引入死锁。
几次之后我悟了:让AI修改它自己那套逻辑自洽但整体错误的代码,比我自己从头重写还要累。 因为我还得先理解它那套“AI思维”,再把它掰回正轨。
三、当下结论:AI是最好的“实习生”,但不是“架构师”
经过几个月的实战,我找到了和AI协作的“安全姿势”:
-
明确分工:让AI做它擅长的:写模板、做翻译(如不同语言间转换)、生成简单重复代码、写基础文档。但凡涉及核心业务逻辑、复杂算法、安全关键、性能瓶颈部分,绝不假手于人。
-
“分治法”使用:不交给它一个完整的模块,而是拆解成一个个职责单一、边界清晰的微小任务。比如,不让他“实现一个购物车”,而是让它“写一个计算满减优惠的函数”。
-
人做复审,AI做执行:我的角色,从一个写代码的,转变成了产品经理、架构师和代码审查者。我负责设计、拆解和最后的质量把关,AI负责中间大量的“体力编码”工作。
四、写在最后:我们依然不可替代
“小龙虾”这类AI智能体的出现,并没有让程序员失业,但它重新定义了程序员的价值。
能清晰拆解问题、精准下达指令、并具备深厚专业知识来审查和驾驭AI产出的人,价值正在飙升。反之,那些只会写重复代码的“码农”,会最先被AI取代。
AI填平了“从无到有”的沟壑,但“从有到优”的那座高峰,依然需要我们亲手去攀登。 它是一面镜子,照出的不是我们的无能,而是我们真正的核心能力所在:对复杂系统的深刻理解、对不确定性的判断、以及那份“让代码变得可靠”的责任心。
所以,我还在继续“养虾”,只是不再把它当“救世主”,而是当作一个手速极快、但需要我手把手教、并且时刻要盯着的“天才实习生”。这大概就是2026年,一个普通码农对ai的爱恨情仇。
更多推荐



所有评论(0)