首页/AI/提示词工程速查/推理与答案分区输出
模式与框架50 条

推理与答案分区输出

用固定标签把推理过程与最终答案分开(如 <reasoning> 与 <answer>),便于程序精确提取答案,也便于控制展示内容。

提示词工程速查AI更新于 2026-10-13

推理与答案分区输出

做法是用固定标签把推理过程与最终答案分开,例如 <reasoning> 与 <answer>。好处有两个:程序只需要定位 answer 区块取内容,不必从整段文字里猜哪个数字才是答案;面向用户的界面可以只展示 answer,推理留给日志与排查。这是把推理类任务接进工程流水线时最省事的一种结构,也是避免把中间量当结论的直接办法。

要点

解析程序先定位 <answer> 区块,只用其中内容,避免把推理里的数字误当答案
展示面向用户的界面只展示 answer 区块,reasoning 留给日志
加固再补一句「答案只出现在 answer 区块」,减少内容被写错位置
标签命名选择不易与正文混淆的标签,避免实际内容里出现同名串
兜底解析不到标签时按失败处理并重试,不要退回正则抓数字

典型使用场景

  • 数值问答:中间计算与最终数值分开,避免取错
  • 决策建议:推理与结论分区,只把结论推送给业务方
  • 评测场景:评分器只看 answer 区块,减少推理文本的干扰
  • 多步流程:上一步的 answer 作为下一步的输入,结构稳定
  • 日志留痕:reasoning 入日志库,便于复盘模型思路

标签模板

标签模板
请按以下结构输出:
<reasoning>
(推理过程,可分点,不超过 200 字)      # 控制长度,避免挤占答案预算
</reasoning>
<answer>
(最终答案,一句话)                      # 只写结论,不重复推理内容
</answer>

分区方式的取舍

方式优点注意
标签分区一次调用即可,解析简单标签被正文伪造时可能提前闭合
两次调用答案提取最干净成本与延迟翻倍
JSON 字段推理与答案各占一个字段,解析最稳需平台支持结构化输出或严格约定
前缀标记如「答案:」,书写最简正文里若再次出现该标记,定位会出错
标签名要唯一且不常见:若正文里可能自然出现 </answer>,解析前先做同名串剔除,或改用 JSON 字段承载。

易错点

  • 标签名与正文内容冲突,解析时定位到错误的闭合位置,取到半截答案
  • 没有写明答案只出现在 answer 区块,模型把结论留在推理段里,answer 为空
  • 解析不到标签时改用正则抓数字,把推理途中的中间量当成最终答案
  • 推理区块不设长度上限,思考过程吃掉输出预算,答案被截断
  • 对外展示时把整段输出推给用户,推理过程中的不确定表述被当成结论

数据来源与参考

  • Anthropic 提示文档:使用 XML 标签结构化输出
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