理解可以被生成,判断力不能
比如,你想给网站加一个搜索框。
你把需求交给能直接操作项目的 AI 智能体。它修改文件、运行检查,再告诉你功能已经完成,附上实现说明和检查结果。你打开页面,搜一个确定存在的词,结果出来了。
说明读得懂,检查也通过了,页面看起来正常。这时很容易觉得,自己已经知道这个功能是怎么回事,可以验收了。
直到换一个搜不到的词,页面报错。你告诉它“搜不到内容时会报错”,它自己复现问题、查找原因、修改代码,还补了一条测试。随后汇报:代码原先默认搜索结果里至少有一条内容,现在已经处理了无结果的情况,检查通过。
你读完说明,明白了原因,也很容易从中总结出一个教训:要考虑边界情况。这句话当然对。你可能早就听过,也完全赞同。现在问题修好了,教训也有了,似乎可以继续做下一个功能。
但从交代需求到确认修复,你可能始终没有问过自己:刚才为什么只搜了那个确定存在的词?它说“检查通过”时,检查的究竟是哪些情况?看到结果出现时,凭什么就觉得功能做好了?
AI 修掉了代码里的假设,你却未必看见了自己判断里的假设。
我们早已生活在一个道理过剩的时代。别人把多年经历提炼成一句话,我们几秒钟就能读完。“要考虑边界情况”如此,“不要急着下结论”也如此。道理很好懂,难的是在下一次看到一个顺利的结果时,真的停下来,想想它还没有证明什么。
AI 又把这个间隔缩短了。过去,一个问题可能让你卡很久。你猜过几个原因,试过几条路,才知道最初的想法哪里不成立。现在,错误刚出现,解释和修复就一起到了。你能复述发生了什么,却未必有机会修正自己看问题的方式。
这就是那种抽离感:解释已经很完整,自己却还没有把事情走过一遍。下一次遇到稍有不同的问题,仍然不知道先看哪里。
理解可以被生成。判断力不能随着那段解释一起交付。
回到那个报错的搜索框。你可以把两次输入留下来:一次有结果,一次没有。让它修复时,也请它查清,之前的检查为什么没有覆盖第二种情况。再想一想,自己为什么也漏掉了。查代码和补测试仍然可以交给它,但你开始知道,先前那句“检查通过”并不足以支持自己的判断。
修好以后,自己选一个新的、搜不到的词试一遍。页面没有报错,你知道这次验证了什么,也知道仅凭这一次,还不能保证其他情况都没问题。以后再看到一个功能跑通,你或许会自然地多问一句:刚才试的,是不是只有最顺利的那条路?
这点变化很小,却比记住“要考虑边界情况”更接近判断力。那句话终于对应上了你做过的事:你曾怎样确认,漏掉了什么,又怎样发现自己确认得太早。
不必为了学习而拒绝修复,也不必把所有代码重写一遍。值得留下的是自己猜、试、发现不对、再作判断的那一段。AI 可以参与其中,帮你缩短查找和尝试的时间,但如果每次连同这一段也一起跳过,问题虽然解决了,你对下一次问题的判断未必会有变化。
下次再打开那个搜索框,你先输入了一个肯定搜不到的词。到这时,“要考虑边界情况”才不只是一句你赞同的话。