给孩子做了一个好奇心驱动的识字Agent,代码已开源,欢迎一起玩
背景
孩子一年级,老师布置的阅读任务他不感兴趣,“读了也白读”。市面上没有找到能回答他“为什么”的阅读产品(比如“星星为什么眨眼睛?”“黑洞里面有什么?”),于是自己动手写了一个。
核心设计
这是一个围绕“好奇心”运转的Agent系统,四层分离:
- 感知层(perceive) :捕捉孩子点字、朗读、提问等行为
- 决策层(reason) :决定今天生成什么主题的文章、复习哪些旧字
- 执行层(act) :调用DeepSeek生成文章、讯飞语音识别、edge-tts朗读
- 记忆层(remember) :三层字库(新字/复习/已掌握)+ 知识图谱 + 好奇心事件
亮点 (你的项目中真正特别的地方)
-
不是随机生成文章,是按孩子当天的问题生成
比如他问“霸王龙有多重”,系统会生成一篇关于恐龙的短文,里面嵌入正在学的生字。 - 三层字库动态晋升
- 字库1(新学字):家长录入或连续读错自动加入,高频出现
- 字库2(复习字):连续读对3次后进入,降低出现频率
- 字库3(已掌握):不再作为生字强制出现,避免文章生硬
-
朗读检测自动记录错字
孩子对着麦克风读句子,系统比对原文,连续读错3次的字自动加入字库1,不需要家长手动录入。 -
完整Agent分层,注释详细
代码按照perceive/reason/act/remember分目录,关键函数都有注释,新手也能看懂。
技术栈
- 后端:Python FastAPI + DeepSeek + 讯飞语音 + edge-tts
- 前端:React + Vite,打包APK安装在平板
- 数据库:MySQL + Pinecone(向量检索历史文章)
- 部署:本地电脑(后端)+ 普通安卓平板(前端)
当前状态
-
核心闭环跑通:孩子问问题 → 生成文章 → 阅读 → 朗读检测 → 字库更新 -
支持多孩子(student_id 隔离) -
已在300元平板上稳定使用 -
代码还在完善中,会有不合理的地方
为什么发在这里
一个人写容易陷入固定思维。想找也在学Agent的朋友一起玩:
- 你不需要全栈,只需要对某个模块感兴趣(比如记忆层、语音识别、前端交互)
- 看不懂的地方可以提Issue,我会尽量解答
- 觉得哪里设计不合理,直接说,我乐意改