问题
让模型直接给答案,复杂问题上错误率明显偏高;更麻烦的是,答案错了你无从知道它哪一步想歪了——推理过程是黑盒。
核心模式
思维链(Chain-of-Thought):要求模型先输出推理过程,再给结论。"先想后说"既是准确率技巧,也是可观测性手段。
system = """处理复杂问题时,严格按以下结构输出:
【分析】拆解问题,列出已知条件与未知量
【推理】逐步推导,每步注明依据
【结论】最终答案,一句话说清
简单事实性问题直接回答,不要强行套用。"""
# 少样本示例比指令更有效:给 1-2 个完整 CoT 示范
few_shot = [example_q, example_with_reasoning_a]
进阶变体:自我一致(Self-Consistency)——同一问题采样多条推理路径,多数投票定结论,用成本换稳定性。
实战要点
- 先想清楚"哪些任务值得 CoT":数学/逻辑/多步规划收益大,简单检索类任务加 CoT 纯属浪费 token
- 推理过程别直接展示给终端用户:内部 CoT 辅助决策,对外只呈现结论与要点(用户不想看你碎碎念)
- 新一代推理模型(o 系/R 系)已内建思维链,对它们重复"请一步步思考"是多余的——模式价值在于理解原理,不在于教条套用
- CoT 是 Agent 排障的金矿:决策轨迹落日志,事后审计能定位"它当时为什么这么决定"