POST://vocational-education-agent
带点橘子味的馒头的头像
带点橘子味的馒头

FRONTEND / DESKTOP DEV

返回文章列表

中职编程「备教学研管评育」七位一体智能体:节点架构全解

2 分钟· 2,310 47 次阅读

面向中职计算机编程基础课,把一位老师日常的「备课、教学、学习辅导、教研、管理、评价、育人」七类工作,统一收敛到一套智能体流程里——这就是「备教学研管评育」七位一体智能体的设计初衷。本文从流程编排角度完整拆解这套架构。

整体流程

整个智能体以「角色路由」为第一层分叉:教师进教师域(6 类工作),学生进学生域(4 类学习场景),各自经意图分类器进入对应功能域,最终统一汇入回复节点。

flowchart TD
    %%{init: {'flowchart': {'curve': 'basis', 'nodeSpacing': 20, 'rankSpacing': 30}}}%%

    classDef startEnd fill:#1a1a2e,stroke:#fff,stroke-width:2px,color:#fff,rx:10
    classDef router fill:#f39c12,stroke:#e67e22,stroke-width:2px,color:#fff
    classDef teacherDomain fill:#2980b9,stroke:#1a5276,stroke-width:2px,color:#fff
    classDef studentDomain fill:#27ae60,stroke:#1e8449,stroke-width:2px,color:#fff
    classDef process fill:#ecf0f1,stroke:#bdc3c7,stroke-width:1px,color:#2c3e50
    classDef decision fill:#ffeaa7,stroke:#fdcb6e,stroke-width:1px,color:#2d3436
    classDef tool fill:#a29bfe,stroke:#6c5ce7,stroke-width:1px,color:#fff
    classDef fallback fill:#e17055,stroke:#d63031,stroke-width:2px,color:#fff
    classDef reply fill:#00b894,stroke:#00cec9,stroke-width:2px,color:#fff

    START([🚀 开始节点<br/>身份/模块/知识点<br/>班级/难度/文件]):::startEnd
    START --> ROLE_ROUTE{🔀 角色路由<br/>教师 or 学生?}:::router

    ROLE_ROUTE -->|教师| T_CLASSIFIER[🧠 教师意图分类器<br/>gpt-4o-mini]:::teacherDomain

    T_CLASSIFIER --> T_BEIKE[📋 备课域]:::teacherDomain
    T_CLASSIFIER --> T_JIAOXUE[📖 教学域]:::teacherDomain
    T_CLASSIFIER --> T_YANJIU[🔬 教研域]:::teacherDomain
    T_CLASSIFIER --> T_GUANLI[📊 管理域]:::teacherDomain
    T_CLASSIFIER --> T_PINGJIA[✏️ 评价域]:::teacherDomain
    T_CLASSIFIER --> T_YUREN[🌱 育人域]:::teacherDomain
    T_CLASSIFIER -->|未识别| T_FALLBACK[🛡️ 教师兜底<br/>通用教学助手]:::fallback

    T_BEIKE --> BK_EXTRACT[备课参数提取<br/>kp/课时/Bloom/教法]:::process
    BK_EXTRACT --> BK_RAG[📚 编程教材检索<br/>Top5 阈值0.6]:::tool
    BK_RAG --> BK_CHECK{空数据?}:::decision
    BK_CHECK -->|有结果| BK_GEN_RAG[教案生成-RAG<br/>DeepSeek]:::process
    BK_CHECK -->|无结果| BK_GEN_FB[教案生成-兜底<br/>通用知识]:::process
    BK_GEN_RAG --> BK_REFINE[📝 教案多步精修<br/>①结构 ②代码 ③时间<br/>④思政 ⑤提问]:::process
    BK_GEN_FB --> BK_REFINE

    T_JIAOXUE --> JX_FILE{有教学文件?}:::decision
    JX_FILE -->|有代码| JX_CODE[代码提取+预运行<br/>Python3]:::tool
    JX_FILE -->|无文件| JX_EXTRACT[教学参数提取<br/>kp/子类型/时长]:::process
    JX_CODE --> JX_ROUTE{子类型路由}:::decision
    JX_EXTRACT --> JX_ROUTE
    JX_ROUTE -->|互动教学| JX_HD[互动教学设计]:::process
    JX_ROUTE -->|案例| JX_CASE[教学案例生成]:::process
    JX_ROUTE -->|提问| JX_Q[课堂提问设计]:::process
    JX_ROUTE -->|策略| JX_ST[讲解策略生成]:::process
    JX_HD --> JX_MERGE[教学方案汇总<br/>变量聚合]:::process
    JX_CASE --> JX_MERGE
    JX_Q --> JX_MERGE
    JX_ST --> JX_MERGE

    T_YANJIU --> YJ_EXTRACT[教研参数提取<br/>类型/背景/理论]:::process
    YJ_EXTRACT --> YJ_API[🌐 职教政策获取<br/>API GET]:::tool
    YJ_API --> YJ_CHECK{请求成功?}:::decision
    YJ_CHECK -->|成功| YJ_GP[教研成果-融合政策]:::process
    YJ_CHECK -->|失败| YJ_GA[教研成果-纯AI]:::process

    T_GUANLI --> GL_EXTRACT[管理参数提取<br/>类型/数据/班级]:::process
    GL_EXTRACT --> GL_STATS[📈 成绩统计分析<br/>Python3执行]:::tool
    GL_STATS --> GL_CHECK{数据有效?}:::decision
    GL_CHECK -->|有效| GL_RD[学情报告-数据驱动]:::process
    GL_CHECK -->|无效| GL_RT[学情报告-经验判断]:::process
    GL_RD --> GL_COMM[💬 家校沟通话术]:::process
    GL_RT --> GL_COMM

    T_PINGJIA --> PJ_EXTRACT[评价参数提取<br/>类型/kp/难度/维度]:::process
    PJ_EXTRACT --> PJ_ROUTE{子类型路由}:::decision
    PJ_ROUTE -->|作业批改| PJ_HW[📝 作业批改子流程]:::process
    PJ_ROUTE -->|智能出题| PJ_QUIZ[智能出题]:::process
    PJ_ROUTE -->|评语| PJ_COMMENT[评语生成]:::process
    PJ_ROUTE -->|量表| PJ_RUBRIC[评分量表设计]:::process

    subgraph HW_SUB [作业批改子流程]
        direction LR
        HW_EX[作业内容提取<br/>OCR+文本] --> HW_RUN[代码运行测试<br/>Python3]:::tool
        HW_RUN --> HW_J[多维度评判5步<br/>功能/规范/效率<br/>注释/改进]:::process
        HW_J --> HW_REC[错题记录<br/>变量赋值]:::process
    end
    PJ_HW --> HW_SUB

    T_YUREN --> YR_EXTRACT[育人参数提取<br/>类型/kp/融入环节]:::process
    YR_EXTRACT --> YR_RAG[📚 思政案例库检索<br/>Top3 阈值0.5]:::tool
    YR_RAG --> YR_GEN[育人方案生成<br/>DeepSeek-R1<br/>目标/话术/活动/评价]:::process

    ROLE_ROUTE -->|学生| S_CLASSIFIER[🧠 学生意图分类器<br/>gpt-4o-mini]:::studentDomain

    S_CLASSIFIER --> S_LEARN[📖 学习域]:::studentDomain
    S_CLASSIFIER --> S_PRACTICE[✍️ 练习域]:::studentDomain
    S_CLASSIFIER --> S_QA[❓ 答疑域]:::studentDomain
    S_CLASSIFIER --> S_SELFTEST[📝 自测域]:::studentDomain
    S_CLASSIFIER -->|未识别| S_FALLBACK[🛡️ 学生兜底<br/>友好引导+趣闻]:::fallback

    S_LEARN --> SL_EXTRACT[学习参数提取<br/>kp/困惑/基础/偏好]:::process
    SL_EXTRACT --> SL_RAG[📚 知识点检索<br/>Top3 阈值0.5]:::tool
    SL_RAG --> SL_ROUTE{路径路由}:::decision
    SL_ROUTE -->|首轮| SL_CONCEPT[概念精讲]:::process
    SL_ROUTE -->|深入| SL_DEEP[深度解析]:::process
    SL_ROUTE -->|实操| SL_STEP[分步指导]:::process
    SL_ROUTE -->|其他| SL_LINK[知识串联]:::process
    SL_CONCEPT --> SL_VERIFY[示例代码验证<br/>Python3]:::tool
    SL_DEEP --> SL_VERIFY
    SL_STEP --> SL_VERIFY
    SL_LINK --> SL_VERIFY
    SL_VERIFY --> SL_RECORD[📊 学情记录<br/>变量赋值]:::process

    S_PRACTICE --> SP_GEN[练习题生成+代码验证]:::process
    S_QA --> SQ_ANSWER[精准答疑+RAG检索]:::process
    S_SELFTEST --> ST_TEST[自测题生成+评分反馈]:::process

    BK_REFINE --> REPLY
    JX_MERGE --> REPLY
    YJ_GP --> REPLY
    YJ_GA --> REPLY
    GL_COMM --> REPLY
    PJ_QUIZ --> REPLY
    PJ_COMMENT --> REPLY
    PJ_RUBRIC --> REPLY
    HW_REC --> REPLY
    YR_GEN --> REPLY
    T_FALLBACK --> REPLY
    SL_RECORD --> REPLY
    SP_GEN --> REPLY
    SQ_ANSWER --> REPLY
    ST_TEST --> REPLY
    S_FALLBACK --> REPLY

    REPLY([📤 统一回复节点<br/>✅Markdown ✅代码高亮<br/>✅引用溯源 ✅流式输出]):::reply

    linkStyle default stroke:#95a5a6,stroke-width:1.5px

