AI时代的产品文本化

Andrej Karpathy 有一条关于AI时代产品文本化的推文如下:

Products with extensive/rich UIs lots of sliders, switches, menus, with no scripting support, and built on opaque, custom, binary formats are ngmi in the era of heavy human+AI collaboration.

If an LLM can’t read the underlying representations and manipulate them and all of the related settings via scripting, then it also can’t co-pilot your product with existing professionals and it doesn’t allow vibe coding for the 100X more aspiring prosumers.

Example high risk (binary objects/artifacts, no text DSL): every Adobe product, DAWs, CAD/3D Example medium-high risk (already partially text scriptable): Blender, Unity
Example medium-low risk (mostly but not entirely text already, some automation/plugins ecosystem): Excel
Example low risk (already just all text, lucky!): IDEs like VS Code, Figma, Jupyter, Obsidian, …

Al’s will get better and better at human UIUX (Operator and friends), but I suspect the products that attempt to exclusively wait for this future without trying to meet the technology halfway where it is today are not going to have a good time.

以下是我的一些见解。

首先明确一下,Karpathy 说的包含复杂UI界面的软件,可以认为是没有API调用、没有办法代码操纵、只能通过界面点点点才能进行使用的软件,这里统一简称为“GUI软件”,可能不准确,理解意思就行。

与之相对应的,是可以通过代码来控制的软件,即使有图像界面,也提供API,能让代码完成图形界面点点点一样的任务,这里同样简单地统称为“API软件“。

我认为AI与GUI软件和API软件的交互没有本质的区别,只有难易程度的区别。简单来说,AI对GUI软件的操作读取可以通过图像识别来完成(例如利用多模态模型识别鼠标点击的顺序,得到操作的文本化记录),而AI对GUI软件执行的动作可以通过输入设备控制接口来完成(例如控制系统的鼠标,来完成点击操作等)。除了这两个额外步骤以外,AI与GUI软件的交互与API软件的交互没有任何区别。但这两个额外步骤可能会极大地拖慢GUI软件与AI一起进化的速度。

所以这两种软件与AI交互的效果差异体现在多出来的两个模块上,具体来说,存在操作准确度、操作效率的区别。

操作准确度指的是AI读取用户操作和AI自主执行操作的成功率,这个比较好理解,跟模型识别的准确率相关,目前阶段可能还存在精度不够的问题,因此API based的软件先取得比较多的进展。

操作效率指的是在单位时间内,能完成多少次操作。显然,API软件操作速度比GUI软件的操作数据快很多,更举个更直观例子,API软件的使用像是直接操作内存,一路高速操作,没有任何降速的地方,而GUI软件会存在输入IO、输出IO等比较低速的操作,因此较快的内存操作需要等待较低速度的IO操作,整体的速度会收到严重影响。

比较讽刺的是,几十年前,GUI软件以人类易于使用而大量普及,文本界面成了只有专业程序员才会用到的工具,而在AI时代,GUI这种人类友好、代码不友好的优点却成了阻碍它发展的一个大的因素,因为AI时代,人类不干活了,只是派活给代码(AI模型)