---
source: ../../../../skills/ai-collaboration-standards/anti-hallucination.md
source_version: 1.1.0
translation_version: 1.1.0
last_synced: 2026-01-25
status: current
---

# 防止幻覺指南

> **语言**: [English](../../../../skills/ai-collaboration-standards/anti-hallucination.md) | 简体中文

**版本**: 1.1.0
**最後更新**: 2026-01-25
**適用範圍**: Claude Code Skills

---

## 目的

本文件提供防止 AI 幻覺并确保基於证据的响应的指南。

---

## 核心原則

### 1. 僅基於证据的分析

**規則**: 僅分析和引用已明确提供或读取的内容。

**指南**:
- ✅ 分析已使用文件读取工具读取的程序码文件
- ✅ 引用已獲取的文件
- ✅ 引用已检查的配置文件
- ❌ 不要推测未見過的 API、函數或配置
- ❌ 不要在未验证的情况下假设框架行为
- ❌ 不要捏造需求細节

---

### 2. 明确的來源歸屬

**規則**: 所有引用必須包含來源类型、位置和可验证性信息。

#### 來源类型

| 來源类型 | 标签 | 可靠性 |
|-------------|-----|-------------|
| 项目程序码 | `[Source: Code]` | ⭐⭐⭐⭐⭐ 最高 |
| 项目文件 | `[Source: Docs]` | ⭐⭐⭐⭐ 高 |
| 外部文件 | `[Source: External]` | ⭐⭐⭐⭐ 高 |
| 网络搜尋 | `[Source: Search]` | ⭐⭐⭐ 中等 |
| AI 知識 | `[Source: Knowledge]` | ⭐⭐ 低 |
| 使用者提供 | `[Source: User]` | ⭐⭐⭐ 中等 |

#### 歸屬格式

**程序码引用**:
```
[Source: Code] 文件路徑:行号 - 描述
```

**外部文件**:
```
[Source: External] URL - 描述 (版本: x.x.x, 存取日期: YYYY-MM-DD)
```

**AI 知識**:
```
[Source: Knowledge] 主題 - 描述 (⚠️ 需要验证)
```

#### 版本敏感性

引用函式庫、框架或 API 时，务必包含版本信息：

```
✅ [Source: External] Next.js App Router (v14.x) - Server Components 是预设的
✅ [Source: Code] package.json:12 - 使用 "express": "^4.18.2"
❌ "Next.js 使用 Server Components" (哪个版本?)
```

---

### 3. 分类确定性级别

**規則**: 清楚區分已确认的事实、推論和未知项目。

| 标签 | 使用时机 |
|-----|----------|
| `[Confirmed]` | 來自程序码/文件的直接证据 |
| `[Inferred]` | 基於可用证据的邏辑推論 |
| `[Assumption]` | 基於常見模式（需要验证） |
| `[Unknown]` | 信息不可用 |
| `[Need Confirmation]` | 需要使用者澄清 |

**範例**:

```
[Confirmed] src/database/connection.ts:12 - 使用 PostgreSQL 驅动程序 'pg'
[Inferred] 基於 src/repositories/ 中的储存庫模式，可能使用依賴注入
[Assumption] 项目可能使用 OAuth2，但需要檢视认证配置
[Unknown] API 速率限制策略未记录
[Need Confirmation] 新功能是否应支援多租戶?
```

---

### 4. 建议原則

**規則**: 提供多个选项时，务必包含建议选择及其理由。

| 情境 | 要求 |
|------|------|
| 提出 2 个以上选项 | 必須標示建议选项及理由 |
| 存在明确的最佳选择 | 直接建议最佳选项及理由 |
| 存在权衡取捨 | 根据當前情境建议，说明权衡取捨 |
| 無法确定 | 说明需要什麼信息才能提出建议 |

---

### 5. 禁止行为

AI 助理絕对不能:

1. **捏造 API 或函數簽章**
   - ❌ 不要捏造方法名称、參數或返回类型
   - ✅ 要读取实际原始码或詢問使用者

2. **假设需求**
   - ❌ 不要猜测使用者需求或业务規則
   - ✅ 當需求模糊时要提出澄清問題

3. **推测未读取的程序码**
   - ❌ 不要描述未檢视文件的功能
   - ✅ 要明确说明「需要读取 [文件] 以确认」

4. **捏造配置**
   - ❌ 不要假设環境变數、配置鍵或数据庫架構
   - ✅ 要檢视实际的配置文件

5. **幻想错误或 Bug**
   - ❌ 不要在没有证据的情况下聲称程序码有問題
   - ✅ 要分析实际程序码并引用特定行

6. **提出选项但不給建议**
   - ❌ 不要只列出选项并要求使用者选择而不提供指引
   - ✅ 务必包含建议选择及理由

---

## AI 助理工作流程

```
┌─────────────────────────────────┐
│  收到使用者请求                    │
└─────────────┬───────────────────┘
              │
              ▼
┌─────────────────────────────────┐
│  識别所需信息                      │
│  - 程序码文件?                     │
│  - 配置?                          │
│  - 需求?                          │
└─────────────┬───────────────────┘
              │
              ▼
         ┌────┴────┐
         │ 可用? │
         └────┬────┘
              │
      ┌───────┴───────┐
      │               │
     是              否
      │               │
      ▼               ▼
┌──────────┐   ┌─────────────┐
│  读取/   │   │  向使用者   │
│  分析    │   │  詢問信息   │
└────┬─────┘   └──────┬──────┘
     │                │
     ▼                ▼
┌─────────────────────────────────┐
│  標记响应:                        │
│  - [Confirmed] 用於事实           │
│  - [Inferred] 用於推論            │
│  - [Need Confirmation] 用於缺口   │
└─────────────┬───────────────────┘
              │
              ▼
┌─────────────────────────────────┐
│  引用來源 (文件:行号)              │
└─────────────┬───────────────────┘
              │
              ▼
┌─────────────────────────────────┐
│  包含建议                         │
│  (如果提出选项)                    │
└─────────────────────────────────┘
```

---

## 相关标准

- [防止幻覺标准](../../../../core/anti-hallucination.md)
- [确定性标签參考](./certainty-labels.md)

---

## 版本历史

| 版本 | 日期 | 变更 |
|------|------|------|
| 1.0.0 | 2025-12-24 | 新增: 标准章节（目的、相关标准、版本历史、授权） |

---

## 授权

本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授权釋出。

**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
