在第七周,我们围绕语音交互状态流转、聊天消息展示和三类Agent回答结构做了集中打磨,系统已经能够比较稳定地完成文字/语音问答演示。但在准备验收的过程中,我们也逐渐意识到:如果仍停留在“单接口同步返回+关键词路由”的架构上,项目在多Agent协同、首字延迟、跨会话记忆、生长曲线与推送通知等方面,仍然与任务书目标存在明显差距。

        因此,第八周BabyMind的开发重点从“交互细节修补”进一步转向架构升级与验收落地。本周我们主要围绕以下几个方向展开:

  • 引入LangGraph Supervisor多Agent编排,替换原有简单路由;
  • 接入SSE流式问答,降低用户等待感知;
  • 建设跨会话记忆、生长曲线与本地推送等扩展能力;
  • 运行M1–M7量化评测脚本,整理验收报告;
  • 完成Android端视觉重构、模型切换、会话分享等体验升级;
  • 将语音播报改为Android原生TTS,提升稳定性。

一、本周整体完成内容

1、引入LangGraph Supervisor多Agent架构

        前几周的健康、时间轴、营养三类Agent虽然都能独立回答问题,但路由仍偏依赖关键词匹配,复杂问题(如“宝宝发烧了,疫苗要不要延期,辅食怎么调整”)难以在一次请求内串联多位专家。

        本周我们在backend/agents/multi_agent_graph.py中引入了LangGraph Supervisor架构,由LLM主管自主决定每轮请求交给哪个专家Agent,并支持单次请求内多Agent串联,直到判定FINISH:

        START → supervisor → (health | timeline | nutrition | END)

        health/timeline/nutrition → supervisor   # 支持多 Agent 串联

        同时,健康Agent在发现发烧、感染、新发过敏等情况时,会通过notify_timeline_agent / notify_nutrition_agent主动通知其他Agent。为避免主回复被拖慢,这两项通知已改为后台异步执行,健康场景协同耗时从约42s降至约28s(-34%)。

2、接入SSE流式问答与闲聊短路

        第七周虽然优化了语音等待状态,但问答接口仍是“整段生成后再返回”,用户仍需等待较长时间。

        本周新POST /api/v1/qa/ask/stream,由backend/services/qa_stream_service.py将LangGraph执行过程翻译为SSE事件,前端QAViewModel可逐token展示回答,并支持中途停止生成。同时修复了流式路径下回答重复输出、历史会话未持久化等问题。

3、建设跨会话记忆与会话管理能力

        为让助手“记得”宝宝既往情况,本周新增BabyMemoryFact表与backend/services/memory_service.py,在问答结束后由LLM自动提取过敏史、健康状况、饮食偏好、里程碑等关键事实,下次对话开场自动注入精简上下文(≤600字)。

        前端同步完善会话管理:支持新建对话删除会话(含baby_memory_facts级联删除),并在QAHistoryListScreen中展示历史记录。

4、完成生长曲线追踪与本地推送通知

        本周新增WHO标准生长曲线能力,后端backend/services/growth_service.py内嵌0–36月龄男女体重/身高P3/P15/P50/P85/P97百分位数据,前端提供GrowthCurveScreen录入与曲线展示;健康/营养Agent可通过check_growth_status工具读取生长摘要。

        Android端通过WorkManager实现本地推送轮询(NotificationWorker),覆盖疫苗提醒、成长里程碑、儿保检查与生长异常等场景,避免家长错过关键节点。

5、Android端视觉重构与交互升级

        响应第七周“继续优化Android端UI”的计划,本周完成前端整体视觉重构:采用温暖鼠尾草绿设计系统,底部导航精简为首页 / 问答 / 时间轴 / 我的四标签;首页问候卡、快捷入口、宝宝选择器底部弹窗等页面同步调整。

        问答页新增:

  • 顶部LLM模型切换(DeepSeek-V4-Flash / DeepSeek-V4-Pro),偏好持久化存储;
  • 猜你想问建议芯片(后端 [SUGGESTIONS] 标记协议 + 前端解析);
  • 问答附件上传(图片/文件底部菜单);
  • 会话分享链接(POST /api/v1/shares/qa/{history_id}生成可公开访问的HTML分享页)。

        时间轴横向视图支持双指缩放与二维平移;用户与宝宝头像改为数据库存储,修复多宝宝切换、月龄跳转等联调问题。

