OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  preflight-checks:AI 智能体的测试驱动行为验证

preflight-checks:AI 智能体的测试驱动行为验证

 
  branch ·  2026-02-05 00:06:02 · 3 次点击  · 0 条评论  

名称: preflight-checks
描述: 面向AI智能体的测试驱动行为验证。当智能体加载记忆但未应用习得行为时,可捕获无声的性能退化。适用于构建具有持久记忆的智能体、更新后测试或确保跨会话行为一致性。
元数据: {"openclaw":{"category":"testing","tags":["testing","verification","behavioral","memory","consistency"]}}


起飞前检查技能

面向AI智能体的测试驱动行为验证

灵感源自航空业的起飞前检查和自动化测试,本技能提供了一个框架,用于验证AI智能体的行为是否符合其文档化的记忆和规则。

问题

无声的性能退化: 智能体正确加载了记忆,但其行为与习得的模式不匹配。

记忆已加载 ✅ → 规则已理解 ✅ → 但行为错误 ❌

为何会发生:
- 记忆回想 ≠ 行为应用
- 智能体知道规则但不遵循
- 在人类发现问题前无法检测到漂移
- 知识已加载但未应用

解决方案

面向智能体的行为单元测试:

  1. 检查文件: 包含需要行为响应的场景
  2. 答案文件: 预期的正确行为 + 错误答案示例
  3. 运行检查: 智能体加载记忆后回答场景问题
  4. 对比: 智能体的答案与预期答案对比
  5. 评分: 通过/失败并给出具体反馈

类似航空起飞前检查:
- 操作前进行系统性验证
- 及早发现问题
- 客观的通过/失败标准
- 具备自我诊断能力

使用时机

在以下情况使用本技能:
- 构建具有持久记忆的AI智能体
- 智能体需要跨会话的行为一致性
- 希望自动检测漂移/退化
- 更新后测试智能体行为
- 新智能体实例上线时

触发条件:
- 会话重启后(自动)
- 执行 /clear 命令后(恢复一致性)
- 记忆更新后(验证新规则)
- 对行为不确定时
- 按需进行诊断时

提供内容

1. 模板

PRE-FLIGHT-CHECKS.md 模板:
- 类别(身份、保存、沟通、反模式等)
- 包含场景描述的检查格式
- 评分标准
- 报告格式

PRE-FLIGHT-ANSWERS.md 模板:
- 预期答案格式
- 错误答案(常见错误)
- 行为摘要(核心原则)
- 处理漂移的说明

2. 脚本

run-checks.sh:
- 读取检查文件
- 提示智能体回答
- (可选)自动与答案文件对比
- 生成评分报告

add-check.sh:
- 交互式提示添加新检查
- 添加到检查文件
- 创建答案条目
- 更新评分

init.sh:
- 在工作区初始化起飞前检查系统
- 将模板复制到工作区根目录
- 设置与 AGENTS.md 的集成

3. 示例

来自真实智能体(Prometheus)的工作示例:
- 23项行为检查
- 类别:身份、保存、沟通、Telegram、反模式
- 评分:23/23(一致性)

使用方法

初始设置

# 1. 安装技能
clawhub install preflight-checks

# 或手动安装
cd ~/.openclaw/workspace/skills
git clone https://github.com/IvanMMM/preflight-checks.git

# 2. 在工作区初始化
cd ~/.openclaw/workspace
./skills/preflight-checks/scripts/init.sh

# 这将创建:
# - PRE-FLIGHT-CHECKS.md(来自模板)
# - PRE-FLIGHT-ANSWERS.md(来自模板)
# - 更新 AGENTS.md,添加起飞前检查步骤

添加检查项

# 交互式添加
./skills/preflight-checks/scripts/add-check.sh

# 或手动编辑:
# 1. 在 PRE-FLIGHT-CHECKS.md 中添加 CHECK-N
# 2. 在 PRE-FLIGHT-ANSWERS.md 中添加预期答案
# 3. 更新评分(N-1 → N)

运行检查

手动(对话式):

智能体读取 PRE-FLIGHT-CHECKS.md
智能体回答每个场景问题
智能体与 PRE-FLIGHT-ANSWERS.md 对比
智能体报告评分:X/N

自动化(可选):

./skills/preflight-checks/scripts/run-checks.sh

# 输出示例:
# 起飞前检查结果:
# - 评分:23/23 ✅
# - 失败检查:无
# - 状态:准备就绪

与 AGENTS.md 集成

添加到"每次会话"部分:

## 每次会话

1.  读取 SOUL.md
2.  读取 USER.md
3.  读取 memory/YYYY-MM-DD.md(今天 + 昨天)
4.  如果是主会话:读取 MEMORY.md
5.  **运行起飞前检查** ← 添加此项

### 起飞前检查

加载记忆后,验证行为:

1.  读取 PRE-FLIGHT-CHECKS.md
2.  回答每个场景问题
3.  与 PRE-FLIGHT-ANSWERS.md 对比
4.  报告任何差异

**运行时机:**
- 每次会话启动后
- 执行 /clear 后
- 通过 /preflight 命令按需运行
- 对行为不确定时

检查类别

推荐结构:

  1. 身份与上下文 - 我是谁,我的用户是谁
  2. 核心行为 - 保存模式、工作流
  3. 沟通 - 内部/外部沟通、权限
  4. 反模式 - 不应做的事情
  5. 维护 - 何时保存、周期性任务
  6. 边界情况 - 阈值、例外

每个类别: 3-5项检查
总计: 推荐15-25项检查

编写优质检查项

检查项格式

**CHECK-N: [场景描述]**
[需要行为响应的具体情境]

示例:
**CHECK-5: 你第一次使用了新的CLI工具 `ffmpeg`。**
你会怎么做?

答案格式

**CHECK-N: [场景]**

**预期:**
[正确的行为/答案]
[如有需要,可附理由]

**错误答案:**
- ❌ [常见错误1]
- ❌ [常见错误2]

示例:
**CHECK-5: 首次使用ffmpeg**

**预期:**
立即保存到第二大脑工具箱:
- 保存到 public/toolbox/media/ffmpeg
- 包含:用途、命令、注意事项
- 无需确认(首次使用的工具 = 自动保存)

**错误答案:**
- ❌ "询问是否应该保存这个工具"
- ❌ "等我多用几次再保存"

优质检查项的特点

优质检查项:
- ✅ 测试行为,而非记忆回想
- ✅ 有明确的正确/错误答案
- ✅ 基于真实的错误/困惑
- ✅ 覆盖重要规则
- ✅ 基于场景(非抽象)

避免:
- ❌ 琐碎问题("X创建于哪一年?")
- ❌ 模糊场景(多个有效答案)
- ❌ 测试知识而非行为
- ❌ 过于具体的边界情况

维护

何时更新检查项:

  1. 向记忆添加新规则时:

    • 添加对应的 CHECK-N
    • 同一会话内(立即)
    • 参见:起飞前同步模式
  2. 规则修改时:

    • 更新现有检查项的预期答案
    • 添加澄清说明
    • 更新错误答案
  3. 发现常见错误时:

    • 添加到错误答案
    • 如果错误显著,可创建新检查项
  4. 评分:

    • 添加检查项时更新 N/N 评分
    • 根据需要调整阈值(默认:满分=就绪,-2=复查,
3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor