【话题】编程语言的未来 一个以自然语言作为编程语言的构思
文章目录
前言
随着 2022 年 11 月 30 日 ChatGPT 横空出世以来,各行各业都受到或多或少的冲击,很多外行人都觉得在某些领域中不再是那么的高深莫测,不理解的知识点,都可以通过 ChatGPT 或者类似的 chat bot 进行“搜索”并获得摘要。对于咱们程序员来说,最大的改变莫过于是“人人都可以写代码了”。确实,对于一个外行来说,只要你具备自己手动配置环境的能力(随便搭一个 Python 环境很简单吧?),再加上一定的想象力以及对自己想象出来的产品的表达能力,基本上可以通过 ChatGPT 完成一个简单的程序 Demo。于是乎,要自己手动做一个软件产品,应该至少具备以下两种基本能力:
- 有 DIY 的能力(至少能够搭建一个简单的开发环境)
- 比较强的表达能力(至少能够精确的说出你要做什么,应该怎么做,期望得到的结果)
而我所构思的项目,则是面向同时具备这两种特征的人。尤其是具备第二点的人。
更正一下,我并不赞同“人人都可以写代码了”这个说法,确切的说,应该是指“人人都有机会构建自己的 demo 了”。得益于 ChatGPT 的帮助,我们确实可以在开发中进行加速,甚至我们可以使用 AutoGPT 让计算机自动的进行搜索,并构建出一个简单的软件。但是还远没有达到我所构想的“AI 编程语言”这种存在于科幻片中的终极编程语言。
现阶段的 AI 能力
现阶段,人工智能更多的是以“助理”的身份存在于人们的生活中。偶尔帮忙处理数据分析、文案润色、绘图等。虽说有 AutoGPT 的存在,但是通过林亦所展示的视频来看,AutoGPT 执行到一半就会陷入一种诡异的死循环。明知道做错了,但还是一直重复错误的操作。这个问题姑且算作是“AI 的注意力与记忆力不足”所产生的问题。由此可见,AI 在进行开发过程还是有很大的技术问题的。
基于 AI 的自然语言编程构思
我所构想的 AI 编程语言是这样的:用户作为产品经理对整个项目进行构思,并将想要的产品效果以图文形式发给 AI 处理。AI 直接通过人们输入的自然语言,将其进行理解并自动输出成源码。
编程语言设计
用户在开发过程中,可以使用自己所常用的语言进行“编程”。编程语言以白话文为主,如:
[软件简介]: 用于让 AI 确定整个软件的基础设计,页面及模块数量等。 |
而以上“编程语言”都能让用户自由的使用人类自然语言进行描述。产品的质量取决于用户的描述详细程度。用户所描述的文件,将成为项目中的“源码”。
与现阶段 AI 产品的不同之处
现阶段 AI 产品还是在用户给出想法之后,使用某一编程语言将该算法写出来。而本项目直接将二进制文件进行输出。
预计的技术屏障
一款新的产品,以现在人类的技术未能将其实现,必然有它的道理,以下是我能想出的目前比较算得上是技术瓶颈的事项:
生成的代码效率不高
由于是 AI 将自然语言进行摘要之后,直接生成二进制文件,而用户无法查看真正意义上的源码,所以可能会导致 AI 所生成出来的代码的执行效率低下。这点可能需要对模型进行训练才能得到更好的代码性能。
无法符合用户预期
这个问题在于现阶段中也经常出现甲方与开发商无法有效沟通,目前 ChatGPT 也会因为用户的表达不够精确,而给出完全不同领域但同样词汇的解释。所以如果是表达能力不是很优秀的用户可能会对此产品所构建出来的可执行文件不满意。当然一款以自然语言为编程语言的产品本身就会出现这种问题。真实的编程应该还是程序员通过自己的专业知识所构建出来的一个产品。
自然语言处理的注意力与记忆不足
一个完整的大型项目,其策划案以及设计图必然不是短短的几句话能够解决的。肯定是一个或多个文件所组成的大文件。而现阶段 AI 尚存在记忆力不足的现象,所能处理的用户 Token 有限,经常和 AI 聊着聊着就开始跑题。所以对于庞大的项目来说,以目前的技术还是需要去深入优化 AI 的算法以及开发更为先进的 AI 记忆模块。
人工智能没有想象力
如果有了解 Stable Diffusion 等绘图 AI 的读者应该知道,人工智能是无法从 0 - 1 创造一个产品的。它需要用户不断地引导才能构建出一幅画。SD 所能绘图,得益于它的底层原理:扩散。所以是现有一幅画,对其进行降噪以及加噪过程后,得出最终结果。如果需要解决该问题,可能就需要用到量子计算机了。
AI 需要的知识点更加庞大了,可能目前的大语言模型都无法满足
有自己手动进行编程的读者应该知道,编程其实只是一门技术。一个程序员应该需要去了解不同的 / 所从事领域的相关知识点,才能构建出符合实际情况的软件。而如果需要将 AI 变成一款编程语言,那么他除了要懂得“写代码(转换自然语言为机器语言)”之外,还需要了解各行各业中的核心知识点,而且有关知识点还会随着时间的推移不断地更新,模型需要不断地去更新自己,还需要去了解互联网中哪些文章是无用文章(水论文)比如说这篇文章
消费型计算机算力不高
前面提到,人工智能没有想象力,需要解决这个问题可能需要用到量子计算机。显然量子计算机不属于消费计算机的一种。而这么庞大的模型,消费型计算机应该也无法满足其算力需求吧。
多文件处理能力
前面提到,一个完整的大项目,其所包含的文件必然不止一个,这也需要这个模型需要在不同的文件中进行了解,且他也不像目前的编程语言拥有 Intellisense(人类自然语言千奇百怪,应该很难做 Intellisense 吧),所以这也是其中一个关键的技术瓶颈。
以上就是一种未来的编程语言的构思。欢迎大家在评论区对此概念进行更深入的讨论!感谢您的阅读。