想象一个场景:独居老人对着桌边的智能设备说一句「我的护工什么时候到」,设备回答「王阿姨今天下午 3 点到,记得提前开门」。这个看似简单的对话背后,是一条完整的 Agent 链路——从硬件语音采集,到大模型意图判断,再到业务数据查询与语音合成。这篇文章复盘我在康养源项目里,如何把这套链路从 0 到 1 做出来。

为什么要把大模型塞进硬件

康养源是一个集 PC、Android、智能硬件三端入口的居家老人服务系统。做产品调研时我们发现,居家养老场景里最大的痛点不是功能不够,而是老人不会用复杂界面。让老人学会在 App 里找订单、预约医生,门槛太高;直接对硬件说话,才是最自然的交互方式。

于是架构被定下来:硬件采集语音 & 后端接大模型推理 & 结果语音播报。硬件端基于 Zephyr RTOS(聆思 CSK6-MIX 套件,CSK6011A 主控,16MB Flash),后端 C# .NET WebAPI,数据库 Oracle,大模型用星火——理由是它的中文语义理解能力突出,对老人口语化的表达更友好。

Agent 的核心链路:六步闭环

把语音丢给大模型再播报,看起来简单,实际不可用——老人可能问「今天中午吃什么」,也可能问「帮我查一下护工订单」,模型自由发挥的结果就是答非所问。所以我在后端设计了完整的处理链路:

  1. 语音输入与预处理:硬件离线唤醒、离线识别,云端做语音识别与合成;
  2. 设备号绑定:平台提供设备号绑定字段,请求数据时通过设备 ID 定位到具体用户——「对硬件说话查订单」的前提,是硬件知道「你是谁」;
  3. 多轮语义改写:先查询历史会话,存在历史时先语义改写再进入意图判断,保证上下文连贯;
  4. 落域意图判断:用户问题 + 提示词发给星火大模型,判断属于哪个业务域;
  5. 按域查数:根据落域结果调用特定 API 向后端请求数据(如指定设备 ID 的护工订单信息);
  6. 后置处理与语音输出:把返回信息、提示词、用户问题整合后再次发给大模型,生成自然语言回复,再语音合成播报。
康养源智能 Agent 技术链路图
Agent 完整链路:语音输入 & 落域意图判断 & 按域查数 & 后置处理 & 语音输出
把「模型自由发挥」收敛成「模型按流程办事」,是 Agent 能落地的关键。提示词工程做的不是让模型更聪明,而是让它更听话。

落域意图判断:提示词是核心

六步链路里,落域意图判断是灵魂——它决定问题被路由到哪条业务链路。我们采用 RACE 框架(Role-Action-Result-Example):赋予模型角色、动作、结果期望与示例,让它把输入分类到预定义业务域。提示词的核心要求是「你只需要输出类别」,并给出少样本示例:

# 意图分类提示词(结构示意)
你是康养源平台的意图识别助手。
你只需要输出类别,接下来你要分类的输入为:
- "我的护工什么时候到" & 护工订单信息查询
- "社区都有哪些医生"   & 社区医生信息查询
- "我的医生什么时候到" & 医生上门问诊服务订单查询
- "你是谁 / 画一幅画"  & 闲聊
{{content}}

经过多轮测试对比,这个框架让意图分类结果精准、稳定——模型不再自由发挥,而是严格按示例的模式输出类别。这也验证了一个观点:对于分类这类确定性任务,少样本示例比长篇指令更有效。

AI 健康小助手:CRISPE 框架

另一个大模型能力是 AI 健康小助手,回答医疗、护理相关问题。这里的约束维度和意图分类完全不同:不能只输出类别,而要生成有温度的、专业的回答。我们采用 CRISPE 框架(Capacity and Role-Insight-Statement-Personality-Experiment),限定角色、背景、任务、回复风格与示例,并配合 Web Speech API 的 SpeechSynthesisUtterance + SpeechRecognition,实现语音输入输出——老人不需要打字,直接说话就能问「高血压平时要注意什么」。

选框架这件事本身也很有意思:同样是「让模型干活」,意图分类和领域问答对输出的约束维度完全不同,必须分开设计——一个求「准」,一个求「稳」。

硬件侧的挑战

硬件是另一个战场。项目初期我们误判了部分硬件的适用性,买回来才发现满足不了需求。我迅速决策重新选型,带着团队查技术文档、和产品技术人员沟通,最终锁定聆思 CSK6 开发板。这台设备的配置是:CSK6011A 主控、16MB Flash、GC0328 摄像头、2.4 寸触摸屏(320×240)、ESP32-C3 无线模组、扬声器——足够跑离线唤醒和 LVGL 界面,同时把重活交给云端大模型。

这件事教会我:技术选型不能凭直觉,先看文档、先做实测验证,比什么都重要。尤其是硬件,一旦采购就涉及成本和周期,试错成本远高于软件。

效果与验证

整套系统的稳定性经过了完整测试的检验:近 700 项测试用例覆盖 Web / APP / 硬件三端,功能缺陷全部闭环;Web 平均加载 2 秒、APP 响应 300ms、硬件启动 3 秒,兼容 Chrome / Edge / Firefox 三款浏览器。项目最终获得华北五省大学生计算机应用大赛一等奖,并产出 2 项个人软件著作权。

— 本文为项目经历整理稿,技术细节以项目设计文档为准。