---
source: ../../../core/ai-command-behavior.md
source_version: 1.0.0
translation_version: 1.0.0
last_synced: 2026-03-24
status: current
---

# AI 命令行為標準

> **語言**: [English](../../../core/ai-command-behavior.md) | 繁體中文 | [简体中文](../../zh-CN/core/ai-command-behavior.md)

**版本**: 1.0.0
**最後更新**: 2026-03-24
**適用範圍**: 所有使用 AI 輔助命令或技能的專案
**範圍**: universal
**產業標準**: 無（新興 AI 工具實踐）
**參考**: [SPEC-STD-07](../../../docs/specs/standards/SPEC-STD-07-ai-command-behavior.md)

---

## 目的

本標準定義一套結構，用於在命令/技能定義檔案中規範 AI Agent 的運行時行為。確保 AI Agent 在執行命令時產生一致、可預測的互動——無論使用哪個 AI 模型或工具。

**問題**：命令定義了「做什麼」，但缺乏「AI 如何與使用者互動」，導致行為不可預測。

**解決方案**：標準化的 `## AI Agent Behavior` 區段，包含四個子區段：進入路由、互動腳本、停止點、錯誤處理。

---

## AI 行為區段結構

每個需要 AI 互動的命令定義檔案 SHOULD 包含：

```markdown
## AI Agent Behavior | AI 代理行為

### Entry Router | 進入路由

### Interaction Script | 互動腳本

### Stop Points | 停止點

### Error Handling | 錯誤處理
```

---

## 區段定義

### 1. 進入路由

定義 AI 對每種呼叫模式的行為。對於有多種呼叫模式的命令，使用決策表。

**格式：**

```markdown
| Input | AI Action |
|-------|-----------|
| `/cmd` | [無參數時的行為] |
| `/cmd <name>` | [有名稱參數時的行為] |
| `/cmd <phase>` | [有階段子命令時的行為] |
| `/cmd <phase> <target>` | [有階段和目標時的行為] |
```

**簡單命令**（單一呼叫模式）可以用一行描述代替。

**規則：**
- 每個文件記載的呼叫模式都必須有對應的條目
- 「無參數」的情況必須始終定義
- 進入行為必須是確定性的——不允許模糊

### 2. 互動腳本

使用**混合精細度**定義逐步 AI 行為：

| 元素 | 精細度 | 原因 |
|------|--------|------|
| 決策點 | 精確（IF/THEN） | 影響下游流程 |
| 一般步驟 | 指引式（編號清單） | AI 需要彈性 |

**決策點格式：**

```markdown
**Decision: [名稱]**
- IF [條件 A] → [具體行為]
- IF [條件 B] → [具體行為]
- ELSE → [預設行為]
```

**一般步驟格式：**

```markdown
1. [步驟描述]
2. [步驟描述]
3. [步驟描述]
```

**規則：**
- 決策點必須使用明確的 IF/THEN/ELSE
- 一般步驟應使用編號清單
- 關鍵輸出的格式（AI 展示給使用者的內容）應明確指定

### 3. 停止點

定義 AI 必須暫停並等待使用者確認的時刻。

**標記格式：**

```markdown
🛑 **STOP**: [描述] — 等待使用者確認後再繼續
```

**預設停止原則**（當未明確定義停止點時適用）：

| 情境 | 行為 |
|------|------|
| 即將寫入/修改檔案 | 🛑 停止 |
| 即將執行不可逆操作 | 🛑 停止 |
| 階段完成 | 🛑 停止 |
| 需要使用者提供額外資訊 | 🛑 停止 |
| 唯讀分析完成，展示結果 | ▶️ 繼續 |

**規則：**
- 停止點必須明確——不依賴 AI 判斷
- 每個停止點必須描述 AI 在等待什麼
- 停止點的數量應與操作風險成正比

### 4. 錯誤處理

定義前置條件失敗或遇到非預期狀態時的 AI 行為。

**格式：**

```markdown
| 錯誤條件 | AI 行為 |
|---------|--------|
| [前置條件未滿足] | [引導到正確步驟] |
| [非預期狀態] | [停止並詢問使用者] |
```

**預設錯誤原則：**

1. **說明問題**：告訴使用者哪個前置條件失敗
2. **引導解決**：建議正確的命令或步驟
3. **不靜默跳過**：不忽略失敗繼續執行
4. **不未經許可自動修復**：除非命令定義中明確允許
5. **不確定時詢問**：停止並詢問，而非猜測

---

## 適用規則

並非所有命令都需要完整的 `## AI Agent Behavior` 區段。

| 條件 | 需要完整定義 | 原因 |
|------|-------------|------|
| 多階段工作流程 | ✅ 是 | 複雜流程需要指引 |
| 多種呼叫方式 | ✅ 是 | 否則進入路由模糊 |
| 單一明確動作 | ❌ 否 | 行為不言自明 |
| 純資訊查詢 | ❌ 否 | 無互動決策 |
| 子命令編排 | ✅ 是 | 協調邏輯需要定義 |

**判斷依據**：如果兩個不同的 AI 模型可能合理地以不同方式解釋該命令，則需要行為定義。

---

## 範例：最小行為區段

以中等複雜度的 `/coverage` 命令為例：

```markdown
## AI Agent Behavior

### Entry Router

| Input | AI Action |
|-------|-----------|
| `/coverage` | 偵測測試框架，執行覆蓋率，展示摘要 |
| `/coverage <path>` | 僅對指定路徑執行覆蓋率 |

### Interaction Script

1. 偵測專案測試框架（尋找 jest.config、vitest.config 等）
2. 執行覆蓋率命令
3. 解析輸出並呈現摘要表格

**Decision: 偵測到低覆蓋率**
- IF 覆蓋率 < 專案門檻 → 突顯差距，建議需要測試的檔案
- ELSE → 僅展示摘要

### Stop Points

🛑 **STOP**: 展示覆蓋率摘要後 — 詢問使用者是否需要逐檔明細

### Error Handling

| 錯誤條件 | AI 行為 |
|---------|--------|
| 未偵測到測試框架 | 詢問使用者使用哪個框架 |
| 覆蓋率執行期間測試失敗 | 先展示失敗，詢問是否仍要覆蓋率 |
```

---

## 快速參考卡

### 區段檢查清單

| 區段 | 必須定義 | 關鍵規則 |
|------|---------|---------|
| 進入路由 | 所有呼叫模式 | 「無參數」情況必須定義 |
| 互動腳本 | 決策點 + 一般流程 | 決策 = 精確，步驟 = 指引 |
| 停止點 | 每個暫停時刻 | 明確標記，不靠 AI 猜測 |
| 錯誤處理 | 前置條件失敗 | 不靜默跳過 |

### 精細度指引

| 元素 | 層級 | 格式 |
|------|------|------|
| 進入路由 | 精確 | 決策表 |
| 停止點 | 精確 | 🛑 標記 |
| 互動腳本 | 指引式 | 編號步驟 + 決策用 IF/THEN |
| 錯誤處理 | 原則式 | 錯誤表 + 預設規則 |

---

## 相關標準

- [AI 指令檔案規範](ai-instruction-standards.md) — AI 指令檔案的檔案結構
- [AI 協議標準](ai-agreement-standards.md) — 人機協作協議
- [反幻覺規範](anti-hallucination.md) — 基於證據的 AI 行為

---

## 版本歷史

| 版本 | 日期 | 變更 |
|------|------|------|
| 1.0.0 | 2026-03-24 | 初始版本 |

---

## 授權

本標準依 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權發布。
