乐于分享
好东西不私藏

一个软件小需求引发的思考:AI 时代,传统软件开发还有未来吗?

一个软件小需求引发的思考:AI 时代,传统软件开发还有未来吗?
     故事的梗概是这样的。
     老婆所在的公司是在瑞士做欧盟国家商用拖车进出口生意的,每次从欧洲不同国家的供应商进口拖车都得向瑞士海关提交相关货物的原厂地出厂证明(简称COC文件,PDF版本)以及货物报关单(SVSA文件,PDF版本),而SVSA文件里面需要填写的很多报关数据都来自于COC文件。按照传统方式,需要老板一一手写摘录进去,耗时耗力,而且过程不能有任何出错,不然又得重写,老板每天需要消耗大量的时间在和这些表单打交道。        
    所以老板这次就交代给老婆一个任务,看看能不能找个软件供应商直接用系统实现表单的数据自动填写,具体需求如下:
    目前有十家供应商,十张COC文件模版— 》需要用软件识别并读取这些COC文件中的相应数据—》然后将读取到的数据和SVSA文件的具体字段建立映射关系,并直接填充进去——》最后生成已填写完成的SVSA文件,保障填写准确率,省去大量手写工作。
   作为曾经的程序猿,我刚听到这个需求的时候,第一反应就是可以调用百度OCR对表单进行识别进行抓取,然后按照一个个表单样式进行调试,但是过程会比较漫长,但是准确率会高些。结果老婆信心满满的说用大模型Vibe Coding很快就能实现,而且比我这种传统软件开发方式交付质量要高得多。
    面对一个编程小白的高谈阔论,我心想才用了几天大模型就敢夸下如此海口,真是初生牛犊不怕虎。作为一名前程序猿的我,好胜心立刻涌来上来。于是乎我俩打了把编程友谊赛,我用python,她用GPT大模型,看看谁先能够把第一张COC模版自动填写需求给实现了。
    结果现实的巴掌很快把我的老脸扇肿了!
    老婆用GPT仅仅花了一天左右时间就从0到1搭了一个pdf文件读取识别工具出来,实现效果已经可以达到基础数据的填写和生成。而且她还是在GPT的指导下一步步输入生成的代码搞定的,即便她根本不知道那一行行代码代表啥意思。
    相比之下我花了两天时间,才完成了基础通用文档表格的识别以及空格位置参数的调试(通过确定SVSA表格具体的待填写数据区域坐标参数来进行数据填充),而且还只是简陋的.py文件格式,还得进一步封装成有可操作界面的工具来进行使用。虽然已经将近十年不碰代码,但这个结果已经大大超出我对于AI能力边界的认知范畴,让人有种被时代抛下的感觉。
  老婆的劳动成果:
   如果一个编程小白能够在GPT的引导下从0到1捣鼓出这种简单的应用工具或者系统,那么未来很多基础代码的编写是不是就真的用不了大量程序员了?未来这些传统程序员又该何去何从呢。
   带着这样的疑问,我咨询了几个现役的程序员同学。
   其实目前VibeCoding早就已经应用在一线项目开发了,但主要还是启到一个辅助开发的作用,像 Spec Coding (规范编程)、Glue Coding (胶水/集成编码)这两种整合了公司的代码开发规范,大型软件开发工程和生产级系统根本不敢交给AI来直接生成。因为没有统一架构上约束,而且不同的AI模型能力还不一样,如果全是AI在改,那么碰到审查代码,优化、需求变更,整个软件可能就被堆成屎山代码,根本不具备实际可用性和可维护性!
   通过这次周末的小竞赛,让我对AI的能力范畴以及对于现有传统行业的冲击有了更深的体悟。
  1、对于小白来说,如果只是捣鼓写个人版的小工具、小应用,可视化面板等等,确实用AI来得更方便快捷,不需要太多编程知识。把核心需求描述得详细、精确即可。毕竟传统编程语言的学习不是一朝一夕的,需要花大量时间去学习和练习,没必要为了实现一点软件小需求去掉入编程的汪洋大海,能解决实际问题即可。
  2、对于大型、工程类的软件开发,目前还是得靠架构师和程序员进行独立设计和开发,AI最多把一些成熟的代码模块进行辅助生成,但是代码不可控,难维护,存在大量隐性BUG。工程型软件涉及的海量代码必须要有一套标准,能够让人看得懂、可维护,这必然离不开程序员人为的把控。
 3、目前AI的能力还没有想象中的那样无所不能,暂时不用过分焦虑。但未来的软件开发必然会朝着AI比重越来越高的方向发展,抱残守缺或者抗拒变革的潮流迟早会被时代所抛弃,这一点在软件行业尤为明显,毕竟大规模的裁员潮早就已经开始,会用AI辅助编程肯定是未来程序员必备的核心技能。
 4、记住,AI永远是只是工具,它只用来提高生产效率,并不改变分配模式。最大的区别是 你能够驾驭它,还是它来取代你?