0°

面对“Open AI”们,程序员如何实现自救?

  最新一期奥特曼被解雇的新闻想必大家已经了解了,据内部人员透露,在 Sam Altman 被开除的前一天,他暗示了 Open AI 已经开发出比现在 GPT 4 更强大,让人无法想象,远超出人们期待的东西。

  这可能是Sam Altman被解雇的导火索,导致 llya 等董事会成员认为他隐瞒了很多信息,没有和董事会分享。

  毫无疑问,“让人工智能再一次伟大”的理想迎来了全新转折点,从阿尔法狗击败人类棋手开始,到 GPT 的诞生,再到最新性能的 GPT-4 和 性能恐将更难以置信的 GPT-5。

  AI 公司的军备竞赛将进一步催生出能力更强大的工具,甚至是智能体,完全有可能彻底改变人类现有的生活和工作方式。

  AI 就像一把悬在人类社会头顶的达摩克利斯之剑,在带来无限可能和创造性机遇的同时,也进一步引起了对失业的普遍恐慌。

  作为一个程序员,我也想聊聊在 AI 彻底把程序员干掉之前,我们能做点什么来避免自己“被优化”?或者说,我们能用什么方式,让自己比同级的程序员们“跑得更快”?

  1.自然语言编程不是万能药

  用 AI 编程靠的是自然语言输入指令,在《程序员惶恐?GPTs大火,AI编程不会成为主流?》这篇文章中,我曾讨论过自然语言编程的局限,给出的结论是:

  自然语言的高度概括性的特点,不适合编程这种复杂活动,因为它的语义有太多模糊,含义更不确定;而传统的代码编程提供了更明确、精确的控制方式。程序员需要明确指定每一步的操作逻辑,因而不会留下歧义空间。

  因此我们不太可能完全通过自然语言编程的方式来完成编程,而只是将其作为一种辅助手段,来提高编程的效率。

  通过自然语言完成编程虽然是一件理论上很美好的叙事,但在现实中很难达到,最起码现在 AI 的要求还不足以达到。

  文本编程仍是目前的主流,但面对的问题也不少:语言/框架众多(语法语义复杂),相对分散,学习成本高;基于字符输出的开发方式,效率过低;跨语言兼容性较差,维护成本较高等等,基于这种“手工作坊”模式下的整体编程效率实在太低了,能不能找到一种新的开发方式,在实现精确控制需求的同时大幅提升效率?

  图形化编程可能会是实现这一技术路径的方案,先解释下概念,图形化编程就是通过可视化的设计工具和拖拽接口,使开发过程更快,减少编写和测试代码的时间.

  你可以看到,它的开发界面 (以iVX为例)其实跟 PS 有点像,就是通过拖拉不同的组件形成功能和逻辑。

  开发界面(iVX)

  这些组件实际上代表着不同的编程命令和结构,使得编程的过程变得更加直观和容易理解,比如说 Scratch 的儿童编程工具就有点图形化编程的影子,但它只是将命令转化为图像, 没有深入封装更多功能,而因缺乏图形化编程所需要的高级封装能力。

  Scratch“开发”界面

  2.图形化编程的作用

  传统的编程语言,需要把“语法”“逻辑表达”“各种函数、对象和库以及其方法”“编译器”“运行和编译环境”等放在一起设计。

  但在图形化编程中,则是把“逻辑表达”单独抽出来,进行解耦,去掉了所有“语法”特征,把“对象、函数、库”都封装成“组件”,这也是图形化编程效率要比传统编程高的核心原因。

  不需要重复写底层代码,也不需要担心语法错误、拼写错误、或是逻辑bug,大部分情况下,开发程序的动作就是通过拖拽组件的方式完成,只需要专注在核心逻辑的表达上即可,所以为什么我说图形化编程是一种效率更高的开发方式。

  要进行完整的逻辑表达,就必须提供循环、条件语句和变量,来保证图灵完备,这也可以通过一种组件或者可视化的方式来表达。

  可视化逻辑表达

  要让外人理解图形化表达的精髓,有一个现成的例子,以游戏开发为例, Unity 和 Unreal Engine 这样的游戏引擎就提供了十分丰富的图形化工具,使得开发者能够快速构建和测试游戏场景。

  Unreal Engine 开发界面

  开发者无需编写大量底层代码,就可以实现复杂的游戏逻辑和高级图形效果,显著缩短了游戏从概念到市场的时间。

  我认为图形化编程的地位就类似于 Unity 引擎在游戏制作中的地位,现在,没有人会质疑 Unity 引擎在实现精度和效率上维持的精准平衡,我认为未来的图形化编程趋势也是如此。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论