五年以后,我重新理解了“Bot框架”这四个字

我大概是从2010年开始接触并动手写Bot的。那时候单纯觉得好玩,脑子里想的问题也非常单线:用户发来一条指令,我该怎么写一段代码让机器人去执行,然后再把结果返回去。
但当你的机器人开始好用,被拉进越来越多的群之后,事情就开始变味了。你会发现同一条指令,在这个群里是一套规矩,到了另一个群里又得是另一套逻辑。再往后发展,用户体量滚雪球一样变大,问题彻底膨胀了。同一个Bot,背后可能同时面对着一万个群和十万个活生生的人。每个群都有自己独一份的配置开关,每个人都有自己千奇百怪的状态。谁刚刚触发了什么任务,谁拥有什么权限,下一次交互系统应该给他弹什么结果,这些全都得被精准地记住,而且绝对不能串线。
这一切高并发的混乱,最后都要通过那一个单薄的机器人账号去扛下来。
直到最近,我看了不少关于AI Harness的架构文章。看着那些前沿的理念,我突然产生了一种极其强烈的既视感。这听起来,不就是我们十多年前就在死磕的东西吗?只是那时候,根本没人发明Harness这么高级的词。
说实话,今天很多AI Harness的典型应用场景,在老一代Bot开发者眼里甚至有一种令人怀念的“简单”。现在的逻辑大多是一个用户面对一个AI,Harness在中间像个尽职的管家,根据这个人的权限、上下文和可用工具,去约束大模型该干嘛、不该干嘛。这当然是很前沿的工程挑战。
但十几年前,我们面对的从来不是点对点的单挑,而是一对十万的群殴。
那时候我们在一个Bot里塞进一两百种功能,要在上万个群里做状态隔离。如果试着把今天Harness里的一个“Task”,等价替换成当年Bot框架里的一个“群”,你会发现很多看起来高深莫测的问题瞬间就眼熟了。这个任务允许调用哪些能力?那个任务必须禁用什么接口?某个工具跑完之后,在上下文里留下了什么残余状态?这些状态应该在什么时候被系统回收?对Bot框架来说,这些从来都不是什么新命题。
甚至连今天大厂们天天挂在嘴边的“AI对齐”和“安全护栏”,我也常常会从一个极其朴素的业务视角去理解它。早年的QQ机器人有多容易被封禁,做过的人都懂。只要稍微有一句话触发了风控,或者被复述出了违规的内容,几个月的心血瞬间灰飞烟灭。一个拥有一两百个复杂功能的Bot,是绝对不可能允许各个模块随心所欲向外输出的。
所以我们当年被逼着在框架里写下了极其严苛的约束体系。谁在什么场景下可以输出什么,什么敏感词必须被底层拦截,用户的哪段输入绝对不能原样透传给输出端,一个功能产生的影响必须被死死限制在多大的半径以内。今天,行业里给这些操作起名叫Safety、Policy或者是Alignment。虽然底层的技术实现不可同日而语,但在工程直觉上,它们展现出了一种奇妙的连续性:我们这群人,始终都在试图把一个能力越来越失控的系统,强行按在一条安全的红线里。
这就引出了一个我最近一直在反思的问题,Bot框架之所以叫“框架”,到底意味着什么?它绝对不只是给你提供几个方便调用的API接口那么廉价。
它是真的要把Bot“框”在一个牢不可破的模子里。系统越庞大,越需要边界;状态越混沌,越需要抽象。
这一点我在处理跨平台接入的时候感受特别深。不同的聊天平台,底层的ID体系简直是天壤之别。有的平台非常克制,只有用户和群两层关系;但后来腾讯频道出来了,直接给你搞出频道、子频道、用户这种三层甚至更复杂的结构。如果你的业务代码直接去死磕这些原生ID,那每接入一个新平台,你的整个系统底座都要被残忍地撕裂一次。
所以当年我们在框架里做的最重要的一件事,就是抽象。三层ID没关系,我在中间层把它强行映射成统一的两层关系,等真正需要触达底层的时候,再把隐藏的信息抽出来。把不同平台乱七八糟的用户标识,全部洗成框架内部唯一认证的身份体系,然后再根据分发的目标平台做反向转换。通过这种极其厚重的抽象,业务层面对的永远不再是“这是一个QQ号”或者“这是一个频道ID”,而是极其纯粹的“这是一个用户”和“这是一个上下文”。
这才是框架真正该干的脏活累活。
所以站在五年后的今天,当我重新去咀嚼“Bot框架”这四个字的时候,我看到的早就不是一个用来写机器人的工具包了。我看到的是一套能够把现实世界里无数的混乱、差异和不可控,残酷地压缩成稳定抽象的系统。不同的平台被抽象成接口,不同的群体被抽象成上下文,不同的权限被抽象成约束。所有的副作用,都被死死地关在它们自己的生命周期里。
今天,当我们把这个框架最核心的那个执行引擎,从写死的代码逻辑换成了聪明绝顶的大语言模型,这套沉淀了十几年的思想不仅没有过时,反而迎来了它真正发光的时候。
我甚至有一种强烈的预感,现在的AI Harness还远远没有摸到当年Bot框架所承受过的那种复杂度的天花板。现在的Harness还在苦心钻研怎么让一个AI把一个人伺候好,但真正有商业价值的未来,Harness一定需要同时服务成千上万个不同的组织和个体。不同的人带着不同的记忆、身份和权限涌入同一个系统,调用着千奇百怪的工具,所有的逻辑同时疯狂运转,却绝不允许互相污染一星半点。
等到了那一天,大家一定会重新撞上我们这些Bot老兵十年前就已经在泥潭里摔打过无数次的问题。唯一的区别,只是当年那个呆板的机器人,现在变得能听懂人话了而已。
也直到这一刻,看着满屏关于AI生态的讨论,我才算真正在岁月的回声里,重新听懂了我们当年敲下的那些代码。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)