最近,我在阮一峰的博客上看到一个有意思的观点。它说ChatGPT新推出的Operator功能指引出未来互联网发展的一种趋势,即互联网服务提供者将服务做成API,然后让AI大模型访问这些API,统筹资源,实现用户所需的功能。这样一来,服务提供者只需要维护一套后端系统,而用户交互、呈现等功能则可以交由AI统一处理。各个平台之间的垄断将被打破,用户只需要使用AI系统就可以访问一整个互联网服务。
比如,对于外卖平台,只需要提供获取商家列表、菜品列表、配送状态等API,由AI完成支付的代理,就可以实现在AI上点外卖。当大量外卖平台接入,大模型对于数据和交互的分析与综合的优势就会充分显现,可以根据用户要求快速准确选择其需要的商品,一条龙完成点外卖操作,完全隐藏其背后的操作逻辑。
这种理念有两种实现方式:由服务提供商定义API和由AI定义API。
由AI定义API,由开发者来实现,这种技术的本质并不新鲜。前端统一在技术上早就可以实现,比如我们已经习惯的浏览器,就可以看作一个“前端”,而HTML、CSS、JavaScript等等,就可以看作浏览器定义的“API”。当前的互联网应用,就是这种理念的具体实现。浏览器统一了不同操作系统上的用户呈现;如今的AI大前端,将HTML等实现的用户交互功能削去,改由AI来实现,统一了用户交互。开发者遵循的规范是AI定义的一系列API,确保提供AI所需的数据。然而我认为这样做对开发者的利益是有影响的:API不能提供附加价值,厂商的那些花活怎么搞?广告怎么搞?而且接口的定义一统一,不同厂商的不同付费机制、会员机制乃至功能上的创新就很难实现了。对于功能和模式的控制权将完全掌握在AI厂商手中,开发者容易沦为被动的数据提供者。
由开发者定义API是一个非常崭新的领域,将颠覆现有的软件开发架构和理念,因为这是AI时代的专利。开发者定义一套API,并附上文档,由AI来自动解析这些API的用法,并生成适合这些API的用户交互。这样一来,开发者不需要受限于AI定义的范围内,可以任意实现自己想要的功能。然而问题出在“解析”上:如何能够保证AI解析的API用法确实符合开发者的本意?需要怎样写文档才能符合AI理解方式?假设AI的解析是有误的,传进来错误的参数,或者传来的数据根本不符合用户需要,这种情况应当怎样处理?这都是很难把握的问题。
这是我突发奇想产生的不成熟想法,我估测其中至少有70%是错误的。