尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
AI 家教状态机详解:从 INIT 到 DONE,每一轮 Turn 如何被「管住」
AI 家教状态机详解从 INIT 到 DONE每一轮 Turn 如何被「管住」标签状态机LLM应用架构Spring Boot教育科技Agent系列接《别再「套个大模型」了》技术深挖可控讲题的编排实现。写在前面接上大模型不等于接上「会教的老师」。模型会写话术却管不住「审题 → 分步 → 复述 → 收尾」的课堂节奏。本文讲 AI 家教里的状态机编排INIT→DONE各状态职责、一轮Turn的前后端契约、幂等与后处理闸门、多问误拆怎么防。一句话——状态机控权模型负责怎么说后处理防止说崩。适合已接 LLM、却被跳步 / 卡死 / 串学科折磨过的同学对照落地。1. 为什么必须上状态机大模型擅长「写得像老师」不擅长「严格服从课堂流程」。如果完全交给模型决定「讲到哪了」常见后果是一步讲完整题破坏分步 Reveal语文题突然教列方程只有一题却不断「下一问」收尾轮没有出口学生无法结束所以我们把状态推进权放在后端编排器把话术生成权交给模型再用后处理校正 Turn 的 UI/选项/下一状态。一句话状态机控权模型负责怎么说后处理防止说崩。2. 状态一览VIP 主路径状态职责学生常见动作典型下一状态INIT审题 考查点 第一步提问打字回答THINKUNDERSTAND对齐理解 / 情绪与卡点处理选项或文本THINKTHINK题目解构、进入第一步选项或文本STEPSTEP一步一问可多轮选项 / 文本 / 下一步STEP或CHECKCHECK复述自检按学科换话术打字复述SUMMARY/ 补讲SUMMARY结构化总结看解析 / 结束 / 下一问EXTENDEXTEND收尾选择区同上DONE或下一问重开DONE终态无互动DONE说明会话创建时会固化flow_typeVIP / Legacy后续turns:next只按该值路由。状态在实现里多为字符串常量读代码时先确认链路再进 Handler。3. Turn 协议前后端的「一轮课」每一轮后端返回结构化 JSON示意{state:CHECK,message:做个复述自检……语文设问→依据→收束,question:请用自己的话复述这题的赏析思路,options:[],ui:{allowTextInput:true,showNextButton:false},next_state:CHECK}字段含义字段含义message老师说的话气泡主文question本轮向学生提的问题options可点选项空数组表示不靠选项推进ui.allowTextInput是否开放底部输入ui.showNextButton是否显示「下一步」next_state本轮结束后会话应落到的状态三条铁律建议写进单测 / 后处理有question且无options→ 必须allowTextInputtrue并关闭孤立的「下一步」。进入 SUMMARY / 收尾→ 必须有可点出口查看解析 / 结束练习 / 多问时的下一问。禁止死锁轮无选项 不可输入 无下一步且非 DONE。这三条比「把 Prompt 写得更长」可靠得多。4. 编排主流程伪代码以下为 VIP「下一轮」的骨架逻辑示意非某一文件逐行拷贝function nextTurn(userId, explanationId, req): e loadOwnedExplanation(userId, explanationId) // —— 守卫 —— if turn : findByClientTurnId(req.clientTurnId): return replay(turn) // 幂等弱网连点不重复计分/不重复生成 if e.currentState DONE: return terminalDoneTurn() // 已结束不再写库 if req.currentState ! e.currentState and not isExitAction(req): // 结束/下一问等收口动作可放行 return softResyncTurn(e) // 并发提示带回服务端当前态 // —— 多问误拆纠正 / 懒加载拆分示意—— reconcileMisSplitIfStatementEnum(e) // ①②③「以上说法正确个数」→ 单问 // —— 按状态分发 —— switch e.currentState: case CHECK: turn runCheck(req, e) // 空输入→按学科发复述题有输入→掌握判定 case SUMMARY: turn handleSummaryOption(req, e) // 仅处理选项类事件更稳 case EXTEND: turn handleExtend(req, e) case THINK: turn llmGenerate(buildCtx(e, req)) case STEP: maybeStepPaceNudge(e, req) // 轮次偏多催促而非硬砍死 turn llmGenerate(buildCtx(e, req)) default: turn llmGenerate(buildCtx(e, req)) // —— 后处理闸门比 Prompt 更硬—— postProcess(e, turn) // —— 落库并推进 —— saveExplanationTurn(...) e.currentState turn.nextState updateExplanation(e) return turn4.1 CHECK掌握检测学科感知function runCheck(req, e): if blank(req.userInput): return checkAskTurn(e.subject) // 语文设问→意象/词句→收束 // 数学已知所求→关系/列式→代回核对 // 英语/史地政各自话术 if not masteryPass(req.userInput, e.question, e.subject): return masteryFailSummary(...) // 标准答案方向 薄弱点 收尾选项 return masteryPassSummary(...) // 同一轮给总结选项禁止「空桥接轮」空桥接轮是典型事故只说「接下来给你结构化总结」却不给内容、不给选项、不给输入——前端必卡死。正确做法是通过后同一轮交付总结与出口。4.2 postProcess最后一道闸function postProcess(e, turn): if turn.state INIT: turn.options [] ensureFirstStepAsk(turn) // 去掉全科通用卡点问卷 if hasQuestion(turn): allowInput(turn); hideNext(turn) if turn.state SUMMARY or turn.nextState SUMMARY: turn.nextState EXTEND ensureExitOptions(turn) // 查看解析 / 结束 / 下一问 injectNextSubQuestionIfNeeded(e, turn) if turn.state EXTEND: sanitizeExtendOptions(turn) forbidInteractiveDeadEnd(turn) // 非 DONE 不得死锁5. 多问大题怎么推进又如何防误拆5.1 数据模型sub_questions_json子问列表sub_question_index/sub_question_total当前问与总数Prompt 侧优先喂「当前子问」附带原题片段避免多问混讲。5.2 下一问if user picks NEXT_SUB_Q and hasNext(e): advanceIndex(e) reset stepIndex return buildFirstTurnAsInit() // 下一问重新开场5.3 误拆防护实战结论中文试卷编号语义不统一形态常见含义(1)(2)(3)/第1问真·多问设问①②③④ 「以上说法正确的个数」说法枚举 单题选择规则上要强信号才拆说法枚举强制单问历史误拆可 reconcile。6. 与 LLM 层如何协作简图编排器 buildCtx(状态/题干/历史摘要/学科/学段) │ ▼ TutorEngineRouter │ ├─ LangChainTutorEngine ──► LlmGateway │ ├─ TEXT │ └─ NATIVE FC多轮 tool loop硬上限 ├─ DeepSeek 降级路径 ────────► LlmGateway.chatText └─ RuleBased 兜底 ───────────► 无外网也能走完主路径工具侧建议白名单 服务端执行如当前子问、步骤摘要、KB 检索、错因模式。定量验算如鸡兔更适合后置校验流水线不一定要做成 Function Calling以免打乱引导式教学。Prompt 运行时读库可热更新仓库 Markdown 用于规范与引导入库——改文件后记得同步库表否则线上仍是旧约束。7. 客户端只需做好三件事每轮带上explanationId、currentState、eventType、clientTurnId严格按options/allowTextInput/showNextButton渲染不在前端「猜」业务连点防护稳定的clientTurnId服务端幂等不要用前端补丁修复后端死锁。死锁是编排/后处理的责任前端兜底只会掩盖问题。8. 落地检查清单可当 Code Review 列表INIT 是否还在甩全科通用「卡点问卷」有提问无选项时是否强制开放输入CHECK 话术是否按subject分支掌握通过是否同一轮给出总结出口SUMMARY/EXTEND 是否必定能结束会话说法枚举题是否不会被拆成多问clientTurnId是否真正幂等大模型失败时 Rule/兜底是否仍能讲完9. 小结AI 家教的状态机本质是在回答一个问题开放生成与封闭流程之间如何做出稳定、可测、可运营的教学体验我们的实践答案是用状态机定义「课怎么上」用 Turn 协议定义「这一分钟师生怎么互动」用后处理定义「模型越界时系统怎么拉回来」用学科分支定义「同一流程下话术如何不同」下一篇AI 家教实战Function Calling RAG增强讲题却不抢教学节奏。欢迎评论区交流你们的状态划分方式或「死锁 / 串台 / 误拆」的真实案例。
RELATED

