NEWS

新闻

了解openKylin最新资讯,关注社区和产品动态。

NEWS

Learn about the latest news.

不用翻设置页了!openKylin 3.0 系统控制背后的三级识别

2026-10-28 17:37:37

在 OpenAtom openKylin (以下简称“openKylin”) 小 K 助手里,有一项用起来很顺手的能力:你说“把亮度调高一点”“打开文件管理器”“设个明早七点的闹钟”,系统听懂后直接完成对应的操作,不用一层层翻设置界面。


文档图片

这项能力基于开源的 kylin-ai-runtime 运行时实现——它是小 K 助手的开源运行时,负责对话、识别、推理等后台工作,系统控制是其中面向系统的部分。对用户来说,最直观的感受是“说了就能办成”;对开发者来说,更有意思的是这条链路是如何实现的。下面以 openKylin 3.0 所载版本为例,看看系统控制覆盖哪些能力,以及“听懂一句话”是怎么实现的。


能做什么:操作范围一览


系统控制覆盖日常最常用的几类操作:显示(亮度、缩放、色温护眼)、声音(音量、音效)、电源与任务栏、鼠标键盘与触控板、网络连接、应用启动与关闭、闹钟与日程等。具体支持哪些操作随系统版本和部署配置而定,还在持续扩充。

使用方式很直接,不需要背命令格式、菜单层级,按平常说话即可,例如:

  • “把屏幕亮度调高一点”
  • “音量调到 60”
  • “熄屏后打开需要密码”
  • “打开文件管理器”
  • “设置一个明早七点的闹钟”
openKylin - 开放麒麟 - openkylin

系统会先判断你想做什么,再补上需要的细节,一轮对话内完成。


怎么听懂:三级递进识别


把一句自然语言变成一次可执行的操作,核心是两步:先判断用户想做什么(意图识别),再补齐操作所需的信息(参数抽取)。

kylin-ai-runtime 采用三级递进的方案,按成本从低到高依次尝试,哪一级得到可靠结果就停在哪一级:

1、固定说法直接匹配。“打开蓝牙”“下一首”这类说法明确的指令,通过关键词匹配即可确定意图和所需信息,响应快,不依赖模型。
2、规则与向量语义检索。口语说法多变,比如“屏幕有点暗,帮我调亮一点”,固定匹配就不够用了。系统把句子转成向量,在语义库里检索最接近的意图,再抽取参数。目前随包携带的语义样本已有一千三百多条,覆盖同一个意思的各种说法;在常见硬件架构上,这一级默认开启。
3、大模型兜底。前两级搞不定时,交给意图识别模型:结合候选意图做最终选择,并补全缺失信息。模型默认本地部署,识别在端侧完成,数据不出设备;也支持按需接入云端模型。

三级识别共用同一种输出格式,上层逻辑无需区分请求来自哪一级。

整条链路的组织可以概括为下面这张图:

openKylin - 开放麒麟 - openkylin

之所以拆成三级,是因为不同表达对系统的要求差别很大。固定说法用规则匹配最快、最省资源;口语变体需要语义能力来兜住覆盖面;少数绕弯或省略的说法,则要更强的模型来补全。三级方案本质上是用递增的成本去匹配表达的复杂性,常用指令足够快,冷门说法也不落空。


听懂之后:确认补全再执行


意图识别只回答了“做什么”,多数操作还需要知道“做到什么程度”。比如意图是调音量,但目标音量是多少?

系统为每类操作定义了可接受的取值:任务栏位置限定在左、右、上、下几个选项;音量既接受“调高”“调低”“最大”“静音”,也支持 0 到 100 的数值。信息缺失或含糊时,系统会先确认,而不是猜着执行。

比如你说“帮我把音量调一下”,系统会问“您想调到多少?”,得到明确答复后再动手。整个交互就是一轮自然对话,用户不需要知道后台的分级识别,也不用自己去设置里翻开关。


怎么取舍:四个设计选择


实现过程中几个设计选择值得说明:

本地优先。识别链路的关键环节可以在端侧完成,不依赖网络,也避免把用户表达发送到外部服务;是否接入云端由部署方决定。

规则与模型互补。固定表达用匹配保证稳定、可预期;语义检索和大模型负责覆盖说法变化。两者共享同一套输出格式,后续流程不区分请求来自哪一级。

可配置。关键词口令、可操作的应用清单、提示词等都存放在配置文件中,调整识别行为不需要修改代码,也方便不同发行版和社区版本按需适配。

识别与执行分离。识别结果需要经过确认才可能触发操作,系统对没有把握的请求保持克制,宁可先澄清,也不贸然改动系统状态。


如何参与


系统控制的能力定义、识别规则、提示词和实现代码都随 kylin-ai-runtime 开源发布,仓库地址:

https://gitee.com/openkylin/kylin-ai-runtime

想读懂实现的同学,可以从“意图识别”和“系统操作执行”两个模块入手;使用中发现识别不准的说法,可以直接在配置文件里补充规则、调整口令,适配自己的发行版或使用环境;也欢迎到仓库提 issue、提 PR,或加入维护 AISubsystem SIG(AI 子系统兴趣小组),参与 openKylin AI 子系统的建设。