---
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-TW/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/) 许可发布。
