前几天初创公司 Cognition AI ,2 个月前才刚成立一夜之间在 X 卷起了风暴,就因为他们一条浏览量上千万的推文:

今天,我们很高兴地向大家介绍,第一位 AI 软件工程师 Devin。

我们来看看这位 AI 程序员能做什么吧。

  • 自主查阅 api 文档,学习新技术,自主写代码
  • 面对一个需要不时维护的包含不同算法的开源存储库,Devin 拔剑四顾,帮忙查找和修复错误,也就是会改 bug
  • 去自由职业者网站上接私活,并顺利完成任务

看上去这位程序员可以完成普通开发者的工作任务,是不是有这样一种可能:让 AI 诞生的职业,会因为 AI 而失业,典型的教会徒弟,饿死师傅?

目前已经有人在惊呼:ai 已经可以替代程序员了,结合之前英伟达 ceo 黄仁勋的*学代码无用论*的观点,看来业界颠覆程序员的野心真是昭然若揭。

不过事实真的是这样吗?至少在目前这个阶段,我觉得我们大可不必过分担心ai 取代程序员和测试人员的事情,理由有如下几点

一切都只是 demo

目前 Cognition AI 只是放出了 demo 而已,距离真正的生产环境级别的应用,目前应该还是有一定的距离的。还记得之前 google 放出的多模态人工智能模型演示吗,全程充满了科幻感和不真实感,让人觉得未来已来。然后后续的事实是 google 承认演示 demo 有剪辑的成分,声誉一落千丈。

另外 Cognition AI 正处在融资的关键阶段,这时候放出 demo,我只能说是懂的都懂。

在经历了之前超导的全民沸腾和迅速反转之后,没有实锤的结论我们可以先观望一段时间再说。

ai 还不能从事特别复杂的工作

Devin 应该是可以替代程序员和测试人员完成一些创造力有限的重复性工作,对于需要深度思考的工作,ai 的表现只是一般,比如 Devin 在改 github issue 方面可以达到惊人的 13.86%,在一众 ai 竞品中瑶瑶领先,然而还有 86.14%左右的 bug 是 Devin 所不能解决的,换句话说,Devin 目前解决不了大部分的有深度的问题。

另外就算 Devin 可以日常编写代码,对于大部分的公司来说,可能还需要有专人去 review 这些 ai 生成的代码,试想一下,如果你是老板,你会不会让 ai 修改你代码库里的核心代码,并自由的进行提交?所以就算是 AI 程序员上岗工作,这些 ai 也需要在人类的监督和反馈下才能完成任务,高级的核心程序员和测试还是有生存空间的。

深度学习大佬 François Chollet 的观点我深以为然——软件工程不是复制和粘贴代码,而是开发和操作问题及其解决方案的心智模型,Devin 还没到这个境界。

码农和测试人员的工作不只是写代码而已

在日常工作中,我们有很大的一部分精力都会放在沟通和交流上。特别是测试人员,工作往往是在进行动态博弈,需要根据当前质量的情况动态的去调整测试策略和测试时间。很多时候发布的时间是固定的,而开发可能会延迟提测,到最后形成了零和博弈的局面。而这一切 ai 可能难以理解,就算可以理解,ai 也不能替代人类进行项目或者产品层面的沟通交流,起码现在看来还是长路漫漫。

数据安全问题

对于大多数互联网公司来说,代码是公司的核心资产,也是最重要的数据。让第三方开发的 ai 软件工程师参与到代码的日常编写工作就像是请一群精壮的雇佣兵参观和守护你的金库。一旦稍有闪失,这群雇佣兵可能成为抢劫你财产的先头部队。

总结

就像是几年前 github 发布 copilot 时一样,总有人会悲观的认为程序员这个行业的丧钟已经敲响,然而两年过去了,事实是 copilot 并没有让程序员们流落街头,真正让码农们失业的是经济环境和投资信心。

所以不用过分担心 ai 程序员会取代开发和测试人员,创造性和专业性目前看来还有生存的空间。真正需要担心的是一些 nocode 和 rpa 的平台工具,现在的玩法已经彻底升级了。nocode 平台的核心功能就是让用户可以通过简单的操作来完成初级程序员可以做到的事情,现在不需要了,只要告诉 ai 程序员你的需求,剩下的就是从 ai 程序员提交的样品中选择最合适的那款就可以了;rpa 也是同样的道理,简单重复的工作将会越来越简单高效的被 ai 所完成。

可以预见在不远的将来,程序员和测试人员的技术深度以及业务深度会比广度更加重要,深度靠自己,广度靠 ai。