复制成功

分享至

主页 > 数字货币 >

AI 消灭软件工程师?

2024.01.24

原文来源:CSDN

作者 | 张海龙

AI 消灭软件工程师?

图片来源:由无界 AI生成

“AI 是否会取代软件工程师”是自大模型爆火以来程序员们最为关心的一大话题,事关编程的未来与我们每一位程序员。本文作者 Babel CEO、多年的资深程序员张海龙深入技术本质,为我们进行了答疑解惑。

自 2023 年一月份以来,这个世界似乎发生了翻天覆地的变化,但似乎我们的生活又没什么变化。颠覆性的技术给人的感官冲击很大,人们往往高估了其短期的效应而忽略了长期的影响。无论如何,我们都可以预见这次 AI 的突破将给人类生活带来巨大的变化,几乎所有行业的从业者都在努力拥抱这一巨变。ChatGPT 的“无所不能”让很多人开始质疑我们是不是以后不再需要软件。作为软件行业的从业者,我一度也很焦虑,然而冷静下来看 LLM(大语言模型) 和软件,可以说是两个物种,并不存在取代一说。


AI 会不会替代软件?


那么对于程序员而言,我们该如何看待 AI(LLM)这个新事物呢?虽然 AI 由代码构成,但我没有将其归类为软件(Software)。软件是指有程序逻辑的代码,它的特点是 Deterministic(确定性)。而 AI 的代码并没有程序逻辑,只是黑盒参数,其依赖于训练而非写程序,它的特点是 Probabilistic(概率性)——与软件有根本性的区别。在 AI 出现之前,这个世界有三个物种,分别是人类、软件及物理世界(包含一切动物)。

AI 消灭软件工程师?

这三个物种之间是相互影响的,比如你可以搬动一把椅子、通过 12306 订一张火车票,也可以通过小爱同学打开一个电灯。现在,一个新的物种 AI 出现了,它将如何与现有的物种进行交互?

最先出现的交互式,人类与 AI 之间,比如类似于 ChatGPT 这样的产品,通过语言相互影响。其实有这一层交互,AI 已经可以间接影响软件和物理世界。举个例子,当你询问 ChatGPT 如何安装路由器,它会告诉你要做 1、2、3、4,然后你充当了 AI 的手和脚去影响了物理世界。再比如问 ChatGPT 如何修改 Mac 电脑的分辨率,它会告诉你具体步骤,然后你来帮 AI 点鼠标完成操作。

这似乎有点傻,我们想要的是让 AI 干活,而非替 AI 干活。于是一堆人琢磨“Enable AI to Take Actions”这个事情,然后就有了 ChatGPT Plugins 这种产品,以及微软发布 Windows 11,从系统层接入 Copilot。你可以告诉 AI 需要调分辨率,而不是按照 AI 的指令去调分辨率。这种能力使得 AI 可以跟现有的软件进行交互,进而影响人类和物理世界。至于 AI 能否直接操作物理世界,目前还没有看到成品,但有很多机器人公司在努力。

在交互形式上,ChatGPT 为我们带来了一种全新的交互形态 ——ChatUI。曾经有一段时间,行业对于 ChatUI 的讨论非常火热,甚至迷恋,认为 Chat 要统治世界了,这也是“AI 会不会代替软件”的问题来源。ChatUI 在很多场景上非常符合人类直觉,很好用,但也不能解决一切问题,未来一定是多种 UI 并存。

AI 消灭软件工程师?
  • Chat UI:适合业务导向的需求,例如打车、买票,用户要的是结果,也就是最适合秘书干的活。
  • Traditional UI:适合体验导向的需求,例如淘宝、抖音,用户要的是过程,秘书可以帮你买东西,但是不能代替你逛街。
  • Super UI:所有生产力工具都会增加 AI 能力,跟 AI 的交互包括但不限于聊天。
  • 人类在传递信息时,语言只是手段之一,有很多场景语言是无法描述的,但一个手势或者一个眼神却能解决问题,这类问题可以简单归类为调色板问题:你用手指三秒钟就能选中你要的颜色,但是你却无法用语言描述那个带点蓝色的紫。

    AI 消灭软件工程师?

    事实上,很多生产系统中的 LLM 应用,聊天并不是主要交互界面,比如 GitHub Copilot。我们还是要冷静客观地看待 ChatUI 这个新事物。

    “大模型吞噬一切”、“编程的终结”这两个观点本质上是说大模型什么都能干,以后再也不需要写程序了,我们只需要训练模型。就目前 LLM 的原理以及实践来看,大模型取代传统程序是不可能的。

    免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

    加⼊OKEx全球社群

    和全球数字资产投资者交流讨论

    扫码加入OKEx社群

    相关推荐

    industry-frontier