用AI写代码的人越来越多但能判断AI对不对的人没多几个我是个20年的老程序员用AI写代码几个月了。说个真事。有天我用AI查一个Java并发问题第一次问它给了个答案看着挺像回事。我不太放心换个说法又问了一遍答案不一样了。第三遍又不一样。三个答案里只有一个是基本正确的另外两个看似合理实际上有坑。我为什么能发现因为我有多年的锤炼AI给我的答案我能看出问题在哪。但大多数人没有这个能力。大多数人眼中的AI我观察了一下身边的人——不只是非技术人员包括很多刚入行的程序员——他们对AI的认知基本是这样的AI 高科技肯定比我强AI说的 权威答案同样的问题问出不同答案 是我没问清楚AI给出的代码跑不通 是我的环境有问题他们完全没有AI会编“AI会幻觉”AI不稳定这个概念。这很危险。AI的本质相关性不是因果性大语言模型的工作原理说白了就是根据上文猜下一个最可能出现的词。它不是在思考它是在匹配模式。这意味着什么意味着它给出的答案是基于训练数据中词语的统计相关性不是基于逻辑推理。你问它Java的HashMap是不是线程安全的它在训练数据里见过无数次HashMap不是线程安全的这句话所以它能答对。但你问它一个稍微冷门的问题比如ConcurrentHashMap在Java 8中size()方法的实现原理它就开始拼凑了——把atomic、CAS、baseCount、CounterCell这些相关的词组装在一起看起来很专业但细节可能对可能不对。它不是在回答你的问题它是在生成一段看起来最像正确答案的文字。最危险的情况你不知道你不知道AI犯错不可怕。可怕的是AI犯的错你判断不出来。我见过有人让AI写SQLAI给出一个LEFT JOIN的查询看着语法完全正确跑出来也有结果但结果是错的——因为业务逻辑不对该过滤的条件没过滤不该关联的表关联了。写这段SQL的人看不出来因为他对业务不熟。AI也不知道因为AI不懂你的业务。还见过有人让AI解释一段代码AI信誓旦旦地说这段代码实现了XX功能实际上是错的。但提问的人看了AI的解释觉得哦原来是这样然后带着这个错误的理解继续干活。一个没有判断力的人用AI就像一个不会游泳的人穿救生衣——救生衣有时候确实管用但如果他不知道什么时候救生衣漏气了他比不穿救生衣的人死得更快因为他会因此敢往深水区走。还有比犯错更危险的——AI没说的东西。我让AI写了一篇数据库分区表的技术文章技术上完全正确结构清晰。但我发现它漏了一个致命前提30亿数据的分区表大范围时间查询会死。AI知道分区表有局限吗当然知道。你问它分区表有什么缺点它能列十条。但在写文章的时候它不会主动提醒你——因为你的上下文里没提这个局限它就想不到。AI犯错你能发现因为答案和你的预期不符。AI不说你发现不了——因为答案看起来是完整的你根本不知道该去查什么。我怎么用AI我自己的做法你喂信息我做推理你做判断。AI是我的助手不是我的老师。我让它帮我生成代码框架、帮我查API用法、帮我写正则表达式但最终每一段代码我都会过一遍确认它符合我的业务逻辑和技术判断。如果AI给的答案和我已有的知识冲突我不急着采信也不急着否定我会去查文档验证。如果AI给的答案我完全看不懂——那说明这个领域我还没到能安全使用AI的程度我得先补课。怎么问AI更靠谱。别问请客观评价问先说三个缺点再说优点。别问请评分问从逻辑、论据、与实际的偏差三个维度分析指出最关键的问题然后评分。请客观是意图指令——你在告诉AI该怎么做但它该讨好还是讨好。先说缺点是结构指令——你改变了它做事的流程它不得不先找问题再下结论。意图指令靠AI自觉结构指令靠流程强制。AI没有自觉但流程它必须遵守。判断力才是核心竞争力AI会越来越强这一点没有疑问。但AI越强越需要一个有判断力的人站在它后面做最后一道关。AI时代最值钱的不是会用AI的人是能判断AI对不对的人。怎么培养判断力没有捷径写足够的代码踩足够的坑犯足够的错积累足够的经验。这些东西AI替代不了你。反过来如果你的经验足够丰富AI就是你的倍增器——你一个人能干五个人的活而且干得比那五个人都靠谱。但如果你没有判断力AI就是你的倍增器——放大你的错误加速你的翻车。别迷信AI。提高自己的判断力。