“ AI编程是一个黑盒子,我们需要控制这个黑盒子。”
自从去年公司说要全力梭哈AI,然后今年就开始把这项任务提上日程,比较直观的体现就是想用一个人+AI完成整个项目的前后端的迭代与开发;虽然从理论上来说这是没问题的,但由于AI本身的不可控性,使得整个项目的迭代成为了一个黑盒,程序员只需要使用claude code,codex,trae等AI工具开发代码,任务就是指挥AI去做事,但无法保证AI做的到底怎么样,再加上公司要提效,不断缩短项目的开发周期,使得其成为了一个悖论。
面对这种真实的工作场景,到底应该怎么选择AI提效,还是面对一个黑盒子,在将来面对一个完全不可控的风险。
AI提效的悖论——黑盒子
以作者个人的体验来说,本身手中维护的项目就是一个实验性质的项目,很多需求和场景都不固定,可能今天是这样明天是那样,然后在不断的迭代过程中,系统虽然功能上不复杂,但项目开发上已经变得非常的复杂,逻辑不清晰。
而这时,公司又在大力提倡AI提效,想用人+AI的方式,来缩短项目的开发时间,节约成本;但直接用AI取代人力,会面临着一个绝对的风险——黑盒子。
因为AI写的代码虽然从结果上看好像是对的,但实际上AI写的代码完全没有逻辑性,没有架构,再加上时间的压缩,为了追求结果只能让AI深入介入你的项目代码,这时你的整个项目就变成了一个黑盒子;没有人知道它内部到底是怎么设计的,怎么实现的,即使是AI也不行。
所以,这就构成了一个绝对的风险,整个项目完全失控;再回到具体的借助AI开发的具体问题,使用AI开发,无非是借助AI的能力进行需求快速分析,快速给出方案和原型;开发人员在其中扮演的角色是,告诉AI你的需求,然后让AI帮你梳理需求,给出具体的解决方案和代码实现。这个从理论上来看没有任何问题,但是这时的程序员在项目开发中,不再是一个编码和设计人员,而是一个指挥人员,文档编写人员,程序员唯一需要做的就是写文档,审核方案和文档,然后让AI来实现。
在一些简单的场景中,这样做是没有问题的,但在复杂的场景中,AI的理解能力有限,很多复杂的问题它也处理不了;这时,因为业务需求导致项目变动,对一些功能进行修改和优化,这时指挥AI完成任务的微调,难度相对就比较大了;其次就是由于AI无法处理复杂的问题,在面对复杂场景时,它可能就会乱写,乱说,最后导致整个项目不可维护。
当然,说了这么多AI编程的缺点,并不是说AI编程没有优点;它在简单的业务场景中,其效率确实要比人快得多,其次我们在项目开发中也可以借助AI进行快速设计,快速验证。
但是使用AI开发是一个循序渐进的过程,并不是一步到位的结果;我们可以借助AI来提升部分工作效率,但要在我们可以把控的情况下才能这么做,否则无异于自掘坟墓。
总之,我们可以使用AI,但我们需要知道AI每一步在干啥,而不是把所有的东西都交给AI来干。

