"""
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 岁。"
    ),
)