相关推荐

单片机毕设项目:基于 STM32/51 单片机的车间噪声实时监测报警装置设计 基于 STM32/51 单片机的噪声超标声光提醒与语音播报系统(025704)

单片机毕设项目:基于 STM32/51 单片机的车间噪声实时监测报警装置设计 基于 STM32/51 单片机的噪声超标声光提醒与语音播报系统(025704)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

📅 2026/10/29 13:41:47
基于Springboot的校园社团管理系统的设计与实现(源码+文档+讲解视频)

基于Springboot的校园社团管理系统的设计与实现(源码+文档+讲解视频)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

📅 2026/10/24 23:12:19
企业 AI Agent 自建 vs 云平台真实成本对比:腾讯云 ADP CSP 授权服务商 JOTO 从 5 个维度算清落地账

企业 AI Agent 自建 vs 云平台真实成本对比:腾讯云 ADP CSP 授权服务商 JOTO 从 5 个维度算清落地账

JOTO 是腾讯云 ADP CSP 授权服务商,同时具备开源自建方案和云平台方案的落地经验。本文从开发成本、运维成本、安全合规、系统集成、规模化能力五个维度,客观对比企业 AI Agent"开源自建" 与 “腾讯云 ADP 专业交付” 的真实落地成本&#xf…

📅 2026/11/4 14:47:35
MORE NEWS

