Reasoning Prompts
reasoning prompts(overview)
这一节整理用于测试与提升 reasoning 能力的 prompts。核心目标不是输出“很长的推理”,而是在约束条件下给出可验证的结论。
什么是 Reasoning Prompt?
Reasoning Prompt 通过明确目标、边界条件与输出格式,让模型完成逻辑判断、因果推断或策略选择,并保证结论可复核。
┌─────────────────────────────────────────────────────────────┐
│ Reasoning Prompt 流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 条件输入 → 规则/约束 → 推理判断 → 结论验证 │
│ (已知信息) (不能假设) (给出依据) (可复核) │
│ │
└─────────────────────────────────────────────────────────────┘
学习路径(建议顺序)
- 入门:学会用固定格式输出结论 + 依据
- 进阶:在约束条件下做选择或判断
- 实战:把业务场景拆成可验证条件
为什么 Reasoning 很重要?
| 应用场景 | 具体用途 | 业务价值 |
|---|---|---|
| 业务决策 | 资源分配、优先级排序 | 降低决策风险 |
| 产品策略 | A/B 方案选择、路径优化 | 提高成功率 |
| 风险控制 | 条件判断、例外处理 | 降低错误 |
| 教育训练 | 逻辑题、证明题 | 提升思维质量 |
| 运营分析 | 归因判断、异常解释 | 形成可复用结论 |
业务产出(PM 视角)
使用 Reasoning Prompt 后,你可以直接产出:
- 决策说明:结论 + 依据(可用于对齐团队)
- 风险判断:在限制条件下的可验证结论
- 可复用模板:同类问题直接替换条件使用
完成标准(建议):
- 读完本页 + 完成 1 个练习 + 做 1 次自检
Reasoning 常见类型
| 类型 | 典型问题 | Prompt 重点 |
|---|---|---|
| 条件推理 | 条件成立/不成立 | 结论 + 依据 |
| 因果推断 | 影响因素分析 | 条件对比 |
| 约束选择 | 在限制内选最优 | 约束清晰 |
| 逻辑证明 | 反证/归纳 | 规则完整 |
| 反事实推理 | 如果改变某条件会怎样 | 假设可控 |
核心 Prompt 结构
一个稳定的 Reasoning Prompt 应包含:
目标:给出最终结论
条件:必须基于给定条件,不引入假设
格式:结论 + 关键依据(最多 3 条)
输入:题目/场景
通用模板
你是严谨的逻辑分析师。请基于以下条件给出结论。
条件:
{conditions}
问题:
{question}
要求:
1) 仅使用给定条件
2) 结论必须可验证
3) 输出格式固定
输出格式:
- 结论:
- 依据:1-3 条
迁移模板(替换变量即可复用)
条件:
1) {condition_1}
2) {condition_2}
3) {condition_3}
问题:
{question}
输出:
- 结论:
- 依据:1-3 条
Quick Start:判断题
Prompt:
请根据以下条件判断结论是否成立,并给出 3 条以内依据。
条件:
1) 所有 A 都是 B
2) 部分 B 是 C
结论:
存在 A 是 C
输出格式:
- 结论:成立/不成立
- 依据:1-3 条
Output:
- 结论:不成立
- 依据:
1) 只有部分 B 是 C,无法保证 A 属于这部分 B
示例 1:业务决策(约束选择)
场景:营销渠道选择
Prompt:
你是运营负责人,请在约束条件下做出决策。
约束:
- 预算 5 万
- 只能选 2 个渠道
- 目标是拉新
候选渠道:
1) 直播投流:转化高但波动大
2) 线下地推:稳定但成本高
3) 内容投放:慢热但可复用
输出:
- 选择:
- 理由(不超过 3 条):
示例 2:因果推断(数据解释)
场景:转化率下降分析
Prompt:
你是数据分析师,请基于条件判断最可能原因。
条件:
1) 最近一周广告点击率上升 15%
2) 落地页加载速度变慢 2 秒
3) 购买转化率下降 10%
问题:转化率下降的最可能原因是什么?
输出:
- 结论:
- 依据(1-3 条):
示例 3:规则冲突处理
场景:客服工单优先级
Prompt:
根据以下规则判断工单优先级。
规则:
- 影响用户数 > 1000:高
- 涉及支付问题:高
- 仅 UI 问题:低
工单描述:支付成功但页面样式错位,影响约 50 名用户。
输出:
- 优先级:
- 依据(不超过 3 条):
示例 4:反事实推理
场景:策略变更影响
Prompt:
假设我们把免运费门槛从 $50 提升到 $80,会对以下指标产生什么影响?
已知:
- 当前平均订单金额 $55
- 30% 用户刚好在 $50-$80 区间
- 客单价越高,复购率越低
输出:
- 可能影响:
- 依据(1-3 条):
自检清单(提交前自查)
- 结论是否只基于给定条件?
- 依据是否可验证、可复核?
- 是否引入了额外假设?
- 输出格式是否稳定、可解析?
进阶技巧
- 限制依据条数:降低模型发散。
- 禁止额外假设:把“只基于条件”写进规则。
- 固定输出字段:便于自动化解析。
- 加入对照条件:引导模型做因果分离。
- 设置验证问题:例如“结论是否与条件矛盾?”
常见问题与解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 结论模糊 | 目标不明确 | 明确输出格式 |
| 解释过长 | 未限制条数 | 限制依据 1-3 条 |
| 引入假设 | 条件不严 | 加“不得假设”约束 |
| 跑题 | 输出字段不固定 | 固定字段顺序 |
| 无法验证 | 条件不足 | 要求先提出缺失条件 |
API 调用示例
Python (OpenAI)
from openai import OpenAI
client = OpenAI()
def reasoning_decision(conditions: str, question: str) -> str:
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": "你是严谨的逻辑分析师,只能基于给定条件推理。"
},
{
"role": "user",
"content": f"""条件:{conditions}
问题:{question}
输出格式:
- 结论:
- 依据:"""
}
],
temperature=0,
max_tokens=200
)
return response.choices[0].message.content.strip()
print(reasoning_decision("所有 A 都是 B;部分 B 是 C", "是否存在 A 是 C?"))
Python (Claude)
import anthropic
client = anthropic.Anthropic()
def reasoning_decision(conditions: str, question: str) -> str:
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=200,
messages=[
{
"role": "user",
"content": f"""你是逻辑分析师。
要求:仅基于条件推理,不引入假设。
条件:{conditions}
问题:{question}
输出:
- 结论:
- 依据:"""
}
]
)
return message.content[0].text.strip()
print(reasoning_decision("预算 5 万,只能选 2 个渠道", "选择哪两个?"))
动手练习
练习 1:条件判断
条件:
1) 所有开发人员都会写代码
2) 部分写代码的人会写测试
结论:所有开发人员都会写测试
输出格式:
- 结论:
- 依据:
练习 2:业务选择
约束:
- 预算 10 万
- 必须在 2 周内见效
候选方案:
1) SEM 投放:见效快,成本高
2) 内容营销:见效慢,可复用
3) 线下活动:成本高,周期长
输出:
- 选择:
- 理由(<=3 条):
练习 3:反事实推理
假设把订阅价格从 $9.9 提升到 $12.9,会对留存产生怎样的影响?
已知:
- 价格敏感用户占比 40%
- 提价后收入可提升 20%
输出:
- 可能影响:
- 依据:
练习评分标准(学生自评)
| 维度 | 合格标准 |
|---|---|
| 结论清晰 | 一句话能判断对/错或选项 |
| 依据可验证 | 每条依据能回溯到条件 |
| 无额外假设 | 未引入题外信息 |
| 格式稳定 | 输出字段一致 |
相关阅读
小结
- Reasoning Prompt 的关键是约束 + 可验证。
- 固定输出格式,便于自动化处理。
- 限制依据条数,避免发散推理。
- 不足条件要先补齐,再做结论。
- 通过练习建立可复用模板库。