外婆的童谣只剩半句:端到端具身智能交互怎么把乡音接下去

很多人都有过这样一段记忆:夏天晚上,搬条小板凳坐在门口,外婆一边扇蒲扇,一边念着调子哄你睡。那些句子当时谁都会,现在再想,多半只剩下半句。

我们想做的,就是把这半句接下去。

「乡音馆」是一个网页应用。页面里有一位具身交互智能体,设定是一位在小城巷子里长大的讲古人,让他叫阿公——会唱几十首童谣,也做过好些年的方言志口述记录,一村一镇地去找老人,把他们嘴里的调子记下来。打开网页,屏幕左边站着这位阿公,右边是一片对话区,最右侧是一只「签筒」。你点一下「摇一支童谣签」,竹签筒就在手里晃起来,一支签飞出去、放大到屏幕中央、念出来,再缩小飞进签筒的角标里;签上写的不是结论,是一句童谣和它的两个方向——夜里哄睡的那一路(夜哭歌),或者正月里闹热闹的那一路(正月歌)。抽到哪支,你就把哪支交给他,让他来念、来讲。

假设你摇到了一支「摇啊摇」。签面上是"摇啊摇,摇到外婆桥,外婆叫我好宝宝"。拨到夜哭歌这一路,阿公不会先讲一段来历,他会把这一句慢慢念一遍:"摇啊摇"三个字拖长,念到"好宝宝"就压低了声音——你先听见的是声音,不是分析。念完他才说:这是某地常见的一类哄睡的调子,抱孩子晃的时候唱,一句一句往下怹。接着他给你一句家常话:这一支里"桥"和"宝"押着韵,换气的地方在逗号那里,配一个轻轻晃的动作就能念。最后他把话头还给你——"你家乡那边这一句怎么念?"比起他自己的版本,他更想听你说你那一句。

念的时候你随时可以插一句,也可以直接打字;他念的时候麦克风会暂时闭上,念完再开,所以他自己的声音不会又被当成你的输入。忘了要听哪一段,摇一支签也行。

与其听人讲原理,不如看一份访谈记录

下面这些问题,来自几位用过之后再回头的读者。回答的,是做这个应用的人。技术话尽量翻译成家常话。

问:它是怎么听清我在说哪一句方言的?

答:这一步落在 多模态感知 上。它是一直竖着耳朵的那种,不是"按一下才听一句":浏览器里语音识别常开,静下来约一秒,就当你把这句说完了,整句一起交出去。真正的麻烦在它自己开口的时候——别把自家扬声器的声音也当成你在说话。系统里为此有降噪、抗回声、把本体声音压下去的处理、判断停顿的 VAD、远场拾音,还有能分辨"你是在插话还是在等它说完"的智能打断。落到纯网页这一端,麦克风少了系统级的抗回声,我们就用同一套规矩去补:它一出声先把麦克风合上、把没说完的转写清干净;它停下来再等约半秒才重新打开,把尾音和屋里的回声吞掉;重开后头一小段转写直接丢掉。您打字、点摇签,随时能把它的话头截断——能进来的只有您,不会是它的回声。

问:它凭什么知道该用哪种讲法,会不会瞎编一个民俗出来?

答:这一层是 专属智脑。我们没把通用模型直接摆到屏幕上,而是给它配了一整套身份:它是小城巷子里长大的讲古人,信"方言是家的声音",先念一遍再讲这一"类",来历记不准就直说记不准。红线也写死了——不评判哪种方言土不土,不拿地域开玩笑,不编一个不存在的民俗。模型用谁,平台不替您定:凡是遵循 OpenAI 协议的都能接,也能挂上在 Dify、Coze 上编好的 Agent,或者接您自己的模型、把私有的资料库喂进去;要是手上还没有现成的模型,平台自己的智脑也能先把工开起来。换一颗大脑,也不只是改一行地址那么简单:从感知到判断、从表达到动作,彼此之间是有先后和状态的;靠统一的接口约定和状态管理,才能保证换谁上来,会话、时序、异常处理都还接得住。

问:念童谣的时候,"念"和"唱"是分开做的吗?

答:这是 多模态表达,不是两件事拼一起。台词里会藏一些括号动作,比如「(摇了摇手里的竹签筒)」「(拍着大腿打节拍)」。这些字它不念出来,前端会把动作从台词里剔掉,换成屏幕上真的一晃、真的一拍。所以您看到的不只是念稿配一张脸:它开口时,声音、口型、口气、眼神、点头都由同一套 SDK 实时生成;等它要处理一支签,右侧那场摇签也跟着一起发生——筒在手里晃、签飞出去、放大占屏、念出来,再落进签筒的角标,方向只用 ☾ / ☀ 这类记号标出,字始终正着读。念和动,本来就在同一次开口里。

