我们先做了一个技术小实验,看看哪种 AI 方案真的值得继续。
我和机器学习工程师、教学质控、数据分析师一起做了一套小型评估集。里面有 60 份培训需求、4 家航司的脱敏资料、240 个权威知识片段、480 个课程块和 160 道题。我的工作是把“好课程”拆成一套可共同打分的标准。
| 方案 | 怎么做 | 内容有可靠依据 | 找到正确版本 | 输出格式正确 | 最慢响应 |
| 一次塞进全部资料 | 把所有文件和需求一起发给模型 | 61% | 54% | 73% | 96 秒 |
| 关键词搜索后生成 | 先搜 20 段文字,再交给模型 | 76% | 71% | 88% | 68 秒 |
| 混合检索后生成 | 先查权限,再做关键词和向量搜索,最后排序 | 91% | 89% | 98% | 42 秒 |
这个结果直接影响了设计。流程改成两步:先生成大纲和知识缺口,老师确认方向后,再按章节生成内容。这样一旦方向错了,不用等整门课生成完才发现。
我们要求模型按固定结构返回课程块
{
"block_id": "每个课程块自己的唯一 ID",
"learning_objective_id": "它对应哪个学习目标",
"block_type": "说明 / 情境 / 题目 / 讲师备注",
"airline_scope": ["适用航司"],
"aircraft_type": ["适用机型"],
"role_scope": ["适用岗位"],
"generated_text": "生成内容",
"source_refs": [
{"document_id":"资料 ID","version":"版本","page":42,"chunk_id":"片段 ID"}
],
"grounding_score": 0.94,
"risk_level": "风险等级",
"model_version": "模型版本",
"prompt_version": "提示词版本"
}
这为什么和 UX 有关:如果后端只返回一大段文字,界面就没法告诉老师哪一句来自哪里,也没法只改一小段、只重试一个章节,或者在以后还原当时的生成过程。