💻 源码
"""
演示题库。

第 1 题(小数比较)最适合展示 CoT 价值:无 CoT 易答错,有 CoT 易答对。
第 2、3 题主要展示「有无分步推理」的格式差异。

可自行添加 DemoQuestion 做扩展实验。
"""

from dataclasses import dataclass


@dataclass(frozen=True)
class DemoQuestion:
    title: str
    question: str
    expected_answer: str
    why_hard: str


DEMO_QUESTIONS: list[DemoQuestion] = [
    DemoQuestion(
        title="小数比较陷阱",
        question="9.9 和 9.10 谁大?",
        expected_answer="9.9 更大",
        why_hard="很多人看到 9.10 有两位小数,会误以为比 9.9 大。",
    ),
    DemoQuestion(
        title="乘法优先级陷阱",
        question="罗杰有 5 个网球,他又买了 2 罐网球,每罐 3 个。他现在一共有多少个网球?",
        expected_answer="11 个",
        why_hard="不展开推理时,容易算成 5 + 2 + 3 = 10。",
    ),
    DemoQuestion(
        title="多条件计数题",
        question=(
            "一个杂耍者能同时抛起 16 个球。"
            "其中一半的球是高尔夫球,而这些高尔夫球中有一半是蓝色的。"
            "请问蓝色的高尔夫球有多少个?"
        ),
        expected_answer="4 个",
        why_hard="需要先算 16÷2=8,再算 8÷2=4,跳步时很容易口算错。",
    ),
]