
码上提分这个项目名是个双关对家长来说是马上提分对我来说是写代码提分。整个想法从起念到跑通花了大概六周时间。核心就一件事——把手里的 Rokid AR 眼镜做成一套能陪孩子写作业、讲题目、又不会让孩子分心去刷视频的智能作业辅导系统。这篇文章不打算讲虚的。我会把整套系统的硬件组合方式、核心数据链路、每个功能模块的实现思路、调试时踩过的坑以及孩子真实使用一个月后的效果全部摊开说。如果你也动过拿 AR 设备做点教育场景的念头或者家里正好有个卡在作业题上的小学生这篇文章应该能给你一份足够落地、可以直接照着复现的参考。1. 从作业辅导崩溃现场到第一版原型1.1 为什么非得给辅导作业做一套专属设备先说说痛点。我家孩子上四年级最崩溃的科目是数学应用题和英语完形填空。我辅导过几次之后发现真正的难点不是题目本身难而是讲的方式不对。家长辅导最容易犯的毛病是直接给答案、急着讲完孩子表面点头下次同样的题换个数字又不会。想启发式引导很多题我自己也得先想半天。初中的几何辅助线、小学的分数应用题老实说不少题我得现场搜答案。搜出来的答案是有了但怎么把答案转成孩子能听懂的讲解搜索引擎帮不上忙。还有个更现实的问题手机和平板放在书桌上写着写着就变成了刷短视频。就算家长坐旁边盯着孩子拿到手机的瞬间注意力就散了。所以我想要的是一台只在卡壳时出现、平时安安静静的辅导设备——孩子先自己思考卡住了再抬头求助系统用语音加画面提示的方式讲解而不是把整道题的答案一次性甩出来。这个交互形态天然就是 AR 眼镜的强项提示可以叠在真实视野旁边又不占用双手更不像手机那样容易让人跑偏。1.2 硬件选型为什么是 Rokid 而不是其他方案我对比过四类常见方案各有各的问题平板加支架便宜省事但平板立在桌上会遮挡视线孩子低头看题、抬头看屏眼睛和颈椎来回切换非常累。智能音箱可以语音提问但纸质题目里的图形、单位、算式用语音根本描述不清音箱也没有视觉能力。手机拍照搜题识别准、答案全但使用过程自带娱乐终端属性家长不在旁边大概率变成玩游戏的入口。AR 眼镜显示内容悬浮在眼前纸质题目该怎么看还怎么看提示以一个小窗形式出现在侧方不遮挡主要视线。语音交互解放双手设备里没有社交 App、没有短视频孩子不容易被带跑。方向锁定 AR 眼镜之后我对比了几个品牌。选 Rokid 的核心原因有三条。第一是清晰度Rokid 的消费级眼镜用的是 Micro-OLED 微显示屏单眼分辨率达到 1080P文字边缘锐利看讲解文本不吃力。第二是价格光波导方案的眼镜虽然镜片更薄、更适合户外透传但整套价格高出不少而 Rokid 主流的 BirdBath 方案在室内固定场景下色彩和亮度反而更好一整套在两三千元档位拿来做家用项目预算完全能接受。第三是开发者生态Rokid 开放平台提供安卓和 Unity 两套 SDK支持 ADB 调试对我这种习惯用 Android Studio 写代码的人门槛最低。这里澄清一个容易混淆的点很多人以为AR 眼镜就必须是光波导。实际上光波导的优势在镜片薄、透光率高适合整天戴着走但我们做作业辅导基本都在书桌前环境光可控BirdBath 方案的显示亮度和色彩还原反而更适合。选型要跟着使用场景走别被最新技术四个字带偏。1.3 第一版原型的完整交互闭环第一版原型跑通之后交互流程是这样的孩子卡壳时按一下手机 App 上的拍题按钮App 调用摄像头拍下题目区域并自动裁剪OCR 引擎识别出题目文本文本发送到云端大模型模型按照我预设的提示词生成分步提示 完整讲解 检查方法三段式内容讲解文本在手机端渲染成卡片通过 Rokid 眼镜呈现在孩子视野里TTS 把关键句子念出来孩子随时可以喊再讲一遍或者下一步。这个闭环看起来简单真正落地时每一环都有坑。OCR 把√3识别成/3、大模型把答案直接写在第一步提示里、眼镜里的字太小看不清、从按下按钮到语音开口要等四秒——这些我后面会一节一节展开讲。原型阶段最大的收获不是功能全部跑通而是验证了一个关键假设孩子对对着眼镜问一道题这件事没有抵触情绪甚至觉得比问家长轻松。2. 系统到底长什么样硬件组合与数据链路设计2.1 这套系统的硬件组成与各自职责给系统画个像。整套设备由三部分构成Rokid 眼镜负责显示一台安卓手机负责识别和计算网络环境负责连接大模型接口。第一个版本跑在手机 眼镜直连模式下因为这样调试最方便日志随便打。后来我把整个 App 适配到 Rokid 的独立算力终端上跑孩子手不用碰手机直接按终端侧边的拍照键就能触发识别。各部分的职责拆开看组成部分具体职责关键参数Rokid AR 眼镜显示讲解卡片、题目摘要、操作提示Micro-OLED1080PBirdBath 方案安卓手机/算力终端摄像头取景、OCR 识别、大模型请求、TTS 合成、UI 渲染需支持 USB-C 视频输出大模型云端接口理解题目、生成分步讲解流式输出首字延迟尽量低家庭网络/5G传输题目文本和模型返回内容延迟要稳定带宽要求不高这个架构里手机是绝对核心。眼镜本身不带重计算能力它更像一块高分辨率的外部显示器。所以整个项目的技术工作大部分都落在安卓 App 里怎么把摄像头画面处理成干净的题目文本怎么把模型返回的 Markdown 渲染成眼镜里能看清的卡片怎么让语音交互不打断孩子思路。2.2 核心数据链路一帧纸面画面的旅程一条完整的数据链路从孩子按下按钮开始。摄像头先对着纸面取景App 要做自动聚焦和边缘检测把桌面杂物 台灯光斑 题目区域区分开。然后进入 OCR 环节这里我特意把识别放在本地而不是云端——作业照片涉及孩子隐私题目图片不应该为了识别多上传一份到服务器另外本地识别省掉了上传耗时整个链路更紧凑。OCR 输出的题目文本会先做一次归一化处理把全角半角符号统一、把多余空格清掉、把 OCR 常见的识别错误比如把 0 认成 o修正一遍。然后文本被组装进一个大模型 Prompt请求走流式接口。模型开始返回后App 不等全部内容生成完立刻把第一段提示文字渲染成卡片并交给 TTS 播放。孩子听到第一句话的时候模型可能还在生成后面的完整解法。这种边生成边播报的模式是延迟体验的关键。2.3 关键设计指标与选型理由我给这套系统定了两个硬指标。第一从按下按钮到孩子听到第一句话必须控制在 2 秒内。孩子的耐心窗口比成年人短得多超过 3 秒没反应他就开始乱按按钮了。第二眼镜里一屏显示的讲解文字不超过 80 个字。AR 显示不是手机屏幕字太多根本看不过来配合语音引导一次只给一步提示效果远好于一次性把所有解法铺满。围绕这两个指标选型逻辑很明确。OCR 选本地端侧模型因为云端 OCR 的一次请求就要多花一到两秒还会把题目图片传到外部服务器。大模型必须支持流式输出如果等模型把完整讲解都生成完再显示耗时至少八秒孩子早没耐心了。TTS 也要支持流式合成拿到模型第一段文字就开始发音。这三条一起决定了大框架后面所有优化都是在这个框架里抠细节。3. Rokid XR 开发环境搭建中的关键细节3.1 开发者模式、设备连接与眼镜工作模式很多首次接触 Rokid 开发的人倒在前两步眼镜连上手机只能看到手机桌面镜像自己的 App 画面出不来或者 ADB 根本连不上设备。这里有个容易忽略的点眼镜本身不是调试目标手机才是。你开发的其实是一个普通安卓 App眼镜只是它的显示输出。所以第一步是打开手机端的 USB 调试把 Rokid 眼镜通过 USB-C 线连上手机确认手机画面能镜像到眼镜里这时候在电脑上执行adb devices能看到的是手机设备而不是眼镜。Rokid 眼镜实际有两种工作模式开发时要用手机镜像模式方便打日志、看渲染状态做成成品给用户用时切换到AR 空间模式系统会把手机桌面转成虚拟屏幕应用内容能够浮动在真实环境里。模式切换可以在配套 App 里完成也可以在代码里通过 Rokid SDK 的接口动态设置。另一个我踩过的小坑第一版我偷懒直接把手机完整界面投到眼镜里孩子看到的是整个手机桌面包含状态栏、通知、别的 App 图标。这完全没有 AR 感而且很容易误触。正确做法是应用内只渲染自己定义的讲解卡片区域其他部分全部保持透明黑让真实桌面透过来。这一步需要理解 SDK 的渲染层概念但一旦做对体验从一个手机投屏变成了真正的眼前悬浮一张卡片。3.2 最小可运行 Demo 的搭建顺序我建议新人按这个顺序搭每步做完都能看到一个能跑的结果再进入下一步手机连眼镜确认镜像模式能正常显示画面。在 Android Studio 里新建空项目创建一个自定义 View画一个纯色矩形确认画面能输出到眼镜并清晰可见。调用系统摄像头 API 拍一张照片存到本地相册。引入 OCR 库我用的是 PaddleOCR 的安卓端侧版本识别照片里的文字并把结果打印到 Logcat。接大模型接口把识别文本发过去Log 里打印模型返回的完整回复。把回复字符串显示到刚才那个自定义 View 上确认眼镜里能读出文字。接入 TTS让文字能被念出来。接入语音识别ASR支持下一题再讲一遍两个基本命令。最后才是优化排版、调整字号、做防沉迷提示这些成品化工作。这个顺序的核心思想是每一步之间依赖最小每步都能单独验证。很多项目失败不是因为某个技术难而是因为一口气把十件事全做完出问题根本不知道怪谁。3.3 真机调试和模拟器完全不是一回事Android 模拟器在这个项目里基本只能用来调试业务逻辑显示效果完全不能当真。原因有三个模拟器没有 Rokid 眼镜的视场角概念内容在模拟器里排版完美上真机之后会被视野边沿裁掉一角模拟器屏幕是标准手机长宽比而眼镜中的画面比例更接近 16:9 的超宽比例左右两侧经常出现内容消失了的情况模拟器亮度恒定而真实环境下台灯、窗户反光都会影响透光显示效果深色背景和白色字体的对比度需要真机上反复调。我前几版在模拟器里把讲解卡片设计得漂漂亮亮一戴上眼镜右侧一列文字直接被切掉。后来学乖了所有显示相关的调试全部真机完成模拟器只用来跑数据解析和网络请求这类逻辑测试。真机调试加打印日志配合adb screencap截取眼镜看到的画面是最高效的组合。4. 作业辅导核心功能逐块拆解4.1 第一块纸面题目的视觉识别链路视觉识别是整个系统里最容易被低估的部分。刚开始我以为拍照 OCR是很成熟的技术直接调库就行结果第一轮测试的识别准确率惨不忍睹。问题出在拍照质量上孩子手拿不稳台灯直射纸面产生反光桌面杂物混进画面这些都会让 OCR 引擎崩溃。解决办法是加了一个预处理管线。拍照之后 App 先做四边形边缘检测找纸面的四个角把题目区域透视矫正并裁剪出来然后转成灰度图做一次对比度增强最后才交给 OCR 引擎。这一套下来识别成功率从七八成直接拉到九成五以上。PaddleOCR 的端侧模型中文识别很稳它还支持自定义词典我把厘米千克三角形路程这些课本高频词加进了词典识别结果的可靠性又提升了一截。公式识别是另一个通道。普通 OCR 把½认成1/2还能用但遇到√3x²分数线上下的分式结构纯文字 OCR 基本必错。后来我把包含特殊符号的题目区域单独过一遍公式识别模型让它输出 LaTeX 格式的文本后面做渲染和理解都用这份 LaTeX。没有这个独立通道一道分数加减法题目大模型拿到的可能是错乱的文本给出的讲解自然也是错的。4.2 第二块让大模型讲题而不是给答案OCR 拿到题目文本之后最核心的问题来了怎么让大模型像一个有耐心的老师而不是一个急着交答案的答题机器。如果直接把题扔给模型它十有八九会把完整解法一步到位写出来。孩子看着答案抄一遍看似学会了其实一点用没有。我这里用了一套固定的 Prompt 模板你是一位有耐心的小学四年级数学老师。下面这道题来自孩子的作业。 要求 1. 回答必须分为三段题目复述、第一步提示、完整讲解。 2. 第一步提示绝不能直接给出答案只能给出解题思路方向。 3. 完整讲解必须放在第二步只有当孩子说继续时才给出。 4. 用孩子能懂的语言避免超出四年级水平的术语。 5. 如果题目中有公式或图形请先描述你理解到的公式结构再开始讲。 题目{OCR识别出的题目文本}这里的关键是分步 条件触发。模型生成的第一段永远只是思路方向比如先找出题目里两个未知量之间的关系而不是具体的算式。完整解法被放到后面需要孩子语音说继续才会展示。我还在流程里加了一个自检环节模型生成完第一步提示后App 会再问一次模型这段提示是否泄露了最终答案如果模型自己都觉得泄露了就重新生成。这个二次确认听起来很笨但实测能把泄题率降低一大半。Prompt 里还有一个容易被忽略的点要求模型先复述题目。这一步可以校验 OCR 是否正确。如果模型复述出来的题目和纸面明显对不上App 会提示重新拍一张而不是硬着头皮讲一道错题。4.3 第三块把讲解放到眼镜里显示层的核心参数是我在真机上试了大概两周才定下来的。眼镜里画面的等效感受大约等于坐在三米外看一块六十五寸屏幕上的字。按 Android 的 dp 单位换算正文字号不能小于 18sp标题字号用 24sp一行不要超过 14 个字。行距设成 1.6 倍段间距额外加大否则文字在 AR 视野里会糊成一片。我用的是仪表盘式布局顶部是当前题目的一句话摘要用副标题颜色中间是讲解正文一次最多显示 80 字超出部分翻页底部是操作提示比如说继续查看解法说再讲一遍重听。整个卡片做成了深色半透明底加白色字左侧配一条强调色竖条。为什么深色底AR 是透光显示白色字直接叠加在浅色桌面上会发虚深色底能把文字跟背景隔开室内光照下可读性最好。语音交互也在显示层里配合。孩子说再讲一遍时App 会从当前段落重新开始播报说说慢一点时TTS 语速降三成说隐藏答案时当前页面的解答部分立即换成再检查一下的提示语。这些命令不多但都是在真实使用中孩子和家长用得最多的几个。4.4 防沉迷与护眼设计这个必须单独说。AR 眼镜本质上是近眼显示设备儿童使用一定要有严格的时间限制。我在 App 里做了三件事单次讲解时长上限 10 分钟每日累计使用上限 20 分钟每 15 分钟强制休息一次并弹出远眺窗外的提示。家长端可以设置使用时间段超出时间后设备会直接停止响应讲解请求。技术做得再炫孩子的眼睛是第一位的这条底线不能破。5. 真实调试日志延迟、字体与公式这三个老大难5.1 延迟优化从 4.2 秒到 1.8 秒第一版实测从按下按钮到孩子听到第一句话整整 4.2 秒。这基本不能忍。我把这段耗时拆开环节耗时摄像头拍照 预处理0.4sOCR 端侧识别0.8s大模型首字返回0.9sTTS 合成首句1.5sApp 渲染 音频播放0.5s其他损耗0.1s最明显的是 TTS 1.5 秒。查了一下原因我当时是等大模型把完整讲解全部输出完才交给 TTS 合成一长段语音。改成边合成边播之后模型返回第一句话的同时就把文本丢给 TTS首句合成时间降到 0.4 秒。大模型侧也做了配合在 Prompt 里要求第一步提示尽量简短让第一段返回内容控制在 20 个字以内。OCR 方面把模型量化到 8bit 后识别时间从 0.8 秒降到 0.55 秒。最后整体从按下按钮到开口稳定在 1.8 秒左右。5.2 字体、视场角与排版AR 显示不是手机 UI 缩放第一次戴上真机我愣住了——手机 App 里看着正合适的卡片在眼镜里被裁掉右边一大截。原因前面讲过模拟器的屏幕比例和眼镜的实际视场角完全不同。这只是第一层问题。第二层问题是字号手机屏幕的 14sp 正文在 30 厘米外的手机上很清晰但到了眼镜里等效三米外看屏幕14sp 的字在视野里就像一个标点一样小完全不可读。我的显示层后来整体推倒重做字号、行距、卡片宽度全部按三米外的 65 寸屏幕这个等效感受来定而不是直接沿用手机 UI 的参数。还有个细节眼镜里卡片位置不能放在视野正中央。正中央必须留出来给桌面上的纸面题目提示卡片放在右下方 15 度左右的位置孩子瞟一眼能看到低头写题时又不遮挡题目。这个位置可以在设置里调整因为左右眼主视眼不同每个人的舒适位置不一样。我最后默认位置是略微靠右同时允许左右滑动调整。5.3 数学公式最大的坑没有之一OCR 对公式的识别错误是最难缠的。根号、分数线、上下标普通 OCR 模型基本无能为力。典型的失败案例一道√3的选择题OCR 识别成/3大模型拿到题目后一本正经地讲将两边同时除以三讲得头头是道实际完全跑偏。孩子戴着眼镜听了一段睁眼说瞎话的讲解这比识别失败更可怕。针对这个问题我做了三件事。第一公式识别走独立通道用专门的公式模型识别 LaTeX 结构不等同于文本 OCR。第二Prompt 里加了一条规则如果发现题目中的数学表达式明显不符合常理请用自然语言描述公式结构例如根号三二分之一不要强行解读。第三眼镜端渲染 LaTeX 计算量大且字小看不清最后策略是简单公式一律在语音里慢速朗读画面上只显示关键数字和变量名。给孩子用的产品清晰准确比格式好看重要得多。5.4 发热、续航与环境光那些不会被写进文档的坑手机加眼镜高强度跑 OCR 和大模型请求发热问题非常严重。实测连续用半小时后手机壳发烫大模型接口调用明显变慢。后来在应用里加了连续使用 40 分钟后自动进入休息提示的逻辑既解决了发热也顺带做了护眼。还有一个环境光问题台灯直射纸面会产生反光OCR 识别失败率骤升。让孩子把台灯角度调整到从侧面照纸面之后这个问题基本消失。这些细节在官方文档里永远不会写但在真实家庭环境中它们对体验的影响和核心算法同等重要。6. 孩子真实使用后的效果与后续想法6.1 一个月的实测数据系统跑通后我在自己家里做了一个月的实测。孩子每天用一到两次每次大约十分钟主要用于数学应用题和英语完形填空的卡壳求助。记录了几个数字指标第一周第四周遇到难题愿意听完讲解的比例62%87%同类型题目二次做对的比例37%68%主动说这道题我看不懂的频次每天不到一次每天两到三次单次使用时长约6分钟约10分钟这个数据算不上严格的对照实验但能说明一点孩子对AR 老师这个形式是接纳的并且使用意愿在稳定上升。最有意思的变化是主动求助的次数增加了——以前他遇到不会的题会先趴着不说现在会直接抬头喊这道题帮我看看。愿意开口问是所有提分的前提。6.2 这个系统真正值钱的地方说实话一个月下来分数有没有明显提升我持保留态度。但有一个变化非常明显孩子对不会的题的心理负担降低了。AR 眼镜像一个没有表情、不会叹气、不会说这题上次不是讲过吗的辅导工具孩子问它不需要看脸色、不需要担心被骂。把我不会变成我想学这个心理层面的帮助比任何单一题型的讲解都更值钱。另外因为眼镜里没有短视频、没有游戏孩子使用它的目的非常纯粹不存在拿到设备就分心的问题。6.3 当前局限与下一步计划当前版本还有很多局限。只支持单题问答不支持连续对话——孩子问上一题的第二步就接不上图形题和手写体文字识别准确率还不够配方运算、方程变形这类多步骤题型大模型的推理仍偶尔出错。后续计划里有三件事把讲解记录按知识点自动归档成错题本每道题讲完后自动推送三道同类题做巩固给家长端做一个微信小程序报告让孩子自己不好意思摸鱼。还有一个我的个人教训别为了追求技术炫酷而把交互搞复杂。AR 工具类的核心是少即是多一屏一句话一次一个操作孩子能自己用起来才算成功。最后说点个人体会。辅导孩子这件事技术能解决不会的问题但解决不了想不想学的问题。AR 眼镜再酷也替代不了家长坐下来陪着的二十分钟。但有一点它是独一份的它让我不会这三个字第一次可以从容地说出口不怕被笑话不被当回事地敷衍过去。这大概就是码上提分这个项目最让我满意的地方。