设计要点一:参数提取是一切的下游

每个功能域的第一步不是生成内容,而是先提取结构化参数。比如备课域先抽 kp / lesson_hours / bloom_level / teach_method / prerequisite,学生域学习先抽 kp / confusion_type / prior_knowledge / preferred_style / is_first_ask

这样做有三个好处:

  1. 下游大模型拿到的是明确的结构化输入,而不是原始闲聊文本;
  2. 同一套参数可以复用到不同模型和检索节点;
  3. 后续做变量聚合、学情记录时有稳定的字段来源。

参数提取用轻量模型(gpt-4o-mini,温度 0.1)保证格式稳定,统一输出 JSON,节点之间靠变量名契约衔接。

设计要点二:RAG 与兜底双通道

备课、学习、育人三个域都有知识库检索节点,且都配了空数据检测

  • 检索命中 → 走「生成-RAG」路径,引用教材原文,输出带溯源;
  • 检索为空 → 走「生成-兜底」路径,靠模型通用知识生成,并明确标注"基于通用知识生成,建议核对教材"。

这套双通道设计避免了"检索不到就硬编"的幻觉问题,也让降级路径可被用户识别。

设计要点三:代码执行节点做真校验

教学域、评价域、学习域嵌入了 Python3 代码执行节点,不依赖模型"猜"代码是否正确:

  • 教学域:上传代码先做 AST 语法检查 + 教学要素检测(input/print/for/def/if 等关键词扫描,输出教学建议);
  • 评价域:学生代码跑用例匹配,按通过率计分;
  • 学习域:示例代码 exec 捕获 stdout 验证可运行性。

