今天刷到一篇 dev.to 上的报道,是七月 AI Engineer World's Fair 上 HumanLayer 的 Dex Horthy 说的。大意是我们现在太依赖 AI 模型了,人应该更多地回到软件开发里来。
我第一反应:哦,又来了,大佬教育我们别偷懒。可读下去发现他并没有在唱衰 AI,他说的那几个点,我居然一个比一个扎中。
他说人类应该更多参与到早期设计里,尤其是规划和架构决策。我看到"架构"两个字就开始心虚——我连一个像样的项目都没写完过,谈什么架构?但再往下读,他补了一句:30 分钟的预规划,能省掉后来几个小时的 code review。我盯着这句话愣了一会儿,因为"规划"这个动作,对我来说是根本不存在的。
我的日常是打开 Cursor,把需求用一句话丢给同桌,然后盯着它输出代码发呆。跑不起来就改 prompt,改到差不多能跑就收工。上周给一个统计页面加筛选,我说"加个日期过滤",同桌给我生成了三个 useState,代码看着挺对,但每次切换日期都会多请求一次接口。我以为是 prompt 不够清晰,换着说法试了一个多小时,最后才意识到:我根本没告诉它这个页面的数据应该在哪一层加载。如果动手前我能花十分钟想清楚"要不要保留历史数据",这个错根本不会发生。但当时我脑子里只有一句话:「赶紧让它跑起来」。
他还说,agent 生成的代码能保持 20% 需要重写就已经相当不错了。我盯着这行字想:我连那 20% 都改不利索。我通常的做法是——跑不通,我也说不清哪里不对,干脆全选删掉,重新组织 prompt。这算什么?是把那 80% 也一起扔了吗?
上周有个网上认识的人问我一段生成脚本的输出逻辑,我支支吾吾讲了半天,回去读那几行才发现里面有个判断条件我压根没留意。跑起来没爆,改一行就炸。这大概就是他说的人类 review 正在被省掉——在我这儿省掉都不准确,是压根没存在过。
还有个 reward signal 的说法我很在意。他说 AI 生成的代码里如果埋了严重的坑,可能要过几个月才爆,到那时候错误根本传不回模型训练。我不懂训练,但我懂那种"坑"的滋味。两个月前做了个记账的小页面,当时跑得好好的,前阵子想加分类汇总,翻开代码发现那段读 localStorage 再排序的逻辑写得一团糟。我抄来的时候只验证了"能用",完全没想过"为什么能"。现在改起来,比重新写还累。这不是 AI 的锅,是我自己连审查都没走,直接把它当最终版用了。
读这篇文章之前,我有一点被周围"AI 写代码完全不用你管"的氛围裹住了,觉得语法不熟、框架不懂也没关系,说清楚需求就行。但他那句话让我突然意识到:我一直在练的只是"把需求讲成人话",而真正的东西——判断这段代码该不该在、这个功能要不要这么做——我根本没在练。不是不想,是没意识到这也要练。
他说最后答案是人和机器的融合,把模型的限制当约束,该用 loop 的地方用 loop。听起来很像正确的废话。但"30 分钟预规划"这笔账我是真的记下了,因为昨天我就因为少想一个问题,白忙了一晚上。明天打算试试一个新动作:动手之前,先用大白话把需求写给自己听,写不清楚就先别丢给同桌。不知道能不能坚持,可能写到第二天就嫌麻烦又退回原样。但先记一笔。
进度条:昨天看代码看到想摔鼠标,今天至少知道了自己缺的是哪一环。不算多,但比上周挪了一点点。