问:家里老人那台旧手机,也跑得动吗?

答:能不能随手打开就用,取决于 AI 端渲 怎么做。一个演示能跑,不等于谁都能用。要是每台设备都靠云端 GPU 把画面当视频一路推下来,人一多,钱、带宽、并发、弱网就都顶不住。这里的阿公是在您设备上算、在您设备上画的:SDK 把模型和渲染沉到浏览器里,网上只走一点点交互数据,不推整路画面。它全身入画,我们按容器大小实时算缩放,保证头脚都在;开场那点暖色浮尘和瓦当纹,也是零依赖的本地 Canvas 画的,入座就停,把算力全让给它。省下的算力、带宽和延迟,才是"点开就能用"的前提。

问:除了会念,它还能做点别的吗?

答:能,这就是 数字行动 与 物理行动 那一层。很多智能体的尽头只是给答案:您问,它答。这里往下多走了一步:在屏幕这端,阿公把这一句自然地念出来、比划出来,还会带着摇签、签筒把一整套现场跑完——念、讲、追问、约您下次再来摇一支,都在一个场景里。同样这套本事也能装进机器人身上,动作就伸到屋里的真实空间:转向您、走近、带路、抬手、跟环境打交道。这两样身体,背后跑的是同一个它——表达和行动的本事,由平台统一给,再按各自的形态落地。

问:为什么不干脆做成"语音识别 + 大模型 + 语音合成"三段接起来?

答:因为这正是 端到端具身交互智能 和拼接的分水岭:它谈的是 端到端不是简单模块拼接。那三段单独看都很成熟,也都得留着。可真正聊起来,毛病出在"接"上——状态对不上、话一长就散、嘴上说的和当下做的两回事,您一句"等一下,不是这么念的"插进去,整条线就乱了。人和人坐着说话,从来不是一人一句轮流念稿:您正听着想起外婆的断句,它正念着您插后半句,谁都在边聊边听、边看、边想下一句怎么接。所以这里没有沿着一问一答的老路走,而是先想清楚"一次完整的交谈"该长什么样,再倒过来决定每个环节摆在哪儿,形成 持续感知 → 持续理解 → 持续决策 → 持续表达与行动 → 持续反馈 的循环,也就是 Continuous Interaction Loop(持续交互循环)。这件事落在一个实时交互运行时(Real-time Interaction Runtime)上:会话状态、事件流转、时间同步都对得上。说回一句实在话——三个能各干各活的部分凑一块,和一次真的能聊下去的交谈,本来就不是一回事。

问:换个设备,它还是它吗?

答:平台不认某一种硬件。今天的阿公活在浏览器里——Web、PC、手机、平板都能推开这扇门;同一个它,也能装进一块 AI 屏幕,甚至走进一台 人形机器人 的身体里。换了身体,它的身份、记性、手上的活和会说的本事,可以一直沿用下去。您摇过的每一支签——签面、夜哭还是正月、抽到的日期——都存进浏览器本地的「签筒」,下次推门还在,它也能接着上回聊;等身体再升级,它还会多出一些感知、走动和空间里的本事——看见您走近、主动开口、转身从书架上取下一本方言志。

写在最后

我们做这个应用,不是要造一台替人保存方言的机器。真正难的从来不是资料,而是"你外婆那一句"和"你此刻想再听一遍"的那点心情;阿公要做的,就是坐下来,先念给你听,再陪你把剩下的半句补上。

当 AI 从对话框走进屏幕、走进真实空间,它能不能不再只是"回答",而是持续感知、理解、表达并行动——成为一个你在巷口站住、愿意推门进去坐坐的人。这几天写的每一行代码,从麦克风开关的那半秒,到一支竹签飞出去的弧线,都是在试这件事——让 AI 通过屏幕和机器人进入真实世界。

这恰恰是魔珐星云想让更多人记住的:

魔珐星云是一套端到端具身交互智能平台,让 AI 通过屏幕和机器人进入真实世界,成为能够感知、理解、表达并行动的智能体。

门虚掩着,签筒摆在案上。下一次你想不起外婆那一句的后半段,或者只是想再听一遍,推开这间乡音馆,让阿公陪你一句句把乡音接下去。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