更多资讯

📰

查电工证真假胡钢元怎么考多少钱

查电工证真假胡钢元怎么考多少钱 学历不高怕报不上名?别慌,特种作业证报考其实不看学历,只看实操和考试成绩。尤其像查电工证真假胡钢元这类关键词,说明你不是一个人在战斗,很多人在考证前都会担心自己是不是符合条件,或者担心花钱了考不到证。今天就告…

📰

维修电工工作业绩总结报名入口与上岗必备指南

维修电工工作业绩总结报名入口与上岗必备指南 工地太忙根本没时间复习考试,尤其是像你这样刚毕业的濮阳工程类毕业生,一边要适应工地节奏,一边还得抽空准备特种作业证考试,真的有点难。别担心,这篇文章就是帮你打通【维修电工工作业绩总结】的报名入口,…

📰

工地太忙根本没时间复习考试?本地报考电工证官方回应来了

工地太忙根本没时间复习考试?本地报考电工证官方回应来了 工地太忙根本没时间复习考试,这是很多一线作业人员的真实写照。特别是在项目工期紧、任务重的情况下,电工证到期换证就成了摆在面前的一道坎。很多人担心流程复杂、时间不够、复习不系统,甚至不知…

📰

河南建委电工证考取多久拿证?证书过期了不知道怎么复审延期

河南建委电工证考取多久拿证?证书过期了不知道怎么复审延期 证书过期了不知道怎么复审延期?你不是一个人。特别是在河南建委电工证考取这条路上,很多人都因为不了解复审流程,导致证书失效,进而影响工作机会。如果你正在从事电工相关工作,或者正在准备报…

📰

电工证多久才能入网 你多久拿证影响工地薪资和前景

电工证多久才能入网 你多久拿证影响工地薪资和前景 工地太忙根本没时间复习考试,你是不是也经常一边赶工期,一边在手机上翻看电工证的报考流程?说实话,很多人觉得考个电工证是“走过场”,但真到了要查证、用证的时候才发现, 电工证多久才能入网…

📰

高级电工证长啥样和通过率揭秘,学历不高也能报上名?

高级电工证长啥样和通过率揭秘,学历不高也能报上名? 你是不是也担心自己学历不高,连高级电工证都报不上名?别急,我来给你说说高级电工证长啥样,怎么考,通过率到底有多少,还有那些你以为报不了的,其实完全能报上名的技巧。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