符号语言束缚:揭秘AI不能直控硬件的深层原因

为啥氛围编码还得写代码?不能彻底放飞自我吗?
答:因为电脑现在还是个“死脑筋”,你得用它能听懂的语言(代码)指挥它,就像得用遥控器按按钮才能换台一样!

AI为啥不能直接掰开电脑,自己动手改内存、画屏幕?
答:现在的AI像“云游仙人”——它只会发指令,但没长实体手啊!电脑的硬件(比如显卡)被设计成“只听代码指令”,就像电视只认遥控器,不认你隔空喊话。

如果给AI造个‘钢铁侠战衣’会怎样?
如果人工智能代理是用硬件实现的,包含一个用于人工智能的处理器、一个用于逻辑处理的普通计算机处理器和一个将用户界面元素与屏幕触摸关联起来的处理器,会怎么样?包括还有一块网卡、一些用于存储用户界面元素等临时数据的内存,以及一些用于存储代表用户界面元素和过去对话的向量的持久性存储空间。

想象我们给AI造个专属硬件身体:

  • “AI大脑”:专门算数学题(比如识别你的语音)
  • “普通CPU小弟”:负责跑传统程序(比如打开浏览器)
  • “触屏翻译官”:专门把“点屏幕”变成AI能懂的话
  • “网瘾模块”(网卡):随时上网冲浪
  • “短期记忆便签”(内存):记临时事(比如你刚说了啥)
  • “长期记忆硬盘”:存你的聊天黑历史


这样AI就能“亲手”操作电脑了!但现实是——这装备贵得能买下学校小卖部,而且可能因为AI手速太快,把屏幕戳出火星子

总结:现在AI像“背后军师”,得靠代码传话。未来如果给它造个物理身体……嗯,先准备好保修费吧!

网友热评:
1、你根本不懂万物是如何运作的吧?计算机是由层层代码组成的。为了确保所有指令都匹配,所有东西都必须正常工作。
LLM 只是一系列数据,本身毫无用处。如果我是 LLM,我会看看 Transformer 的代码,你很快就能有所收获。

2、这可能会演变为语义论证,但您所描述的似乎与我所定义的 Vibe Coding 有所不同。
你所描述的更像是某种人工智能操作系统或人工智能解释器。而且,即使这样的东西真的存在,我也无法想象让人工智能本身操作寄存器或向屏幕发送绘图指令(就像我们建造真正的房子不是用沙粒,而是用砖块、预制混凝土构件、钢梁等等)。——由人工智能编写的编译/解释子系统(可以根据用户的需求进行更改)似乎更可行。

3、人工智能的目标是取代所有软件,完全跳过代码。人工智能操控硬件,为每个用户动态创建个性化软件,跳过对人类来说只是抽象概念的编码。它或许可以将机器代码传输到处理器来控制它们。这让我想起一个人在机场的钟面上画时间,而人工智能则用这种方式绘制用户界面。

4、说得好。它可以用汇编语言编程,摆脱程序员所需的抽象层,几乎直接与计算机对话。一开始这或许会是一场灾难——内存管理很困难,错误会导致计算机死机,并滋生恶意软件——但最终这些问题应该是可以解决的。

5、我觉得这么搞,AI要处理的代码量直接爆炸——多到能绕地球三圈! ”

  • 调试? 那就像在电脑上玩俄罗斯轮盘赌——祈祷它别卡死,或者把你的显卡/CPU给整冒烟了!(物理上可能不会真冒烟,但蓝屏、死机是跑不了的。)
  • 每个硬件(CPU、显卡)都有自己的‘方言’,就像不同牌子的手机充电口不通用一样烦人!‍♂️ 你得给每个设备写不同的驱动,累不累啊?
所以,我更希望AI能自己发明一种‘外星语’编程语言!
  • 比人类代码高效100倍,但不用管人能不能看懂——反正最后是机器执行,又不是考语文!
  • 就像蚂蚁用信息素交流,根本不用写小作文,AI也该有自己的一套“暗号”,直接和硬件高效沟通!

6、这听起来像是会遇到与低代码/无代码运动类似的陷阱。听着有点像‘低代码/无代码’那些坑啊!
尽管名称如此,但可视化工具背后仍然有抽象的代码。此外,这些平台通常比传统编码更具限制性,也更难排除故障。

如果你真的想实现这个,你应该使用 LLM/AI 作为编译器,将普通语言翻译成机器码。缺点是 LLM 会产生幻觉,你无法轻松地排除错误。
现在假设你构建了一个充当编译器的LLM。你需要添加一系列规则和逻辑,以便LLM生成的机器码能够真正工作。现在你又回到了编程的本质。 也许你的新编程语言比其他编程语言更接近自然语言。
但有一个主要问题:LLM仍然可能产生幻觉,而且几乎不可能排除故障。

7、只有通过抽象来隐藏底层复杂性,才能提高复杂性。你所认为的代码,其实是硬件之上的多层抽象。
例如 :

  • C下面是汇编
  • 组装之下是架构
  • 架构之下是微架构
  • 微架构之下是微代码
  • 微码下面是微码操作
  • 然后微代码操作控制硬件
抽象层是我们能让 AMD 和 Intel 执行相同代码的原因。虽然两者的微架构差异巨大,但架构规范相同。如果你编译了控制裸机的代码,那就意味着它可以适用于 Zen3,但不适用于 Zen2 和 Zen4。

由于您每次都必须在运行时为微架构编译代码,因此这将抵消删除抽象层带来的好处。
此外,对裸机进行编码极其复杂,需要极高的专业技能,只有少数人能够做到。而且这些人只知道如何在特定处理器上进行编码。

banq评:

  1. LLM是面向人的语言,LLM第一目标理解人的说话意思。
  2. 编程语言是面向机器的语言,编程语言第一目标是能够让机器理解执行。
想发明一种新语言,两全其美吗?除非机器变成人,或人变成机器。