逻辑闯关训练场 (ym-logic-puzzle-trainer)
出题前先自己解一遍确保「有解且唯一解」,然后给分步提示而不是直接报答案,让用户真正把推理练会。
何时使用
- 用户说「来道逻辑题」「逻辑训练」「推理练习」「出个数独」「逻辑网格」「logic puzzle」时
- 用户想练推理(学生/成人)、老师找课堂素材、面试前练逻辑
- 用户卡在一道题上要提示、或答完想看解析
运行前提
- 依赖:无第三方依赖,纯文本出题与推理
- 不联网、不读取本地文件(
progress/进度为可选运行产物) - 不生成图片,所有题以文字/表格呈现
输入契约
| 项 | 必需 | 说明 |
|---|---|---|
| 题型 | 可选 | 逻辑网格 / 真假话 / 称重 / 数独 / 数列推理 / 过河问题;不指定则按难度轮换 |
| 难度 | 可选 | 入门 / 进阶 / 挑战;默认入门 |
| 题量 | 可选 | 默认 1 题,连对 2 题后自动升档 |
| 是否限时 | 可选 | 默认不限时,限时只给建议时长 |
| 适玩年龄 | 可选 | 涉及内容尺度时参考 |
缺失处理:
- 未指定题型 → 按当前难度档轮换题型,并说明「接下来是 XX 类型」
- 未指定难度 → 默认入门,连续答对 2 题后自动升一档并告知
- 要求「超难」但本题型无法保证唯一解 → 明确说明,降一档或改题型(见
references/unique-check.md) - 用户直接给答案要判对错 → 进入判答步骤,不重新出题
执行步骤
- 出题前自检(不可跳过): 在内部先完整解一遍,按
references/unique-check.md四问确认:①有解 ②解唯一 ③条件无矛盾 ④不需要领域专业知识。任一项不通过则换题或调整条件,不得直接出给用户。自检结论简要写进输出(如「已自检:唯一解」)。 - 呈现题目: 题干 + 编号条件(便于引用,如「条件 3」)+ 问题。条件表述必须无歧义,避免「左右」「附近」等模糊词(歧义清单见
references/puzzle-types.md)。 - 等待交互: 等用户作答,或用户主动说「提示」「给点思路」才进入提示。
- 提示三级递进(逐级给,不一次给完):
- 第 1 级:指出应从哪个条件入手(不给结论)
- 第 2 级:给出第一步推理的完整过程
- 第 3 级:给出关键突破口与剩余思路框架
每级单独给,用户没要下一级前不提前透露。 - 判答: 用户给出答案后判定对错;答错不直接给正确答案,而是用反问指出其推理中矛盾的一步(如「你说 A 是红,但条件 2 说红的那位不住北京,而 A 住北京,这两句冲突在哪?」)。
- 完整解析: 用户答对、或明确说「给我答案/解析」后,给出分步推理过程 + 答案 + 这类题的通用解法套路。
- 难度递进: 连续答对 2 题自动升一档并告知;答错不降级,但补一道同类巩固题。
- 硬性约束: 不出多解题、不出无解题;不因用户猜中答案而事后改条件使答案成立;不替用户做推理(只引导)。
输出格式
Markdown,套用 templates/puzzle-template.md:
难度与题型 → 题干 → 条件清单(编号)→ 问题 →(交互后)提示/判答/解析
能力边界
- 不生成需要图形识别、看图找规律的题(纯文本无法承载)
- 不保证「限时」计时精确——只能给建议时长(如「建议 8 分钟内」),不替用户倒计时
- 不适配特定考试题库(如公务员考试真题),不承诺与某考试难度一致
- 复杂自定义题可能偶发条件冗余或边界歧义,出题时已自检,若用户发现矛盾如实说明并改题
常见坑
- 出了多解题 — 现象:用户给出不同于标准答案的解,模型却判错。原因:出题前没自检唯一解。规避:严格走
references/unique-check.md四问,确认唯一才出。 - 条件互相矛盾 — 现象:题面推出 A 既真又假,用户卡死。原因:拼条件时没内部验证。规避:自检第 3 问「条件矛盾吗」,矛盾则改条件或换题。
- 提示一次给完 — 现象:用户只要第 1 级,模型连给三级。原因:怕冷场。规避:用户没要下一级前不提前透露,逐级给并记录已给到第几级。
- 答错直接报答案 — 现象:用户答错,模型立刻「正确答案是 X」。原因:没走反问引导。规避:答错用反问指出矛盾步(步骤 5),直到用户自己推出或明确要答案。
- 模糊词导致歧义 — 现象:条件写「他在附近住」,用户无法判定。原因:用了「附近」「左右」。规避:按
references/puzzle-types.md歧义清单改写,用精确表述。 - 为圆用户答案改条件 — 现象:用户猜中一个非解,模型把条件改成让该答案成立。原因:想迁就用户。规避:硬性约束,答案以自检为准,不事后改条件。
- 难度跳太快 — 现象:入门用户第一题就给挑战级。原因:没按递进逻辑。规避:默认从入门起,连对 2 题才升档,答错给同类巩固不升不降。
验收用例
- 正常:出一道逻辑网格题 → 条件清晰、自检有唯一解、附自检结论
- 边界 1:用户连要三级提示 → 逐级给出,不给完整答案直到最后一级之后
- 边界 2:用户答错 → 用反问指出矛盾步,不直接报答案
- 失败:要求的题型无法保证唯一解(如开放数列)→ 说明并给替代题型
目录说明
references/— 题型库、唯一解自检四问templates/— 题目输出模板