命题组卷(waiyan-exam)
核心原则(用户定稿,2026-09-05)
- 出卷重点可提前设定:用户在出卷前给定侧重(如"侧重完形和阅读""语法重点考 be 动词和 like doing""书面表达落在自我介绍话题"),逐条落进试卷蓝图和题目,不可遗漏
- 初稿必审:整卷必须先给题目初稿(对话内展示),用户可改题、换题;用户挑选的文本材料可直接替换进阅读/完形并围绕新文本重写题目
- 默认单元话题:语篇选材优先落在本单元话题内;用户点名其他话题时从其要求
- 确认后才渲染:用户说"可以/没问题/定稿"后才跑 make_exam.js 出 docx
- 用户带初一:试卷难度对齐初一起点(Starter 阶段尤甚),题型用中考框架但难度降档
组卷流程
第 1 步:需求确认
向用户确认(或从上下文判断):
- 用途:单元测试 / 期中 / 期末 / 中考模拟
- 范围:哪个单元(或多单元/全册)
- 时长与分值:默认 60 分钟 / 满分 100
- 出卷重点(用户提前设定):题型侧重、语法/词汇考点、话题、难度比例(易:中:难 默认 7:2:1)
- 是否含听力:含则记下题量,音频第 4 步衔接生成
第 2 步:题型蓝图(先给用户过目)
给出题型结构分值表(题型 / 题量 / 分值 / 考点分布),确认后再动笔出题。参考框架(初一单元卷):
| 大题 | 题型 | 题量×分值 | 小计 |
|---|---|---|---|
| 一 | 听力理解(对话+短文) | 5×4 | 20 |
| 二 | 单项选择 | 5×2 | 10 |
| 三 | 完形填空 | 5×2 | 10 |
| 四 | 阅读理解(1篇) | 5×2 | 10 |
| 五 | 补全对话(情境交际) | 5×2 | 10 |
| 六 | 词汇运用 | 5×2 | 10 |
| 七 | 书面表达 | 1×20 | 20 |
(期中/期末/模拟卷按中考框架放大:阅读 2-3 篇、完形 10 空、听力 20 分起)
第 3 步:出题初稿(对话内审稿)
- 逐大题给出题目(或先给语篇材料再给题),教师用
- 用户提出的修改(换题/换材料/调难度)在这一步完成,改完再整体过一遍
- 出题规范见下节
第 4 步:渲染 Word(确认后)
- 写试卷 JSON(exam.json,格式见下)
- 渲染:
# node:本机可用的 node(无需 NODE_PATH,脚本自带依赖自愈)
node scripts/make_exam.js --json exam.json --out 试卷_前缀
- 听力音频:听力题文本写成 manifest,用
waiyan-listening生成(读两遍规则等按技能③;对话材料默认读两遍) - 输出
{out}.docx(学生卷)+{out}_教师卷.docx(教师卷 = 学生卷 + 答案 + 逐题解析)
- 学生卷的卷面和文件名都不带「学生卷」字样(用户定稿 2026-09-05)——发给学生看的卷子就是一张干净的试卷,只有教师卷带身份标签和后缀
出题规范
- 语篇选材:默认单元话题,贴近学生生活;初一卷生词率控制(可过 vocab_scan 自查),超纲词给中文注释
- 单项选择:语境化命题(对话/句子情境),不是孤立语法;覆盖研读报告定位的语法点
- 完形填空:初一 60-80 词叙事短文,5 空考词汇/固定搭配/语境衔接
- 阅读理解:细节理解为主 + 1 题推断;题干选项词汇不超当册
- 补全对话:真实交际情境(打招呼/介绍/询问),贴合单元功能句
- 词汇运用:用所给词适当形式填空 / 根据首字母或中文提示
- 书面表达:给足支架(要点提示 + 开头句/例句框架),话题落单元主题
- 每题必有解析(教师卷):说清考什么、为什么、易错点,说人话
试卷 JSON 格式
{
"title": "七年级上册 Starter 单元测试卷",
"subtitle": "话题:结交新朋友,开启初中生活",
"duration": "60分钟",
"total": 100,
"note": "听力部分材料读两遍;听力音频另行生成",
"sections": [
{
"name": "一、听力理解(共5小题;每小题4分,满分20分)",
"directions": "听下面3段对话和1篇短文,每段材料读两遍。从每小题所给的A、B、C三个选项中选出最佳答案。",
"items": [
{"no": 1, "stem": "What's the boy's name?\nA. Li Ming. B. Li Hua. C. Li Lei.",
"material": "W: Hi! Are you Li Ming?\nM: No, I'm Li Hua. Nice to meet you!",
"answer": "B",
"explain": "女士问 Are you Li Ming,男士回答 No, I'm Li Hua,可知男孩叫 Li Hua。"}
]
}
]
}
material:听力原文/完形语篇原文(教师卷展示,学生卷不出现);阅读理解把语篇放在 section 级passage字段options直接写进 stem(换行分隔),______表示填空位- 书面表达 type 用
writing,stem 里给题目要求+要点+支架,教师版给范文(answer= 范文,explain= 评分要点)
衔接关系
- 上游:
waiyan-lesson-plan(教案技能,含语篇研读)的语法点定位和生词扫描(控制语篇难度) - 平级:听力音频 →
waiyan-listening(读两遍);某语法点想加大题量 →waiyan-grammar - 下游:教师卷解析可直接进讲评课件
注意事项
- 答案正确性和选项干扰项合理性由模型出题时保证,脚本不校验——交付前逐题自查
- exam.json 的中文解析文本里不要用英文双引号(会破坏 JSON 结构,本次实测踩过)——引用词语用中文引号「“”」
- 学生卷零答案泄漏(
material、answer、explain只进教师卷);卷面与文件名均不出现「学生卷」字样 - 渲染后程序化检查:zip 良构 + 学生卷关键词泄漏扫描(“答案”“解析”“学 生 卷”)