ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI陪伴机器人项目现状与边界-哪些真实哪些是占位

AI陪伴机器人项目现状与边界-哪些真实哪些是占位 09-项目现状与边界-哪些真实哪些是占位写技术博客最容易犯一种病把规划当已实现把 TODO 当已交付。读者照着你写的去跑发现全是坑信任一次就崩了。AI 伙伴AI-Partner是个真实在跑、但远没产品化的开源项目。本篇做一份诚实的现状体检把真做完了“只是占位演示”压根没闭环三件事分开列每条给改进方向。不吹不黑能跑的夸没做的直说。阅读建议如果你打算拿它做毕设/原型/二次开发这篇比任何功能介绍都重要——它告诉你哪里能直接抄哪里得自己补。一、真实实现这些是真的能跑模块已实现内容证据项目源码/配置数据层8 张表 CRUD 8 个 Repository 全派生查询无 Queryrepository/*Repository.java对话链路POST /api/chat→ ChatService → CompanionAssistant → LLM → 工具副作用 → 落库controller/ChatController、service/ChatService双层记忆短期MessageWindowChatMemory窗口 12 按 userId 隔离长期落 MySQL前 20 条注入系统消息config/LangChain4jConfig、agent/persona/PersonaProvider6 工具 13 方法记忆3/提醒3/情绪2/健康2/设备2/时间1ToolMemoryId 隔离agent/tools/*Tool.javaMQTT 总线Paho 连接、通配订阅、上行解析status/event/vision、下行指令、自动重连mqtt/MqttClientManager、MqttMessageHandler提醒调度每分钟扫到期一次性提醒经 MQTT 下发 speak 指令并标记已推task/ReminderSchedulerScheduled 60s健康阈值心率 40 或 130、收缩压≥180 或舒张压≥110 判异常并建工单service/HealthService.evaluateAbnormal跌倒告警vision 上行 fall → 落 HealthRecord(fall_alert) 建 Alert(fall, critical)mqtt/MqttMessageHandler.handleVision视觉服务FastAPI YOLO11/detect 接口、超时 5s/15s、fall 阈值 0.6vision/app.py、service/VisionServiceRKNN 量化INT8 非对称量化target rk3566640 输入板端 6 TOPS NPUvision/deploy/rknn_convert.py端侧硬件RK3566 上 MQTT 上报、摄像头抽帧推理、5s 冷却防抖hardware/mqtt_client.py、camera_loop.py统一框架ApiResponse 三段式、全局异常、DTO 校验、CORScommon/*、config/WebMvcConfig宣传站单文件 H5内联 CSS/JS响应式双断点web/index.html这一大块是项目的骨架已立一个用户能注册、能聊天、能记记忆、能建提醒、能接设备、能触发跌倒告警的完整闭环是存在的。二、演示占位能看但别当真项现状占位表现说明ASR 语音识别SpeechService.recognize非 qwen 返回空串qwen 路径三个私有方法均throw真实 ASR 未实现目前说话识别不了TTS 语音合成mock模式返回mock://tts/base64占位串没真出声只是个可测试的串MQTT 开关mqtt.enabled默认false可插拔未部署 broker 主流程照跑视觉 face 任务taskface实为 COCOperson检测非真人脸命名与实现不符详见视觉篇视觉 pose 任务taskpose调detect_objects不返 17 关键点姿态关键点接口缺失紧急呼叫Alert.TYPE_EMERGENCY常量在但全代码无入口调用contactPhone恒 null定义了没接端侧 speak/gesturehardware/mqtt_client.py里# TODO只print云端指令到端侧不真执行端侧电量/固件硬编码battery96、firmwareVersion1.0.0非真实采集占位不等于骗它在说这条路我探通了接口真实能力等你来填。比如 TTS mock 让前端能先联调有没有音频 URL 字段等接了 cosyvoice 再换真值链路不断。三、未闭环这些是真的坑得补#问题影响改进方向1cron 重复提醒未实现Reminder.cron存了但调度器findDue只用remindTime每天21点吃药这类重复提醒永不触发调度器按 cron 表达式补计算下次触发或引入 Quartz/XXL-JOB2提醒下发无重试失败仅log.error网络抖一下提醒就丢了老人可能漏吃药加重试 死信队列 状态回查补偿3设备离线无心跳超时检测Device.lastHeartbeatAt存了但没人读设备断网不报云端长期误判在线提醒发空气加扫描任务超过 N 秒无心跳置 offline 告警4在线判定脆弱依赖设备主动发 offline断电/拔网瞬间状态卡 online同上靠心跳超时而非仅靠事件5告警无自动升级/通知无短信、推送、紧急联系人触达跌倒告警只落库没人收到接短信/企微/电话分级 escalation6健康异常归类偏差数值异常写成TYPE_DEVICE_FAULTLEVEL_HIGH健康告警和故障混一起统计/处置乱新增独立健康告警类型与级别7跌倒 HealthRecord.abnormal 恒 falseevaluateAbnormal不支持 fall_alert跌倒记录在健康表看不出异常把 fall_alert 纳入异常判定8对话表字段未回填Conversation.toolCalled/emotion/deviceId写链路不赋值想分析这次对话调了哪些工具拿不到ChatService 落库时回填9Alert 级别常量缺失注释写 4 级仅实现 high/criticallow/medium 无法用按需补常量或改注释10端侧关键点解析风险camera_loop.py切片忽略类别分数与[1,56,8400]实际输出不符跌倒关键点可能错位误报/漏报按真实输出布局修正加单测11端侧断线无真重连on_disconnect只打印断网后不恢复实现重连退避逻辑12配置项未闭环config.fall_threshold/camera_index代码没读改配置不生效易踩坑接 argparse/配置读取给两条最该优先补的坑附一点可落地的改进草图示意非项目源码#2 提醒下发重试在 ReminderScheduler 里把失败只 log改成带重试// 示意失败重试 标记待补偿而非直接丢弃try{mqttClientManager.publish(commandTopic,payload);reminderService.markPushed(reminder);}catch(Exceptione){reminderService.markRetry(reminder);// 计数1下次扫描再试if(reminder.getRetryCount()3){alertService.create(userId,deviceCode,reminder,high,提醒下发多次失败,...);}}#3 设备离线心跳超时新增一个扫描任务读那个存了却没人读的 lastHeartbeatAt// 示意超过 90s 无心跳判离线并告警Scheduled(fixedDelay30_000)publicvoidcheckOffline(){LocalDateTimethresholdLocalDateTime.now().minusSeconds(90);deviceRepository.findByStatus(online).forEach(d-{if(d.getLastHeartbeatAt()null||d.getLastHeartbeatAt().isBefore(threshold)){deviceService.markOffline(d);// 置 offline 可选通知}});}这两段说明一件事清单里的未闭环大多不是架构难题而是还差一个定时任务/一次状态回填的工程补课这正是开源二开最好的切入点。四、怎么读这份清单才不踩坑给三类读者的建议学生/学习者骨架对话 Agent 记忆 MQTT 视觉量化已经是绝佳教材照着读config到tools到mqtt一条线能学透一个 Agent 怎么落地。占位部分正好是你的练手题——把 TTS mock 换成真 cosyvoice、把 ASR 的throw填上就是一份完整作业。二次开发者上线前至少补 #2提醒重试、#3离线检测、安全框架见上篇、#5告警通知。这四条不补面向老人儿童的产品有实际风险。产品评估者把它当架构验证原型而非成品。核心价值在端边云三层打通的思路和可演进的代码骨架不在功能完整度。五、合规提醒面向老人/儿童/健康场景必读本项目涉及老人跌倒、健康数据、儿童陪伴诚实提醒健康告警目前只落库、不触达人真要用于守护必须补告警→家属/急救的可靠通道否则检测到了但没人知道等于没检测。医疗免责所有健康提醒、阈值判定都只是善意参考不能替代专业医疗判断异常时应引导联系医生/急救。隐私与授权记忆、情绪、健康数据属敏感个人信息上线必须取得本人/监护人同意明确留存期与用途端侧尽量只传结构化结果。未成年人儿童相关数据按最严标准保护监护人拥有查阅与删除权。六、小结一份不掺水的现状清单比十篇功能软文都值钱。AI 伙伴AI-Partner的真实底色是核心对话与设备闭环已立、语音与端侧执行还是占位、提醒可靠性与告警触达还有明显坑。知道边界在哪才知道下一步往哪用力——这恰恰是开源项目最该坦诚交付的东西。
返回列表