Siri / Alexa / 任务型对话(2011–2014)

在封闭任务上填槽并调用后端。这条「助手调服务」的流水线,后来接上了 LLM 的工具选择。

这一页对应的不是单篇开山论文,而是一条从实验室对话系统到消费级语音助手的产品线。需要同时看清三层材料:

  1. 任务型对话(task-oriented dialogue, TOD) 作为研究方法:在封闭任务上收集信息并调用后端。
  2. 典型流水线 作为系统结构:语音识别 → 自然语言理解 → 对话状态 → 对话策略 → 自然语言生成 → 后端 API。
  3. Siri(2011)、Alexa(2014) 作为把该结构做成大众产品的节点。

框架式对话的早期系统可追溯到 Bobrow 等,GUS, A Frame-Driven Dialog System,Artificial Intelligence 8: 155–173(1977)。统计对话管理的综述见 Young 等,POMDP-based Statistical Spoken Dialogue Systems: A Review,Proceedings of the IEEE 101(5): 1160–1179(2013)。Siri 源于 SRI 的 CALO 项目衍生公司,2010 年被 Apple 收购,2011 年 10 月 4 日随 iPhone 4S 发布。Alexa 随 Amazon Echo 于 2014 年 11 月 6 日发布;其开发者模型(技能、意图、槽位)把 TOD 结构写成了公开接口。

这个概念是什么

任务型对话系统的目标是:在一个预先规定的任务集合里(订票、查天气、设闹钟、放音乐、控制家电),通过多轮对话收集执行该任务所需的参数,然后调用后端服务,再把结果说给用户。

与闲聊系统不同,TOD 有可核验的完成条件:槽位是否填齐、API 是否调用成功、用户目标是否在该任务模式内。与 STRIPS 不同,这里的「计划」通常不是现场搜索出来的动作序列,而是任务模式已经写好,系统只决定下一步问哪个槽、何时调用哪个 API。与 AI Agent 定义不同,下一步由分类器、状态机或在固定状态空间上训练的策略选择,不是由语言模型在开放动作空间里决策。

Siri 与 Alexa 是 TOD 的规模化形态:它们把上述流水线接到语音接口和厂商服务目录上,使「对着设备说话、它去办事」成为消费品。Google Assistant 等属于同一架构家族,这里不另开条目。

关键术语:槽位

槽(slot)是任务的参数位。一个任务需要哪几项信息,每项就是一个槽;把对话推进下去,就是把这些槽逐一填满。

这个词不来自对话系统,而来自 1970 年代的框架(frame)表示法:一个框架描述一类典型情境,框架里有若干槽,每个槽留出位置等着被填。GUS 把这套做法用到对话上,改用框架表示任务。以订机票为例:

槽位 槽值示例 性质
出发地 北京 必填
目的地 上海 必填
日期 明天 必填
舱位 经济舱 选填

四个性质在后面反复用到。槽位集合是封闭的:槽在设计时就定死,用户在领域外提出的要求没有对应的格子可放。必填与选填决定追问顺序,对话策略的工作就是选下一个要问的槽。一句话可以填多个槽,那是抽槽的结果,不是多轮。已填的槽可以被覆盖,处理修正与冲突是对话状态跟踪的职责。

槽位与今天的工具 schema 是同一个东西:schema 里的字段名与类型,就是一套槽位定义;模型给参数赋值,就是填槽。两边都把槽位集合定死,区别只在「下一步填哪一项」由谁决定——经典 TOD 交给状态机或封闭状态空间上的策略,LLM Agent 交给模型自己。变的是决策核心,不是这个数据结构。

材料的主要内容

框架与槽位(GUS 一线)

GUS(1977)用**框架(frame)**表示一个任务,框架里的槽就是上文所说的参数位。系统维护当前框架的填充状况:已填、未填、有冲突。用户一句话被分析后,用于填写或修正槽;若关键槽仍空,系统生成追问;槽足够时触发后端(当时是数据库查询),再生成回复。

这一结构后来的标准术语是:

术语 含义
领域(domain) 系统被设计处理的任务范围,如「机票」
意图(intent) 用户这句话属于哪一种任务模式,如 SetAlarm、PlayMusic
槽位 / 槽值 该意图的参数名与当前值
对话状态 本轮为止的意图、槽值、待澄清项;有时含对话历史摘要
对话策略 根据状态选择下一系统动作:追问、确认、调用 API、结束

系统动作集合是封闭的。用户若提出领域外请求,经典 TOD 没有「现场发明新工具」的步骤,只能拒识或落入兜底回复。

