---
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)
