我有五年健身房训练经历,也考取过私教证书。在实际接触中能明显感受到健身行业的现实矛盾:优质私教收费高,平价教练专业水平参差不齐,绝大多数健身新手负担不起私教费用。

很多人办了健身卡走进器械区,面对一堆器械无从下手。网上训练视频数量很多,但很难判断内容是否适配自身情况,训练动作是否标准。膝盖不适,不知道还能不能继续跑步,这类困惑几乎是所有新手都会遇到的。

去年一位做社区运动中心的朋友找我,希望落地一套AI健身教练,部署在场地大屏终端。到店用户可以直接和数字人对话,完成身体情况问询,获取对应的训练建议。本文记录这个项目的思考过程与落地技术实现。

健身新手到底需要什么

梳理几个真实的用户痛点。

第一,网络通用训练计划适配性差。网上随处可见“新手四周增肌”“八周减脂”这类方案,但这类内容默认套用统一模板。90公斤减脂人群和55公斤增肌人群,训练诉求完全不一样。通用计划不会考虑个人身体条件、运动基础、既往伤病。

第二,健身房心理压力。新手踏入健身房,看到其他人熟练训练,自己连器械调节都不懂。这种局促感,让不少人办卡后只去过两三次就放弃。如果有一个引导角色,帮助熟悉场地、明确训练方向,入门门槛可以降低很多。

为什么选择具身交互的方案

项目最初设想过纯文字问答方案:用户在大屏输入文字,返回训练建议。实际推演之后,发现这套方案并不适配健身场景。

  1. 健身指导需要临场感。线下私教,教练会当面示范动作、纠正姿态、给予情绪鼓励。这种陪伴引导的感受,纯文字输出无法实现。具备形象、语音的数字人,可以模拟面对面指导的体验。
  2. 大屏端文字输入效率低。运动过后大汗淋漓,在大屏上打字描述身体感受体验很差,语音对话才更贴合现场使用环境。
  3. 用户长期使用的信任感。健身需要持续坚持,冰冷的文本界面很难维持使用动力。带有形象、可以语音交互、能够给予正向反馈的数字人,更容易提升用户留存。

这也是具身交互在健身场景的价值:把AI从文本问答框,变成可视化的教练角色,拥有表情语音,通过对话输出贴合个人情况的训练指导。

技术方案

大模型选用DeepSeek。训练计划生成,需要综合解析用户身体数据、运动基础、伤病历史、训练目标多维度信息。

Agent整体执行流程: 用户来到大屏终端 → 数字人主动发起问候 → 采集用户基础身体信息(年龄、体重、运动基础、伤病史) → 开展简易对话式体能评估 → 输出个性化训练方案 → 数字人讲解方案并演示动作要点 → 训练过程实时交互、给到鼓励提示 → 训练结束总结,输出下次训练参考

交互层基于星云SDK开发,硬件采用社区运动中心55英寸大屏,数字人渲染在屏幕中央,背景使用健身房实景。

// 健身教练数字人 - 星云SDK初始化
const sdk = new XmovAvatar({
  containerId: "#fitness-coach",
  appId: FITNESS_APP_ID,
  appSecret: FITNESS_APP_SECRET,
  gatewayServer: "https://nebula-agent.xingyun3d.com/user/v1/ttsa/session",
  onMessage: (msg) => {
    if (msg.type === "voice_state_change") {
      const state = msg.state || msg;
      if (state === "idle") {
        // 教练讲完一段,等待用户回应
        enableUserInput();
      }
    }
  },
  proxyWidget: {
    // 展示训练方案卡片
    "widget_pic": (data) => {
      if (data.image) {
        const plan = document.getElementById("plan-card");
        plan.src = data.image;
        plan.style.display = "block";
      }
    },
    "subtitle_on": (data) => {
      const sub = document.getElementById("coach-subtitle");
      sub.innerText = data.text;
      sub.style.display = "block";
      return false;
    },
    "subtitle_off": () => {
      document.getElementById("coach-subtitle").style.display = "none";
      return false;
    }
  }
});

await sdk.init({
  onDownloadProgress: (p) => {
    if (p < 100) updateProgress(p);
  }
});

体能评估环节,数字人通过语音对话,引导用户完成简易信息采集:

// 体能评估对话流程
async function conductFitnessAssessment() {
  const assessment = {};

  // 数字人教练主动引导
  sdk.speak("你好,我是你的健身教练。在开始训练之前,我需要了解一下你的身体情况,这样我才能给你安排合适的训练内容。咱们先聊几个简单的问题,好吗?", true, true);

  // 基础信息采集
  const questions = [
    { key: "age", prompt: "先告诉我你今年多大了?" },
    { key: "weight", prompt: "体重大概多少公斤?如果不知道大概也行,给我一个范围。" },
    { key: "experience", prompt: "之前有健身的习惯吗?比如跑步、游泳、去健身房都算。" },
    { key: "injury", prompt: "身体有没有旧伤?膝盖、腰、肩膀这些地方有没有不舒服过?" },
    { key: "goal", prompt: "你来运动中心主要想达到什么效果?减脂、增肌、还是就想活动活动?" }
  ];

  for (const q of questions) {
    sdk.speak(q.prompt, true, true);
    const answer = await getUserResponse();
    assessment[q.key] = answer;
  }

  return assessment;
}

拿到评估结果后,生成训练方案,数字人同步讲解并展示可视化卡片:

// 生成并讲解训练方案
async function presentTrainingPlan(assessment) {
  const plan = await generateTrainingPlan(assessment);
  const script = await generateExplanationScript(plan);

  // 展示方案卡片
  showPlanCard(plan.summaryImageUrl);

  // 数字人教练讲解
  const sentences = splitSentences(script);
  sentences.forEach((s, i) => {
    sdk.speak(s, i === 0, i === sentences.length - 1);
  });
}

// 用户随时提问
function onUserQuestion(question) {
  sdk.interactiveidle();
  pendingQuestions.push(question);
}

训练方案生成阶段,DeepSeek会整合全部采集信息,输出适配个体的训练内容。

项目落地情况

这套系统在社区运动中心实际运行三个月,记录下真实的使用数据。

大屏终端每日主动交互从最初十几次,逐步稳定在五六十次。到场运动人群里约四分之一会和数字人进行对话,其中一部分用户完整走完体能评估流程,拿到专属训练方案。

实际使用有一个很有意思的现象:不少中老年用户愿意使用这套系统。他们大多不熟悉器械,又不好意思向旁人请教。和数字人交互没有心理负担,敢于提出各类基础疑问。

写在最后

健身行业并不缺少成熟有效的训练方法,难点在于专业内容很难触达普通普通人。私教成本高,网上教程泛化,健身房带来的心理压力,大量人停留在想运动但无从下手的阶段。

具身交互的思路,尝试把专业健身指导降低使用门槛。大屏内的数字人,通过对话收集用户身体信息,输出定制训练方案,把单次指导成本压到很低。

在本项目中星云SDK承担数字人交互层工作。实际体验中,对话延迟大约500ms,交互几乎无感知;支持讲解过程中随时打断提问,在大屏设备上渲染效果也可以满足场地使用需求。

注:项目为本人技术实践,相关SDK可查阅官方文档进一步了解。

如果你希望,工作任务模式还可以帮你优化标题摘要、补充架构示意图、适配CSDN/掘金的排版格式,要不要使用?

Logo

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

更多推荐