流水线各模块

消费级语音助手把 GUS 式循环接到语音与服务上,模块通常如下。名称因厂商而异,信息流一致。

  1. ASR(自动语音识别):波形到文本。
  2. NLU(自然语言理解):从文本预测意图,并抽槽。可以是规则、统计分类器或后来的神经网络;输出仍是意图标签加槽值,不是开放计划。
  3. DST(对话状态跟踪):把本轮 NLU 结果并入累计状态,处理更正(「改成七点」)、指代、跨轮槽位。
  4. 对话管理 / 策略:在当前状态下选择系统动作。实现可以是手写状态机、基于部分可观察马尔可夫决策过程(POMDP)的统计策略(Young 等综述的对象),或后来的神经网络策略。动作空间仍是设计者给定的。
  5. NLG + TTS:把系统动作变成文本并合成语音;早期多为模板。
  6. 后端 API / 技能:真正改环境的一步(写日历、控灯、播歌)。可调用的服务列表是厂商或技能开发者注册的封闭目录。

循环存在:缺槽则追问,槽齐则调用,调用失败则报错或换策略。循环的控制图在部署前已经画好。这与「给一个开放目标,由决策核心选择尚未注册的工具并在失败后改写计划」不是同一对象。

POMDP 一线(Williams & Young 等,2000 年代至 2010 年代初)把对话状态写成对用户真实意图的概率分布,用强化学习在该信念上选动作,用来应对 ASR/NLU 错误。它增强的是在封闭任务内的鲁棒性,并不把任务集合或工具集合开放掉。

产品节点:Siri 与 Alexa

Siri。 CALO(Cognitive Assistant that Learns and Organizes)是 DARPA 资助、由 SRI 主导的认知助手项目。Siri Inc. 从相关技术衍生,2010 年 4 月被 Apple 收购。2011 年 10 月 4 日随 iPhone 4S 进入消费市场:语音作为入口,NLU 映射到 Apple 与合作方提供的服务(电话、短信、日历、天气、地图、部分网络查询等)。对用户而言,这是第一次在通用手机上大规模使用「说话 → 系统调服务」;对系统而言,仍是 TOD 流水线加封闭服务表。

Alexa。 2014 年 11 月 Echo 把同类流水线做成房间里的远场语音设备。Amazon 随后向第三方开放技能(Skill):开发者声明一组意图、每个意图的槽、以及服务端逻辑。这个开发者模型等于把 TOD 的领域—意图—槽位公开成 API。技能目录仍然是注册制,运行时不会在目录之外搜索新工具。

两者都达到了教材意义下的 Agent(感知语音,行动为调用 API)。两者都不满足 AI Agent 定义的四要素:决策核心不是 LLM(上线时以统计/规则 NLU 与状态机或统计策略为主),动作空间不开放,失败后的「改计划」被限制在该技能的策略图内。

关键术语

术语 在这条材料里的含义
任务型对话 面向封闭任务、以填槽和调服务为完成条件的多轮对话
框架 / 槽位 任务的参数结构;对话过程就是填这个结构
意图 预定义的任务模式标签
对话状态跟踪 跨轮维护槽值与待澄清项
技能 / 服务目录 运行时可调用的封闭后端集合
闲聊 vs 任务型 无完成条件的开放交谈 vs 有槽位与 API 的封闭任务

和 AI Agent 的关系

它在封闭任务上填槽并调用后端。这条「助手调服务」的流水线,后来接上了 LLM 的工具选择。

它的循环是多轮追问、确认、调用、失败再报错,副作用作用在环境上:写日历、控灯、播歌。观察是 ASR 文本与 API 回执。决策核心是意图分类器加状态机(或封闭状态空间上的统计策略),不是 LLM。控制图在上线前闭合。

三件与年份叙事有关的事实:

  1. 2011 年已经存在规模化、会调后端的助手,所缺的是以 LLM 为决策核心、以及开放的工具循环。
  2. 2022 年 ChatGPT 把入口从填槽改成开放对话:槽位由使用者临场说出,不再由系统预先规定。
  3. 2023 年的 ChatGPT plugins 与 Function Calling 开始把「助手调服务」接到 LLM 的工具选择上;是否构成 Agent,仍要看是否进入多步迭代。

GitHub Copilot(2021)是另一条助手:对代码的行级补全,人在环路,无目标循环。与 Siri 同列于助手,模态不同,结构同类。

TOD 的商业成功不使它成为 ReAct 的架构祖先。状态机填槽没有演变成开放工具循环;后者需要另一套决策核心与接口,时间在 2022–2023 年。