为什么 AI 还不能完成复杂项目?
这其实是局限于大语言模型自身的缺陷:
- 上下文窗口长度有限
复杂项目的代码、文档是很多的,如果不能全局了解整个项目,你就很难去设计架构去拆分模块。
- 自然语言是不精确的
你很难用语言来描述清楚一个项目,就算你把整个代码库加上所有的文档都扔给 AI(假设上下文窗口长度没限制),它也不能完全理解这个项目,因为一个项目会有很多代码、文档之外的知识,要把它完全描述清楚要 AI 能理解这很难。
不仅仅是自然语言难以精确描述,很多时候项目的需求是开放式的,需要经过反复的讨论和修改才能把开放的问题变成确定的问题。比如说小红书突然有很多美国用户注册,你告诉 AI 这件事 AI 也不知道该做啥,最多给你出点点子,最终还必须是运营和产品把这件事梳理清楚,做出决策,变成具体的功能要求,比如要更好的国际化的支持,翻译的功能,等等,AI 才能去实现。
- 无法感知环境,也无法直接执行
当人类去开发一个项目的时候,不光是写代码,还需要很多互动,比如编译代码、部署代码、测试代码、模块集成、调试等等,这些事情 AI 是不能直接去做的,它需要去调用外部工具去编译、去部署,如果要调试那就更难了,因为它只能借助多模态,复杂一点的操作它现在还很难胜任。
- 幻觉
由于 AI 训练的知识是有限的,但人类的需求是无限的,但 AI 又要尽可能的对人类的要求做出响应,所以它就会产生幻觉,编造出一些不存在的 API、无法运行的代码,如果人不认真检查和仔细测试,就很容易把这些有问题的代码混进去,后期要花很大代价去发现和修复。
所以现阶段,AI 还是辅助为主,人类提出模块级别的要求,AI 去生成代码,然后人去审查去测试,最后再集成到项目中。