ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI英语学习App开发复盘:大模型选型、口语评测与个性化路径实践

AI英语学习App开发复盘:大模型选型、口语评测与个性化路径实践 大概半年前我开始规划一个AI驱动的英语学习APP。起因是我在体验市面上几款背单词和口语练习软件的时候发现了一个普遍问题所谓“智能学习”大部分系统的逻辑只是按记忆曲线定时把词卡推给你至于“你为什么总是拼错这个单词”“一句话里的连读为什么你读不出来”“你写的作文到底差在哪一层”完全没有人管。也正是这种落差让我有了一个明确判断——英语学习这个场景真正值钱的能力不是堆题库而是让软件像老师一样读懂用户的具体问题。这个判断直接决定了我后续所有的技术选型。这篇文章不是产品发布稿是一个开发者的完整复盘。如果你正在考虑做AI学习类产品或者准备在现有App里接入大模型、语音评测这类能力这里踩过的坑大概率能帮你省下几周时间。1. 从“假智能”到真AI这个App到底解决了什么问题1.1 传统学习软件最大的痛点反馈不即时、内容不个性化英语学习App这个赛道并不新市面上的产品至少上千款。但你只要把用户评论翻一遍会发现被吐槽最多的几类问题高度集中第一学习反馈太滞后背完单词第二天才告诉你错了写作文交上去只有分数连错了哪句都不知道第二内容千篇一律同一套课件推给所有用户已经掌握了的内容还在反复刷第三发音和口语最需要的“专业点评”几乎没有多数App只提供一个语音识别转文字判断不了你这句话的节奏和重音是否有问题。这些痛点的本质其实是传统软件工程思路解决不了的。传统架构里所有教学资源都是预先人工录入的错误反馈也就是拿用户答案和标准答案做字符串对比。而生成式AI出现之后软件第一次有条件做到两件事理解用户的开放表述以及根据用户水平动态生成教学内容。也就是说AI不是用来替代题库的而是用来替代“标准答案匹配”这个旧交互模型的。1.2 MVP该做哪几个模块我一开始也犯过“什么都想做”的毛病把功能列表排到了几十项。后来做了一个取舍MVP只保留三个核心模块——智能背单词、口语评测、AI作文批改。这三个模块恰好覆盖了英语学习最典型的“输入—输出—反馈”闭环而且每个模块都对应一个可以独立验证的AI能力智能背单词——用大模型生成助记法、例句、词组搭配替换掉传统的静态词库内容。口语评测——用ASR语音识别加发音维度分析给出比“读得对不对”更深一层的反馈。AI作文批改——用大模型按语法、词汇、逻辑、切题度等维度打分并逐句给出修改建议。其他功能像社区、打卡、排行榜我在MVP阶段全部砍掉。原因是这些功能对验证“AI核心价值”没有帮助反而会分散开发精力。做产品有一个常识你最好先用最少的资源把一个痛点打到极致而不是用海量功能掩盖核心体验的薄弱。1.3 产品定义一个“会听、会批、会教”的英语陪练经过这轮收敛我把产品定义成一句话一个能听懂用户的发音、能批改用户的写作、能根据用户水平安排学习内容的AI英语陪练。关键词是“陪练”不是“题库”。这就意味着整个产品交互必须围绕“用户给一段输入AI给一段有效反馈”来设计而不是“用户选一个答案系统判断对错”。有了这个定义后面所有技术决策就都有了判断标准大模型生成的例句必须带真实考试场景来源不能瞎编口语评测不仅要给总分还要指出具体哪个音标读得不准作文批改不能只打一个分要告诉用户“这句话的让步状语从句用错了”。这些标准直接影响了提示词设计、评测SDK选择和数据流架构后面每一章都会展开来讲。2. AI能力选型API、开源还是自研2.1 三条技术路线的取舍做AI应用的第一步不是写代码而是想清楚AI能力从哪来。目前不外乎三条路自研模型、本地部署开源模型、调用商用大模型API。我见过不少团队一上来就要“训练自己的模型”其实99%的场景这个决定都是错的。路线效果初期成本长期成本隐私控制适合场景自研模型未知需要大量数据调优极高需要算法团队和GPU极高维护迭代成本大最强有核心技术壁垒的大厂本地开源模型中上接近商用但仍有差距需要GPU服务器或高配机器硬件折旧加运维人力数据不出内网对隐私要求极高的数据敏感场景商用大模型API最好且有持续优化低按量付费随用户量线性增长依赖服务商政策大多数AI应用创业团队我最终选了第三条路商用大模型API为主。原因很直接我们团队的核心能力在产品和学习体验设计上不在炼模型上。花三个月去微调一个效果远不如商用API的开源模型等于浪费了最宝贵的验证窗口。真正决定产品生死的是“AI能不能稳定地输出高质量教学内容”而这个目标通过精心设计的提示词和评测链路完全能实现。2.2 我最终选定的模型组合与理由在设计系统时我没有把所有任务都丢给同一个模型而是按任务类型做了分工对话生成和深度作文批改使用效果最强的主流水准大模型如GPT-4o级别或同样量级的Claude、国内几家头部模型。这类任务需要较强的逻辑推理和上下文理解能力模型不能弱。轻量级单词助记、词组搭配生成使用中档模型如GPT-4o mini或各家的light版本。这类任务模板化程度高不需要太强推理用便宜模型能省大量成本。微调型任务如“根据用户错误类型生成三个相似练习题”先在主模型上生成再通过规则过滤质量。这样组合下来日均50个活跃用户的测试阶段API成本大概是每人每天0.5元到2元取决于用户当天做了多少练习。这个成本在MVP验证阶段完全可以接受。2.3 语音识别与合成评测链路的基础设施口语评测模块除了大模型还依赖另一个关键AI能力语音识别和发音评测。我调研了几家国内外的语音服务商包括讯飞、腾讯云、微软Azure等最终选择以“发音维度得分音素级诊断”能力为第一标准。原因很简单产品要给用户“哪个单词的哪个音读得不准”这种反馈语音服务必须支持音素级对齐分析而不只是把语音转成文字。TTS语音合成我放在了第二阶段。MVP阶段先不做口语跟读示范等基础评测稳定后再接入语音合成做“先听标准发音再自己读再对比”的完整闭环。原因是跟读示范没有太多技术风险但评测准确度才是口语模块的信任基石值得优先打磨。3. 提示词工程与AI网关让大模型稳定输出教学结果3.1 教学场景的提示词模板怎么写提示词是大模型应用的灵魂尤其是在教学场景里算错一道题是体验问题生成一段错误的知识点就是信任问题。我写提示词的经验可以总结为四要素角色定义、任务目标、输出格式、质量约束。拿作文批改举例我最初版本的提示词只有一句“请批改这篇英语作文”结果模型输出五花八门有时候是亲切鼓励有时候是冷酷打零分解析程序根本没法处理。后来改成了结构化模板效果立刻稳定你是一位雅思写作考官有十年批改经验。 任务对用户提交的英语作文按四个维度打分并给出修改建议。 维度语法准确性、词汇丰富度、逻辑连贯性、内容切题度。 要求 1. 总分按四个维度平均计算保留小数点后一位 2. 每处错误必须标注错误类型和修改建议 3. 只输出JSON格式不要输出任何多余解释。关键细节是“只输出JSON不要输出多余解释”这一句能让解析成本大幅降低。刚开始我总会绕过这句结果模型经常在JSON前后加“好的我来帮你批改”这种废话导致解析程序报错。现在所有请求的system prompt里都固定加上这句结构稳定性提高了非常多。3.2 强制结构化输出评测统一走JSON为了让AI的输出能被程序直接使用我在AI网关层做了一个统一约定所有需要回传数据的AI调用返回格式一律是JSON Schema定义的严格结构。模型侧通过系统提示词约束网关侧通过解析校验兜底。作文批改的返回结构大概长这样{ overall_score: 6.5, dimensions: { grammar: 6.0, vocabulary: 6.5, coherence: 7.0, task_response: 6.5 }, sentence_feedback: [ { original: In modern society, the technology develop fast., revision: In modern society, technology is developing rapidly., error_type: grammar, severity: high, comment: develop应改为被动或现在进行时名词前需加冠词。 } ], summary: 整体论证结构清晰但语法层面出现单数第三人称和时态错误建议重点复习一般现在时与现在进行时的区别。 }有了这个结构前端拿到数据直接渲染不需要再猜测AI想表达什么。更重要的是我可以在网关层针对JSON做校验比如发现分数不在0到9之间、原文和修改文完全相同这类异常就直接打回让模型重新生成而不是把脏数据展示给用户。3.3 成本、延迟与可靠性AI网关里的工程细节AI网关是我在这个项目里付出最多精力的基础组件没有之一。最初我图省事直接在业务代码里调用大模型API后来出了三件事逼着我把网关独立出来了。第一是并发控制。免费体验用户集中涌进来时直接打爆了模型API的限额。第二是成本失控。某些长对话没有做token截断一次会话消耗了相当于十篇作文批改的token。第三是重试策略。模型偶尔返回超时或空数据没有统一的重试机制用户端看到的就是“AI开小差了”。网关最终提供了四层能力鉴权与限流每个用户每天调用次数上限超限自动降级到静态反馈。缓存与去重相同请求如同一篇作文重复提交直接命中缓存不重复调用模型。成本预算按用户和按模型双重维度记录token消耗超预算自动切换低档模型。降级策略主模型超时3秒就返回一个可控提示而不是让用户无限等待。延迟方面单项轻任务控制在1.5秒内返回作文批改这类重任务走异步队列用户提交后先返回“批改中”完成后通过推送提醒。这个体验设计至关重要——你让用户盯着屏幕等十秒再好的批改体验都会变成负分。4. 口语评测与作文批改两个核心AI模块的落地过程4.1 口语评测的技术链路与SDK选型口语评测是让我踩坑最多的模块。最早我天真的以为“语音转文字再拿文本去匹配”就够了实测下来发现完全不是一回事。英语口语的评分涉及发音准确度、流利度、完整度、重音和语调某些单词读得“差不多”但音素错了ASR照样能识别出来但实际得分应该很低。所以我最终采用的链路分成四步用户录音并上传前端做降噪预处理调用语音评测SDK对指定参考句进行音素级对齐评分拿语音评测返回的词汇级得分、音素级问题列表做规则过滤将评测结果和大模型生成的“发音小贴士”合并返回给用户。SDK选型时我对比了几家的核心指标单句评测的响应时间、并发QPS上限、是否支持音素级诊断、是否有中英文混合说明。最后选了在发音诊断维度上最细致的一家。我建议做类似功能时别只看价格一定要先拿自己录的10段不同口音音频去测试看哪家能真实指出“是哪个音标出了问题”。示例调用逻辑长这样def evaluate_pronunciation(audio_path, ref_text): result speech_sdk.pronunciation_assessment( audioaudio_path, reference_textref_text, languageen-US, granularityphoneme ) return { overall_score: result.overall_score, fluency_score: result.fluency_score, accuracy_score: result.accuracy_score, completeness_score: result.completeness_score, word_scores: [ {word: w.text, score: w.score, error: w.error_type} for w in result.words ] }4.2 作文批改不要把AI变成只会打分的扫描仪作文批改这个模块用户感知最强也是最容易做出差异化的功能。市面上大多数产品只给一个总分加一句鸡汤评语我觉得这种体验浪费了大模型的能力。批改模块我做了三层递进第一层是维度评分给语法、词汇、逻辑、切题度分别打分第二层是逐句修改把每句有问题的原文和修改后版本并列展示标明错误类型和严重程度第三层是整体学习建议根据作文里的高频错误类型在系统里匹配对应的语法知识点和练习题。提示词设计上有一个很重要的细节要让模型区分“错误的严重级别”而不是把所有问题一视同仁。比如单复数错误和整段逻辑混乱对写作分数的影响完全不同。我在提示词里加了“严重级别”字段并给了几个真实示例告诉模型怎么分类效果非常明显{ error_type: grammar, severity: high, comment: 主谓不一致应把is改为are或者将主语改为单数形式。 }另外一个容易被忽视的点是批改作文一定是先完整阅读全文再逐句批改所以必须把整篇作文作为上下文传给模型而不是分段调用。分段调用会丢失上下文逻辑批改出来的建议经常前言不搭后语。4.3 评测结果怎么展示才不打击用户技术做完了还要面对一个产品问题分数会打击学习积极性。我测试阶段发现口语得分连续三次在60分徘徊的用户流失率极高。后来我把反馈机制改成了“能力维度改进点优先”的展示逻辑而不是把积分大比分展示在前面。具体做法是展示页面先给一个评分等级如“发音清晰度良好”其次展示“最需要改进的两个音素”最后才是具体分数和分析数据。这样用户看到的是“下一步做什么”而不是“我有多差”。我觉得所有教育产品的AI反馈都应该遵循这个原则反馈的目的是引导行动不是评价人格。5. 个性化学习路径从SRS到内容自适应的实现5.1 用户模型和内容标签是“地基”个性化学习听起来很高大上落到工程上就是两件事给用户打标签给学习内容打标签。如果这两套标签体系都没有建立任何推荐算法都是空中楼阁。用户模型我分了三个维度水平维度词汇量、语法能力、发音得分、目标维度考四六级、雅思、考研还是日常交流、行为维度每日学习时长、易错题型、新词记忆保持率。内容标签维度相对简单词库来源四级、六级、雅思、托福、难度级别、所属话题科技、教育、生活等。MVP阶段我用的推荐逻辑很简单根据用户水平维度过滤内容再按遗忘曲线排优先级。比如一个目标六级的用户系统绝不会给他推四级高频词哪怕他最近四级的正确率很低。因为偏离目标的内容再精准也是干扰。5.2 SM-2间隔重复算法在背单词模块的落地智能背单词模块的推荐底座我用的是经典的SM-2间隔重复算法。它的核心思路是每个单词的复习间隔取决于用户上次的记忆反馈质量复习越轻松间隔越拉越长。实现上注意几个细节用户反馈等级设计成1/3/5三档分别代表“完全忘了”“有点印象”“轻松记住”不要用过多档位用户在手机上点选的压力大。复习队列存储在数据库而不是内存防止App被杀后进度丢失。每天新增词量控制在一个合理范围内比如新词20个复习量不超过60个避免系统堆砌复习任务。算法的核心更新逻辑可以用一个简单函数表示间隔天数乘以一个增长因子根据反馈档位调整。这部分其实没有AI含量但它恰好是AI内容生成的最好补充AI负责生成高质量的例句和助记法SRS负责决定什么时间把这个词推给用户。两者结合用户的记忆效果才会好。5.3 什么时候才需要上真正的AI推荐很多同行一开口就是“我们要用大模型做个性化推荐”但我坦诚说MVP阶段完全不需要。原因很简单大模型推荐需要有足够的用户行为数据支撑你刚上线连100个付费用户都没有哪来的行为数据我的判断标准是这样内容量低于几千条时用规则引擎就够了按用户标签过滤加SRS排序效果清晰可控。行为数据积累到可以分析模式之后比如每个用户产生了几百条学习记录再上基于向量召回的内容推荐。具体做法是把单词、例句、作文话题映射成向量用pgvector做相似度检索根据用户历史表现召回相似难度的内容。强化学习那一套至少等到拥有稳定的日活用户之后再考虑一般团队没必要拿自己的产品当算法试验田。学习数据的埋点一定要从第一天就做。我在后端设计了一个统一的“学习事件表”凡是用户与内容的任何交互都记录包括看了几秒例句、点了多少次重听、复习时选择哪个反馈档位。这些数据现在看起来不起眼等你要做推荐时就会发现它们是无价之宝。6. 后端架构与数据流AI应用不等于“堆接口”6.1 技术栈选型与模块划分客户端我选了Flutter因为语音交互的UI在跨平台方案里Flutter的表现最稳定而且可以同时覆盖iOS和Android。后端选择了Python生态主要考虑到AI相关代码和评测服务大多是Python SDK用同一语言可减少团队心智负担。数据存储用PostgreSQL向量检索直接启用pgvector插件省掉了运维一套独立向量数据库的成本。业务模块划分上我拆成了以下几个服务边界认证模块负责登录与支付课程模块管理词书和学习内容评测模块接收录音和作文调用统计SDK与大模型AI网关统一代理所有大模型和语音API调用管理后台负责词库内容维护与反馈处理。6.2 核心数据表与状态流转数据库设计上除了常规的用户表和订单表最核心的是几张和AI学习相关的表word_progress表记录用户对每个单词的学习状态包括当前阶段学习中、复习中、已掌握、上次复习时间、下次到期时间、连续答对次数。evaluation_record表存储每一次口语和作文评测的原始结果与AI批改结果这个表是后续训练个性化模型的原始数据。ai_gateway_log表记录每次AI调用的模型名称、token消耗、延迟和是否降级用于成本分析和模型替换决策。状态流转最需要注意的是“评测记录”的生命周期。口语评测从“录音中”到“评测中”再到“已完成”中间可能因为网络或服务商错误进入“失败”状态。我在设计时给每个状态都加了超时时间例如评测中状态超过15秒没有回调就自动置为失败并允许用户重新提交。这个细节如果不处理用户会永远看到一个“评测中”的僵尸记录。6.3 实时反馈与异步批改的两种数据流AI学习产品里存在两类截然不同的数据流必须分开设计。第一类是实时反馈流比如智能对话、口语单句评测用户操作后必须在几秒内拿到结果这种请求走同步接口客户端等待服务器和AI网关完成一轮快速调用。第二类是异步重计算流比如整篇作文批改、长对话总结、学习报告生成耗时从十秒到几十秒不等必须走消息队列。用户提交任务后立刻得到“任务已受理”的响应后端处理完成通过推送通知客户端。异步队列我用的是最简单的任务表加定时扫描方式没有过早引入重型消息中间件。每天几千次作文批改的任务量用定时轮询完全撑得住等量级涨十倍再换架构也来得及。过早引入分布式中间件只会增加运维成本对MVP阶段是负资产。7. 上架、合规与成本开发一个App到底要花多少钱7.1 从MVP到上线的费用估算这是所有想入局的人最关心的问题。先说结论如果你自己会写代码MVP阶段的成本主要是时间、服务器和大模型API费用大概每月几百到几千元如果你要找外包或组全职团队按国内行情一个含客户端、后端、设计的三人团队干三个月成本在20万到40万之间具体取决于城市和团队水平。如果你只想做快速验证的原型用无代码工具搭一个壳加后台逻辑几万块钱也能启动但后续扩展性和定制空间比较受限。成本项MVP阶段估算说明云服务器与数据库300-800元/月2-4核云服务器加PostgreSQL大模型API费用0.5-2元/活跃用户/天取决于功能使用量语音评测API费用0.01-0.05元/次按调用次数计费苹果开发者账号688元/年iOS上架必需安卓商店软著0-600元代办机构价格人工成本不计或另算这是最大头7.2 iOS审核与AI生成内容的新规iOS上架是很多开发者最头疼的环节尤其是涉及AI生成内容的产品。我的实际经验是苹果审核团队对“AI生成内容”已经有比较成熟的审核逻辑核心关注点是内容安全与用户举报机制。上架前必须准备好的材料包括隐私政策链接、权限使用说明尤其是麦克风权限必须写明用于口语评测、AI生成内容的风险声明。最关键的坑是如果你的App里有AI生成的作文批改或对话审核团队会检查你有没有“内容举报反馈入口”。我第一次提交就是因为App里没有“不良内容举报”按钮被拒了。后来在主界面加了一个长按任意AI回复即可举报的入口重新提交才通过。另外建议在App Store Connect的描述里明确说明AI功能的使用边界不要写“AI万能”“全自动学习”这类夸大宣传审核会被挑战。7.3 Android渠道与数据合规注意事项安卓上架比iOS多一层国内软著要求。如果你打算覆盖国内主流应用商店需要提前申请软件著作权。每家商店的审核风格不一样部分商店要求App具备ICP备案才能提交这部分建议提前了解别等开发完了才发现资质不齐。数据合规方面英语学习APP会采集录音和作文文本属于典型的个人信息处理场景必须遵守最小必要原则。我在产品里做了三个设计录音文件只在评测过程中临时驻留处理完成后立即删除不额外保存作文文本默认只保留最近10篇用于用户历史查看不提供一键导出隐私政策里明确说明第三方AI服务商处理数据的目的和范围。语音数据这条线我之所以特别谨慎是因为它不只是行政法规问题也是用户信任问题。口语评测模块上线前我就写死了“录音不落库”的规则。用户对麦克风权限本来就敏感你哪怕只是多存了一天录音一旦被媒体曝光都是无法挽回的信任崩塌。8. 真实踩坑记录与后续优化方向8.1 大模型幻觉因为“编例句”被用户投诉智能背单词模块上线一周就有用户反馈“apple这个词你们AI给的例句‘He appled the meeting’是什么意思”我一查日志发现大模型在生成例句时把apple当动词用了还编了一个根本不存在的搭配。这是大模型幻觉的典型例子。解决思路分三层静态词典兜底凡是核心词汇优先从权威词库中读取预先审核过的例句把“准确性要求”写进提示词并要求如果模型对某个词不够有把握就只给最常用释义在AI网关加了一个“禁用词表”把容易编造的词语和组合直接拦截。我特别想强调第一层的价值AI适合做内容生成但核心教学内容必须有人工审核的底稿。纯让AI自由生成内容的后果就是你在教用户错误信息而不自知。后来我在所有AI生成的内容上都加了一层“人工抽查”机制每天抽一部分用户上报的内容做二次审核。8.2 口语评测在嘈杂环境下分数失真有用户在地铁上跟读了一段话系统给出40分用户直接崩溃写了一篇长差评说“我就是正常发音为什么只有40分”。查了录音日志背景噪音几乎盖过人声。语音评测算法对信噪比极其敏感我刚才说的“噪音环境下分数骤降”就是这个意思。后续做了三个改进前端引入环境音量检测噪音过大时直接提示“当前环境较嘈杂建议换个安静环境评测”评测SDK的降噪参数开启当评测置信度低于阈值时返回结果里附带“建议重新录制”的提示而不是把低分当真实成绩展示。这三个改动把口语模块的差评率降了一半以上。8.3 审核遇到AI内容合规问题前面提到iOS审核因为缺少举报入口被拒了一次这里再补充一个细节苹果还要求App说明AI生成内容的审核机制。我在回复审核团队的文档里写明了三层方案——大模型侧敏感词过滤、网关侧基于规则的兜底拦截、客户端侧用户举报入口。审核通过后这个文档模板我保留了下来建议你也提前准备一份类似的说明立案的时候能省掉好几轮邮件往来。8.4 下一步做什么如果按我的规划这个项目接下来的优先级是给作文批改模块加入真实语料库支撑让例句能溯源到原版外刊和考试真题进一步降低幻觉风险把向量检索真正用起来基于用户错题行为实现内容自适应召回接入口语跟读示范的TTS能力形成“先听、再读、再评”的完整闭环。说到底AI教育的护城河从来不是“用了多先进的模型”而是“内容的准确度、反馈的细致度、路径的贴合度”。把这三个方向上的人工打磨做到极致再让大模型在正确的边界内发挥能力这样的产品才经得起用户长期使用。我自己也在不断验证这个判断后续有什么新的数据我会再回来更新这篇复盘。
返回列表