AIGC 生成代码正流行,对程序员是好还是坏?( 七 )


Michael Yuan:实际上我们有自己的数据,但我认为还不足以进行直接比较 。Twitter 上有很多比较 。实际上,一些经验丰富的人更不愿意使用 AIGC,因为他们认为自己可以写得比 AIGC 更好 。而那些比较初级的或者经验较少的程序员愿意使用 AIGC,他们代码编写速度和完成度要比那些资深程序员高得多,这不是两倍的差距,而是几十倍的差距 。当然,也可以说经验丰富的开发者写出来的代码更容易扩展 。但是如果有了几十倍的差距,那么下次直接重写就好了 。
邓明轩:我观察到,小型初创公司在技术选型上会更快一些,因为他们可能更加灵活 。对于一些大型企业,特别是传统企业,开发部门可能比较庞大、流程也比较复杂,目前找到合适的方法将这些纳入到整个软件工程流程中仍是一个问题,所以我认为还需要观察 。
如果你的定位是写一些胶水代码或者试验性代码,那可以快速适应 。另外,如果你所在的公司比较灵活,我建议大家去尝试 。如果你有一个由 5 个或 10 个人组成的团队,并且你们的效率是巨大公司的 30~40 倍,那么你就可以与这些大型公司竞争了 。
当然,对于传统的大型软件开发公司或大型 IT 部门来说,短期内将这些融入到开发流程中具有挑战性,大家可能还没有完全明白该怎么做 。我们可以稍微放慢一些节奏,在比如半年或一年后,再来看看如何将这些纳入整个团队中 。
彭靖田:这是一个趋势性的事情 。拿我们团队来说,我们目前没有专门的运维人员,只有一个后端同事兼任运维工作,如果是一个大公司就会需要一个团队 。他需要管理华为、亚马逊云科技以及字节的云平台,每个云平台都有自己的 Kube.NETs 集群,这意味着他需要管理 7~8 个集群 。一个云平台上可能会有多个环境,而且不同环境之间的命名空间和优先级可能也不同 。七八年前刚接触 Kubernets 时,我就觉得这是一项非常复杂的工作,包括今天的 Kubernets 生态社区中,很多人就在做调度策略、HPA 等各种工作 。
但实际上,大多数团队只使用了容器云的一些基础功能,特别是在运维方面,大部分工作都可以自动化 。比如 GitLab 现在强调 DevSecOps 。整个 CI/CD 流程实际上由许多脚本组成,以前这些脚本被认为是运维专家的特殊技能,但实际上并没有那么神秘,也没有那么多技巧,大模型可以解决这些问题 。
我们那位后端同事使用了很多自动化技术,但还没有将 GPT-4 作为日常工具,最近两个月里他一直没有解决一个偶发性问题 。我们一直使用较大的节点,最小的节点大约都有 32 个核心和近 200GB 内存的资源池 。在这样的一个节点上,我们通常部署 200-400 个应用程序,而这些应用程序的请求资源可能只占用 0.5 个 CPU 核心和 2GB 内存,但这时候,他们的请求已经接近我们的资源上限 。但它是一个流水线,不断地在消耗资源,以至于有的应用程序刚启动,另一批应用程序可能已经关闭了 。
这里的问题在于,多云环境中的底层硬盘共享有一个阈值限制 。当应用程序特别多时,这个默认阈值可能会被打破,导致应用程序无法启动 。他发现应用程序无法启动,但 CPU、内存资源都足够 。因为多云在虚拟化存储时,借用了一部分硬盘来进行虚拟化存储,但实际上用不满 。他无法解决这个问题,我获得权限后把那个节点上的日志原封不动地交给 GPT-4,它告诉我只需重启一个命令,将阈值改为合适的值就可以了 。起初,后端同事还不相信,他去 Stack Overflow 上查找,但结果各不相同 。最后他按照指示执行了命令,问题解决了 。
对我们这个同事来说,这个问题只是一种认知上的偏差,但提升的效率是非常显著的 。对于那些 1~3 年里都在写 SQL 和编写 CRUD 业务逻辑的开发工程师来说,未来的代码效率也会大大提升 。
AIGC 对程序员的影响
吴少杰:当大规模使用 AI 辅助编程工具时,企业对程序员的要求会发生哪些变化?
邓明轩:我认为,现在互联网降本增效和技术变革可能不处在同一个趋势上 。技术变革主要受疫情和国际经济关系等因素的影响,个体很难改变,我们只能在这种情况下尽力发挥自己的价值,比如在降本增效的压力下如何展现自己的能力 。
作为个体,我们应该如何适应这个新环境?首先,我们需要在心态上保持开放,接受这种新事物,迅速了解并进行实践 。正如刚才提到的,实际上事情变得更容易了,而不是更难了 。
另外,要学会学习的方法,这非常重要 。未来,具体编程语言的语法结构等可能并不那么重要,重要的是如何具备良好的学习能力、快速适应新环境 。我认为这是一项非常重要的技能,这次的技术变革就给我们提出了新的挑战 。希望大家保持积极乐观,因为工具也带来了很多机会 。


推荐阅读