"""
Few-shot CoT 主题目:课程经典年龄推理题。
>>> 老师 / 学生找题目:看本文件 MAIN_QUESTION(下面约第 22 行)
>>> 更多说明:docs/项目说明.md 第二节「题目全文」
这道题适合课堂演示,因为:
- 无 CoT 时模型常把「妹妹当时是一半」误解成「妹妹现在也是一半」
- 零样本 CoT 有时能答对,但推理格式不稳定
- Few-shot CoT 能同时教会「怎么想」和「怎么写」
"""
from dataclasses import dataclass
@dataclass(frozen=True)
class TargetQuestion:
title: str
question: str
expected_answer: str
common_mistake: str
correct_reasoning: str
MAIN_QUESTION = TargetQuestion(
title="年龄差推理 · 课堂重点题",
question=(
"当小明 6 岁时,他的妹妹年龄是他的一半。他的哥哥比小明大 4 岁。"
"现在小明 70 岁了,请问他的妹妹和哥哥年龄加起来是多少?"
),
expected_answer="141 岁",
common_mistake=(
"把「妹妹 6 岁时是小明的一半」理解成「妹妹现在也是 70 的一半 = 35 岁」,"
"忽略了年龄差恒定这一关键条件。"
),
correct_reasoning=(
"1. 小明 6 岁时,妹妹 3 岁,年龄差 3 岁;\n"
"2. 哥哥比小明大 4 岁,年龄差 4 岁;\n"
"3. 小明现在 70 岁 → 妹妹 67 岁,哥哥 74 岁;\n"
"4. 67 + 74 = 141 岁。"
),
)