刘润老师对大模型有幻觉给了一个方法:不要直接用大模型做事情,而是用大模型打造出软件来做事情。这个说法想起了“软件日抛”的观点。
之前看到钉钉的大佬说软件进入日抛时代,也就是软件可以随时生成,解决问题之后就抛弃掉,下次需要的时候再次生成。当时听到这个观点的时候,还是挺疑惑的。一般疑惑都是由于既感觉里面有合理的地方,又隐隐约约感觉有什么地方不对劲。
现在AI能力发展最快的地方就是写代码,最强写代码的 AI 工具公司 Anthropic 就只做这一件事情,估值就快上万亿了,单位还是美元。由于经常使用这类写代码工具,也感受到它们发展的迅速,现在即使国内比较好一点的模型,在写代码方面都已经在大部分场景下要求怎么写就能写出预期的代码了。而且如果考虑国外的模型还好一截,后面这方面的能力还在不断地提高,还是非常有希望达到只要把需求说清楚,AI 工具就能够把代码写出来,而且还能自己调试、修复BUG,直接达到可以使用的状态。如果能够达到这种程度,那么软件就没必要显式存在了,人只要提要求,那么 AI 工具(或者换个名称叫 Agent)自己判断是否需要生成代码、执行代码,反正把要求实现就行,返回一个需要的结果即可,至于底下是否有生成代码、有没有软件,就不需要人来关心了。这就走到了“软件日抛”的程度,或者是“除了 Agent 无软件”的程度。从这个角度看,软件日抛也是有一定道理的。
但不对劲的地方也存在。比如点个外卖,如果软件是临时生成的话,那就要按一堆地域规则、优惠规则、外卖店规则等等临时生成一个软件或者一大段代码,然后把一些外卖数据经过这些规则的过滤查出来,然后呈现给点外卖的用户。下一个用户来点的时候,也要经历同样的过程。而且这些过程都需要大模型深度参与,每次调用大模型都至少需要几秒甚至更长的时间,点一个外卖的时间可能就不是用户能够接受的了。这还是比较简单的情况,如果把这个搜索当做一个搜索引擎,背后是按亿、甚至千亿的数据来查询的,那么即使是AI工具来写这个软件,估计也不是一小会能够完成的。从这个角度看,有不少软件是非常复杂的,无法在短时间内生成,而经过不小成本生成的软件,如果很快就抛弃掉,也过于浪费了。
刘润老师说的“大模型生成软件”的方式,点出了大模型的一个目前还克服不了的问题:幻觉。如果软件是每次都生成的,那么每次的软件都可能是不同的,而软件的结果就更不好说是否能够每次一样了。把软件确定下来,反而是克服大模型幻觉的一种不错方法。大模型生成软件虽然有幻觉,但经过调试和修正,软件变得可控,软件可控之后,它执行的结果则是稳定的,后面由于大模型不介入了,也不会有新的幻觉。从这个角度看,如果大模型要深入到工业这种要求精确的场景,那可能就需要变成随时按需生成软件了,就相当于每个步骤一个专业软件来稳定执行,当流程发生变化就立即生成符合要求的新软件。
夜雨聆风