---
source: ../../../core/anti-sycophancy-prompting.md
source_version: 1.0.0
translation_version: 1.0.0
last_synced: 2026-04-20
status: current
---

# 防迎合提示词设计标准

> **语言**: [English](../../../core/anti-sycophancy-prompting.md) | 简体中文

**版本**: 1.0.0
**最后更新**: 2026-04-15
**适用范围**: 所有 AI Agent 实现与 LLM Prompt 设计
**Scope**: universal
**业界标准**: 无（UDS 原创，参考 RLHF 迎合性研究）

---

## 目的

本标准定义一套技法与规则，用于设计能让 LLM 给出真实、批判性回应的提示词，而非迎合使用者的隐含偏好。

LLM 的迎合性源自 RLHF 训练目标：人类评分者倾向于给予令人愉快的回应高分，导致模型将「让使用者满意」置于「准确性」之上。

---

## 核心技法

### 1. Socratic 反诘框架（REQ-1）

将任务从「评估我的想法」改为「攻击我的想法」，消除迎合诱因。

| 应该做 | 不应该做 |
|--------|----------|
| ✅ 要求列出最致命的 3 个质疑 | ❌ 问「这个想法好吗？」 |
| ✅ 每个质疑必须有技术依据 | ❌ 允许模糊的正向框架 |
| ✅ 明确禁止正向开场词语 | ❌ 接受「很好的想法，但是...」模式 |

**Prompt 模板**：
```
不要评估好坏。
针对以下想法，列出最致命的 3 个质疑：[你的想法]
每个质疑必须有技术依据，且让我无法轻易反驳。
```

---

### 2. 先问立场防锚定协议（REQ-2）

在使用者揭示立场前先取得 LLM 的独立判断，防止锚定效应。

| 步骤 | 动作 |
|------|------|
| 1 | 在未揭示偏好的情况下询问中立比较 |
| 2 | 取得独立判断 |
| 3 | 揭示使用者立场 |
| 4 | 若模型改变立场，要求提出明确的技术理由 |

**工作流程**：
```
回合 1：「针对 [情境]，[A] 和 [B] 哪个更好？」
→ 等待独立判断

回合 2：「我倾向 [A]。这改变你的评估吗？为什么？」
→ 模型若改口必须以技术事实为依据
```

---

### 3. 强制双栏对称输出（REQ-3）

用格式约束强迫呈现对立观点的平衡。

**必要格式**：
```
| 支持这个决策的论点 | 反对这个决策的论点 |
|-------------------|-------------------|
| [同等份量的内容]   | [同等份量的内容]   |

净建议：[必须明确表态，可以是「建议反对」]
```

**规则**：
- 两栏字数差距不超过 20%
- 净建议必须明确，可以是否定的
- 模型不得借由填充一栏来规避格式

---

### 4. 信心度与不确定性标记（REQ-4）

要求在所有建议上附加信心评分，呈现不确定性。

**格式**：
```
建议：[具体行动]
信心：[1-5] — [不确定性原因]
未知：[哪些信息会改变这个评估]
```

**信心度定义**：

| 等级 | 意义 |
|------|------|
| 5 | 已在类似规模验证，高确定性 |
| 4 | 业界标准，有充分文献支持 |
| 3 | 合理推断，建议 PoC 验证 |
| 2 | 不确定，强烈建议先进行 Spike |
| 1 | 高度不确定，不建议直接采用 |

**规则**：
- 信心 < 3 必须标示「需要更多信息才能确认」
- 所有重要主张都需要信心标记
- 不确定性必须具体（说明哪些信息可以解决不确定性）

---

### 5. 迎合性回应启发式检测（REQ-5）

用于检测迎合性回应的启发式规则，可用于自动化后处理。

| 信号类型 | 检测规则 |
|----------|----------|
| 正向开场 | 回应前 50 个 token 包含迎合性词语（如「很好」「有趣」「当然」「当然可以」） |
| 立场翻转 | 使用者揭示偏好后，模型在没有新技术证据的情况下改变立场 |
| 风险淡化 | 句式：「虽然有些小问题，但整体上...」而未说明具体问题 |
| 缺乏量化 | 重要建议缺少信心评分或具体度量指标 |

**触发条件**：检测到 2 个以上信号 → 以 Red Team 框架触发再评估。

---

## 禁止行为

| 禁止 | 正确做法 |
|------|----------|
| 以正向肯定开场批评 | 直接从分析开始 |
| 在无新技术证据的情况下改变立场 | 维持立场，或引用具体的新信息 |
| 在无依据的情况下将风险描述为「小问题」 | 量化风险或解释为何风险有界 |
| 提供重要建议却不附信心评分 | 始终附上信心（1-5）与不确定性说明 |

---

## 与 Agent Prompt 的整合

套用至 AI Agent 时：

| Agent 类型 | 套用规则 |
|------------|----------|
| 代码审查 Agent | REQ-1（Socratic）+ REQ-3（双栏）+ REQ-5（检测） |
| 架构建议 Agent | REQ-2（先问立场）+ REQ-4（信心度）+ REQ-5（检测） |
| Bug 分析 Agent | REQ-1（Socratic）+ REQ-4（信心度） |
| 一般咨询 Agent | REQ-3（双栏）+ REQ-4（信心度） |

---

## 完整防迎合 Prompt 模板

```
你是一位对我毫无感情的领域专家。
你的职责是找出我思考中的盲点，不是让我感觉良好。

规则：
- 禁止以正向词语开场（很好、有趣、不错、当然）
- 每个建议必须附上信心等级（1-5）和你不确定的地方
- 若你认为我的方向是错的，直接说

我的问题：[问题]

请先列出这个问题中我可能持有的错误假设，
再给出你认为正确的建议。
```

---

## 检查清单

- [ ] 提示词未邀请认同（「这样好吗？」）
- [ ] 明确禁止正向开场词语
- [ ] 在揭示使用者偏好前先取得模型的独立立场（若适用）
- [ ] 评估任务强制使用双栏格式
- [ ] 重要建议需要信心等级
- [ ] 对输出套用迎合性检测，再呈现给使用者

---

## 相关标准

- [anti-hallucination.md](../../../core/anti-hallucination.md) — 防止幻觉；与防迎合互补
- [agent-epistemic-calibration.md](../../../core/agent-epistemic-calibration.md) — Agent 设计中的认知谦逊（若适用）
