Rephrase and Respond

prompt提示词2026年6月7日2

Rephrase and Respond(RaR,Deng et al., 2023)的核心思想是:先把用户问题“改写得更清楚、更完整、更可回答”,再回答。它通常能提升效果的原因是:很多用户问题本身不够精确(隐含约束、缺少目标、术语不统一、范围不清),模型先“自我澄清/自我展开”后,更容易走到正确解。

RaR 可以 单轮完成(在一个提示里先改写再回答),也可以 两轮链式(先输出改写问题,再把改写问题喂给下一轮回答)。


1) 适用场景

RaR 在这些场景特别常见、也更容易看到提升:

  • 含糊/口语化问题:如“怎么优化一下”“为啥不行”“帮我看看”。
  • 复杂任务请求:需要模型先补齐任务规格(目标、输入、输出、限制、评价标准)。
  • 技术问答/排障:先把问题改写成“可诊断的工单”,再逐步排查。
  • 学习与解题:先把题目重述成“已知/所求/条件”,再解答(减少漏条件)。
  • RAG 检索前:把用户口语问法改写成更适合检索的 query(与 S2A 类似,但 RaR更强调“扩写补全”,S2A更强调“删噪净化”)。

2) 两种典型写法(模板可复制)

写法 A:单轮(同一次输出中先改写再回答)

适合:交互简单、成本敏感、允许模型自己在输出中展示“改写版本”。

模板:

任务:请先“改写并扩展”用户问题,使其更具体、无歧义、包含必要约束;然后再回答。
要求:

  1. 输出“Rephrased question”(改写后的问题)
  2. 输出“Answer”(最终回答)
  3. 若信息不足,列出最多 3 个需要澄清的问题(Clarifying questions)
    用户问题:{原问题}

写法 B:两轮(推荐用于工程管线)

适合:你希望把“改写问题”用于检索、路由、工具调用,或希望更稳定可控。

Prompt 1(Rephrase):

你是“问题改写器”。将用户问题改写并扩展为一个可直接执行/可直接回答的版本:

  • 补齐隐含目标与关键约束(不要编造事实)
  • 用更明确的术语、补全上下文中缺失但必要的信息为“待确认项”
    输出 JSON:
    {"rephrased": "...", "assumptions": ["..."], "clarifications": ["..."]}

Prompt 2(Respond):

你是“解答器”。仅基于 rephrased 与 assumptions 回答;如 clarifications 非空,先提问澄清,再给出在不同假设下的答案分支。


3) 场景例子 1:技术排障(RaR 很常用)

原始问题:

我的网站突然变慢了,怎么回事?

RaR 改写(示例):

  • Rephrased question:
    “一个线上网站近期响应变慢。请给出系统化排查步骤,覆盖:是否是流量激增、数据库慢查询、缓存命中下降、外部依赖变慢、服务器资源瓶颈、近期发布变更。并说明每一步要看哪些指标/日志,以及如何定位到根因。”
  • Clarifying questions:
    1. 变慢从什么时候开始?是否有发布/配置变更?
    2. 主要慢在首字节 TTFB 还是前端渲染?
    3. 后端语言/框架、是否有 APM(如 SkyWalking/NewRelic)?

Respond(回答会更像 SRE runbook):

  • 先看监控:QPS、P95/P99、错误率、CPU/内存、连接数
  • 分层定位:CDN/网关 → 应用 → DB → 外部依赖
  • 给出慢查询、缓存、线程池、连接池、GC 等具体检查项

对比直接回答“可能是服务器慢/网络问题”,RaR 往往让输出更系统、可执行。


4) 场景例子 2:学习题/数学题(补齐“已知-所求-条件”)

原始问题:

一个水池放水进水,多久能满?

RaR 改写(示例):

  • Rephrased question:
    “已知水池容量为 C。进水管流量 a(单位:L/min),出水管流量 b(L/min),初始水量为 V0。若 a>b,求水池注满所需时间 t,并给出公式;若 a≤b,说明为什么无法注满。”
  • Clarifying questions:容量 C、a、b、V0 分别是多少?是否同时开启?

Respond:

  • t = (C - V0) / (a - b),并给单位与边界条件

5) 场景例子 3:写作需求(把“随口一句”变成可交付规格)

原始问题:

帮我写个产品介绍。

RaR 改写:

  • Rephrased question:
    “为产品 X 写一段面向 {目标用户} 的产品介绍,用于 {渠道:官网/电商详情页/路演}。需要包含:核心卖点 3 条、适用场景 2 个、与竞品差异 1 条、价格/试用信息(如有),语气 {专业/活泼},字数 {范围}。”
  • Clarifications:产品是什么?目标用户是谁?渠道?卖点?

这样做能显著减少“写出来不对味、来回返工”。


6) RaR 的注意事项(常见坑)

  • “扩展”不等于“编造”:要明确要求“不增加未给出的事实”,缺的信息放到 clarifications/assumptions。
  • 可能变啰嗦:加约束“改写不超过 X 字;回答先给结论后给细节”。
  • 与 S2A 的区别:
    • S2A:先删掉无关信息、做“净化”。
    • RaR:先把问题“补全与明确化”。
      两者可组合:先 S2A 去噪,再 RaR 补全成可执行问题(尤其对长输入很有效)。

如果你给我一个你真实的“用户问题样例”(越口语越好),我可以用 RaR 帮你做:

  1. 改写版问题(适合回答/适合检索两种),2) 最终回答版输出模板,3) 可直接用于产品的两段 Prompt。