项目实训开发日志(二):BabyMind:基于多Agent和RAAG的科学育儿辅助平台
在第一周中,我们完成了BabyMind科学育儿辅助平台的项目开篇,明确了项目定位、核心技术路线、功能模块设计以及整体研发规划。进入第二周后,团队的主要任务从“想清楚要做什么”转向“把系统先跑起来”。本周我们围绕前端基础框架、后端核心接口、数据库连接、RAG知识库准备和多Agent模块边界设计等内容展开开发,为后续健康、时间轴、营养等核心功能模块落地打基础。
一、本周整体完成内容
1.完成Android前端基础框架搭建
本周前端部分主要完成了Android原生项目的基础结构搭建。项目采用Kotlin语言进行开发,并基于Jetpack Compose构建页面UI。相比传统XML布局,Compose更适合快速迭代页面,也方便后续封装通用组件。
目前前端已初步完成以下内容:
- 搭建Android应用工程结构。
- 完成应用入口与基础主题配置。
- 初步设计登录、注册、首页等基础页面。
- 建立页面导航结构,为后续健康问答、成长时间轴、疫苗计划、营养推荐等页面接入预留路由。
- 初步封装网络请求相关结构,为后续对接后端接口做准备。
本周前端工作的重点不是追求页面完整度,而是先形成可扩展的页面骨架。后续各业务页面只需要在现有导航和组件基础上继续补充,就可以逐步完成完整App体验。
2.完成后端FastAPI基础框架搭建
后端部分本周完成了FastAPI服务端基础框架搭建,明确了应用入口、路由组织、配置管理和数据库初始化方式。
当前后端已具备以下基础能力:
- 完成FastAPI应用入口搭建。
- 完成统一路由注册结构。
- 完成跨域配置,方便后续前端联调。
- 完成环境变量和配置集中管理。
- 完成数据库连接与会话管理。
- 完成基础数据库初始化逻辑。
后端工程结构已经初步稳定,后续新增业务模块时,可以按照“模型层、Schema层、Service层、Router层”的方式继续扩展,避免所有逻辑堆在接口文件中。
3.完成用户认证与宝宝档案基础链路
为了让系统具备真实业务数据基础,本周优先完成了用户和宝宝档案两个最基础的功能。
用户认证方面,目前已实现:
- 用户注册。
- 用户登录。
- JWTToken生成。
- 当前用户信息获取。
- 接口鉴权依赖封装。
宝宝档案方面,目前已实现:
- 宝宝档案新增。
- 宝宝档案列表查询。
- 单个宝宝档案查询。
- 宝宝档案修改。
- 宝宝档案删除。
- 用户数据隔离,确保不同用户只能访问自己的宝宝数据。
这部分功能虽然看起来基础,但它是整个BabyMind系统的核心入口。后续健康记录、成长时间轴、疫苗计划和营养推荐,都需要围绕具体宝宝档案展开。
4.完成MySQL数据库接入与基础表设计
本周我们完成了后端与MySQL数据库的连接配置,并设计了第一批基础数据表。
当前已经完成的基础表包括:
- 用户表。
- 宝宝档案表。
- 公共基础模型字段,例如创建时间和更新时间。
数据库连接支持通过环境变量进行配置,也为Docker本地开发预留了配置方式。这样团队成员在不同电脑上开发时,可以尽量保持一致的数据库连接方式,降低环境差异带来的问题。
本周数据库部分的重点是先保证“能连、能建表、能读写”,后续会继续扩展健康记录、疫苗计划、成长提醒、问答历史等业务表。
5.开始整理RAG知识库基础资料
虽然本周还没有把完整RAG流程作为主要开发目标,但我们已经开始为RAG模块做前期准备。
目前主要完成了以下工作:
- 初步整理育儿知识库目录结构。
- 按健康、疫苗、喂养、成长发育等方向规划知识分类。
- 准备将后续权威资料整理为Markdown文档。
- 初步确定Chroma作为向量数据库,用于支持语义检索。
- 讨论后续RAG回答的结构化输出格式,例如“核心结论、操作步骤、注意事项”。
RAG模块的关键难点不只是“能调用大模型”,而是要保证回答有依据、结构清楚、边界明确。因此,本周我们优先做知识来源和数据结构规划,为后续正式接入Chroma和LangChain打基础。
6.明确多Agent模块边界
本周团队继续细化了多Agent模块的职责划分。根据当前项目定位,BabyMind后续主要围绕健康、时间轴和营养三个方向展开,但在本周阶段,我们重点做的是模块边界设计,而不是一次性实现所有Agent。
目前初步明确:
- 健康相关能力主要负责常见症状问答、风险提示和健康记录沉淀。
- 时间轴相关能力主要负责月龄节点、疫苗计划、成长提醒和事件聚合。
- 营养相关能力主要负责辅食建议、过敏原过滤和食谱推荐。
- 各模块需要共享宝宝档案、月龄、过敏信息、健康记录等基础数据。
这个划分为后续开发提供了比较清晰的方向,也避免不同成员开发时功能边界重叠。
7.完成基础接口调试与文档整理
为了方便后续前后端联调,本周也同步整理了后端启动说明和接口调试说明。
目前已经形成:
- 后端本地启动方式说明。
- 环境变量配置说明。
- 数据库启动说明。
- Swagger接口文档访问方式。
- 基础接口测试流程。
- 注册、登录、宝宝档案相关接口调试示例。
文档整理看似是辅助工作,但对于团队协作非常重要。尤其是当前项目涉及前端、后端、AI服务和数据库,如果没有清晰文档,后续联调成本会明显升高。
二、本周核心代码与模块
本周核心代码主要集中在以下几个方向:
1.前端基础框架
frontend/
frontend/app/src/main/java/...
MainActivity.kt
前端页面、导航、主题和网络请求基础结构。
2.后端应用入口与路由
app/main.py
app/api/router.py
负责FastAPI应用创建、跨域配置和统一路由注册。
3.配置与数据库
app/core/config.py
app/db/session.py
app/db/init_db.py
负责环境变量管理、数据库连接和初始化。
4.用户认证
app/models/user.py
app/schemas/auth.py
app/services/auth_service.py
app/api/routers/auth.py
app/core/security.py
5.宝宝档案
app/models/baby_profile.py
app/schemas/baby.py
app/services/baby_service.py
app/api/routers/babies.py
6.通用依赖
app/api/deps.py
用于封装当前用户解析和接口鉴权逻辑。
三、本周遇到的问题与解决思路
1.前后端接口字段需要提前统一
在前端和后端并行开发时,我们发现如果字段命名和数据结构没有提前统一,后续联调会出现很多细碎问题。因此本周在后端使用PydanticSchema明确接口请求与响应结构,前端也开始根据接口字段设计数据模型。
2.数据库配置需要兼顾本地开发和团队协作
不同成员本地MySQL配置可能不同,因此本周将数据库地址、用户名、密码等信息统一放入环境变量中管理,并保留Docker启动方式,减少环境配置差异。
3.RAG模块不能只追求“能回答”
育儿场景对安全性和可靠性要求较高,因此我们在本周讨论中明确:RAG模块后续必须重视知识来源、答案结构和风险边界,而不是简单调用大模型生成回答
四、阶段性成果
经过第二周开发,BabyMind项目已经从第一周的方案设计阶段,进入到可运行系统底座建设阶段。目前项目已经具备了基本的前后端工程结构,后端可以正常启动并连接数据库,用户注册登录和宝宝档案管理等基础接口已经打通,前端也已经形成Android原生应用的基础页面框架。
本周最重要的成果,是完成了“用户->登录鉴权->宝宝档案->数据库存储”这一条基础链路。它为后续所有育儿业务模块提供了数据入口和权限基础。接下来,团队将继续在这个底座上开发成长提醒、健康记录、疫苗计划、时间轴聚合、RAG问答等核心功能。
五、下周计划
下一周我们计划继续推进以下内容:
- 后端继续开发成长提醒、健康记录和疫苗计划等基础业务模块。
- 前端继续补充首页、宝宝档案、提醒和时间轴相关页面。
- 开始将整理后的育儿知识文档接入RAG处理流程。
- 初步验证Chroma向量数据库的文档入库和检索效果。
- 补充更多接口测试,保证基础功能稳定可用。
总体来看,第二周的工作虽然还没有进入复杂AI功能实现阶段,但已经为BabyMind的核心能力搭好了第一层地基。后续项目能否稳定推进,很大程度上取决于本周这些基础框架和数据链路是否足够清晰、可靠。
更多推荐



所有评论(0)