所有执行都带超时(5-10 秒)和输出截断(500 字符),避免资源耗尽。

设计要点四:多步精修与串行流程

教案生成后还有 教案多步精修 逐步节点(5 步串行):结构完整性 → 代码验证 → 实践时间占比(≥40%)→ 思政融入 → 课堂提问清单。作业批改也是 5 步:功能 → 规范 → 效率 → 注释 → 改进建议。

串行多步精修比"一步生成"更可控——每一轮只解决一类问题,质量可量化检查。

设计要点五:学生域按困惑类型分流

学生进来先分 4 域,学习域内再按 is_first_askconfusion_type 细分路径:

条件 路径
首次提问 概念精讲(生活类比 + 最简代码 + 逐行解读)
想深入 / 报错 深度解析(分层解析 + 对比实验)
不会用 分步实操指导(每步带自查点,不直接给完整代码)
其他 知识串联总结

"分步实操指导不直接给完整代码" 这条很关键——它把 AI 从"答题机"变成了"教练"。

统一回复与兜底

所有域最终汇聚到统一回复节点:Markdown 渲染 + 代码高亮 + 引用溯源 + 流式输出。分类器未识别时走兜底:教师端是通用教学助手,学生端是友好引导 + 编程趣闻,避免生硬拒绝。

小结

这套架构最值得借鉴的四个模式:

  1. 参数提取前置——结构化输入稳定下游行为;
  2. RAG 双通道 + 显式降级——检索不到不硬编;
  3. 代码执行真校验——用运行时事实替代模型猜测;
  4. 多步精修——把质量检查拆成可验证的串行步骤。

对教育场景来说,"不瞎编、可溯源、给步骤"比"答得快"重要得多。


🔒 查看原文:本文是导读版。完整版为《全量节点参数提取 & 提示词完整手册》(约 1600 行),包含全部节点的参数定义、System Prompt 原文与可执行代码,需访问密码解锁(由管理员为文章单独设置)。