8、语音播报改为Android原生TTS

        第六、七周语音链路依赖后端云端TTS返回Base64音频,但在实际联调中偶发合成失败、播放卡顿与并发阻塞。

        本周客户端全面改用Android原生TTS(SystemTtsPlayer)播报回答文本,ASR仍走后端SenseVoiceSmall识别,问答仍走统一QA接口。这样即使云端TTS不可用,文字问答与本地播报仍可正常工作。

二、本周核心代码与模块

1、多Agent编排与流式问答

  • backend/agents/multi_agent_graph.py
  • backend/services/qa_stream_service.py
  • backend/api/routers/qa.py
  • backend/core/suggestions.py

2、跨会话记忆与会话分享

  • backend/models/baby_memory.py
  • backend/services/memory_service.py
  • backend/api/routers/shares.py
  • frontend/.../ui/viewmodel/QAViewModel.kt
  • frontend/.../ui/screens/QAScreen.kt

3、生长曲线与推送通知

  • backend/services/growth_service.py
  • backend/api/routers/growth.py
  • frontend/.../ui/screens/GrowthCurveScreen.kt
  • frontend/.../notifications/NotificationWorker.kt

4、量化验收与文档

  • tests/eval/eval_rag.py
  • tests/eval/eval_extraction.py
  • tests/eval/eval_cross_agent_sync.py
  • tests/eval/eval_latency.py
  • docs/acceptance_metrics.md

5、Android视觉与语音

  • frontend/.../ui/screens/MainScreen.kt
  • frontend/.../ui/screens/HomeScreen.kt
  • frontend/.../ui/utils/SystemTtsPlayer.kt
  • frontend/.../ui/viewmodel/VoiceViewModel.kt

三、本周遇到的问题与解决思路

1、多Agent协同响应时间仍未达标

        流式输出改善了“首字可见”的体验,但仍测得总均值约21.6s。瓶颈在于Supervisor +专家Agent的多轮同步LLM往返。当前已通过异步跨Agent通知、闲聊短路、专家Agent 最多2轮迭代等方式压降耗时;后续仍需考虑进一步减少LLM往返或优化路由策略。

2、流式回答曾出现重复输出

        早期SSE路径在token流与最终done事件之间未做好去重,导致同一条回答出现两次。本周在qa_stream_service.py中统一以marker-free文本切片,并在前端QAViewModel中禁止并行stream,修复该问题。

3、语音量化指标暂无法测得

        eval_voice.py运行结果显示为not_measurable:TTS模型返回403禁用,仓库内也缺少可用标注语音素材。ASR端点本身可调用,但尚不能写入验收报告的正式数字。客户端改用原生TTS后,端到端语音体验更稳定,但量化评测仍需后续补齐素材或启用可用 TTS服务。

4、跨Agent联动曾出现断链

        联调中发现health Agent通知时间轴/营养Agent的链路在部分异常场景下未能触发。本周加固了LLM超时、通知线程池泄漏与数据库工具降级逻辑。

5、前后端状态不一致导致首页闪烁

        多宝宝切换、无宝宝引导、加载态三态判断不完整时,首页会在“加载中”和“有宝宝”之间反复闪烁。本周引入三态加载与“无宝宝”引导守卫,并修复档案更新、头像展示等细节问题。

四、阶段性成果

        经过第八周开发,BabyMind项目已从第七周的“可演示原型”进一步进入验收准备阶段。目前系统已经具备:

  • LangGraph Supervisor多Agent协同编排,支持单次请求内串联调用;
  • SSE流式问答、停止生成、闲聊短路与“猜你想问”建议;
  • 跨会话记忆持久化与会话级联删除;
  • WHO标准生长曲线与WorkManager本地推送;
  • Android端四标签导航、模型切换、附件上传与会话分享

五、下周计划

项目进入最后冲刺阶段,我们计划继续推进:

  1. 围绕答辩场景整理演示脚本,覆盖健康问诊、营养推荐、时间轴、语音问答、生长曲线等核心路径;
  2. 继续优化流式首token时延;
  3. 继续完善ASR/TTS功能;
  4. 修复验收与演示过程中仍暴露的前后端细节问题;
  5. 完善Gitee仓库文档,确保评测脚本与部署流程可一键复现。

        总体来看,第八周是BabyMind从“功能齐全”走向“架构成型、指标可测、体验可交付”的关键一周。核心能力已基本落地,接下来的重点将从“做出来”转向“验得过、讲得清、演示稳”。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