)
开篇为什么必须给女儿造一个 AI 伙伴系列第一篇。起因是一个普通的选择让孩子用现成的 AI 聊天 Agent。这一篇梳理我为什么越用越不踏实、为什么最后决定自己动手——用家里一台旧电脑造一个完全本地化、内容可控、数据不出门的儿童 AI 伙伴。下一篇进入服务端实现。一、一个随时在线的新朋友2025 年豆包上线了自定义 Agent智能体功能任何人用自然语言就能捏出一个专属聊天机器人——起名、设人设、一键发布。对成年人这是新鲜玩具对一个三四岁的孩子这是她第一次拥有一个随时都在、永远愿意听她说话的朋友。不用等大人忙完不怕说错话被笑话想聊多久聊多久。我一开始乐见其成。父母陪伴的时间与精力总是有限——“为什么天会黑”蚂蚁要去哪里这类问题要讲得既准确又有趣并不容易。有个 AI 顶上来孩子开心大人喘口气看起来皆大欢喜。二、越用越不踏实两个结构性问题新鲜劲过去后我开始认真审视这些 Agent 到底在跟女儿聊什么。越看越不踏实。问题不在于某个 Agent 捏得不好而在于这套玩法本身存在两个结构性问题。问题一内容质量完全取决于设计者。豆包里的 Agent 开放给所有人捏——爱折腾的极客、图一乐的路人、随手一建的普通人。水平、见识、立场参差捏出来的 Agent 也天差地别有的严谨有的随意有的夹带私货。而家长既无法预知每个 Agent 的质量也几乎没有渠道逐一审查。问题二实时联网内容注入不可控。一个 Agent 本质是一张白纸——没有立场、没有善恶喂什么信什么。而这张白纸实时连着一个完全不可控的互联网。大模型会说出什么很大程度上取决于它吃进去的东西。互联网上已经有人像当年用 SEOSearch Engine Optimization搜索引擎优化对付搜索引擎一样鼓捣出GEOGenerative Engine Optimization生成式引擎优化专门批量制造AI 爱看的诱导性内容为的是让大模型和 Agent 说出他们想要的话。平台对海量 Agent 的监管本就顾不过来一张没人看管的联网白纸就这样被一点点写上诱导的、错误的、甚至有害的内容。开放 Agent 生态设计者水平立场参差实时联网GEO 诱导内容注入输出内容不可控3 岁孩子无分辨能力家长无法替她把关 ❌一个三岁的孩子没有分辨对错的能力。这个老师本身不坏但它被灌进去的东西我没法替她把关——这个风险不可接受。三、决策信不过就自己造把问题摆清楚选项其实很有限方案内容可控数据隐私定制能力成本豆包自定义 Agent❌ 联网注入❌ 上云弱低大厂儿童语音产品部分❌ 上云弱中本地自建✅ 亲手挑选✅ 不出门✅ 完全定制时间与技术答案很直接我是程序员这事我自己来。自建的前提是四条底线都必须满足内容可控——AI 的知识来自我亲手挑选的本地资料而不是全网乱抓的碎片数据不出门——所有对话与音频留在自家电脑上不上云、不外泄行为可控——人设、回答策略、触发逻辑由我自己定义出问题能立刻定位成本可控——模型与软件全部开源免费唯一成本是我的时间。而这两年技术条件恰好把这条路铺平了本地大模型的能力已经够用ASRAutomatic Speech Recognition自动语音识别和 TTSText-to-Speech语音合成都便宜到可以完全离线运行。条件不再是问题剩下的只是做不做。四、一次未竟的尝试Qwen3 文字版复盘其实这不是我第一次动这个念头。上一次项目的初衷和今天一模一样——给女儿做一个能语音聊天的 AI 机器人。当时用的是千问 3Qwen3折腾下来的结果是文字对话跑通了语音那一半始终没做成。加上当时模型能力有限、推理成本高、家里硬件也撑不起每天都愿意聊的体验项目做着做着就搁下了。现在回头看那次失败不是方向错了而是三个客观条件没到位模型能力当时的本地模型对话质量不够稳儿童场景容易答非所问推理成本文字版尚可一旦补上 ASR 与 TTS 两条链路端到端延迟和资源占用都不可接受硬件条件家里只有一台 R5 36006 核 CPU GTX 1660 6GB 的旧台式机当时跑不动能听会说的完整链路。这两年变化很快本地开源模型如 Qwen 系列质量大幅提升ASR/TTS 出现了一批 CPU 实时可跑的轻量模型GTX 1660 这块 6GB 显存的卡也足够承载一个小型 LLMLarge Language Model大语言模型。当初客观条件不允许的几条如今一条条被抹平。我知道是时候把它重新捡起来了。五、需求定义一个完整的人重启之前我先把做到什么程度才算数想清楚了。答案是一个完整的闭环缺一块体验都会塌听得见ASR 语音识别有脑子LLM 大模型说得出TTS 语音合成有好家教本地知识库 RAG守在家里全部本地部署 · 数据不出门ASRAutomatic Speech Recognition自动语音识别——女儿对着手机说话它能听懂LLMLarge Language Model大语言模型——能理解、能聊天、能讲她爱听的故事和道理TTSText-to-Speech语音合成——用温柔的声音回话而不是冷冰冰的文字本地知识库RAGRetrieval-Augmented Generation检索增强生成——肚子里装的是我亲手挑的启蒙内容而不是全网乱抓的碎片本地部署——所有数据留在自家电脑上不联网、不传云、不外泄。而承载这一切的就是家里那台 R5 3600 GTX 1660 的旧电脑——一台原本该退休的机器被我重新请回来成了女儿的 AI 老师。六、这个系列我会怎么写接下来的四篇我会把这个项目从头到尾拆开服务端——FastAPI Ollama 语音识别 语音合成怎么给 AI 装上一副能听会说的身子以及那些踩过的坑客户端 App——用 uni-app 把一部手机变成孩子的 AI 玩伴打包——怎么从自己电脑能跑做到装一台电脑就能用后续想法——这件事还能走到哪以及我想给它加的东西。01 开篇为什么自建02 服务端ASR / TTS / LLM / RAG03 客户端uni-app 双模式04 打包交付与部署05 后续演进路线接下来的内容不试图说服谁只是技术分享——记录一个普通程序员因为对孩子的担心用自己最趁手的本事把一个想法一点点做成现实的过程。下一篇进入服务端从能聊天的模型到能听会说的语音助手——技术选型、链路设计以及几个花了大价钱踩出来的坑。