360 Secure SkillHub
360 安全技能中心

Skill Stress Test

提供 Skill 上线前的压测流程:用空内容、超长内容、特殊字符、HTML 片段和非预期格式等边界输入检验健壮性;对同一输入连续发送 5 次,检查输出格式是否一致;在 10 秒内连续发送多条,检查是否乱序或超时;最后按检查清单输出压测报告和可发布结论。文中引用的自动化脚本未随附。

spiderzhcl
spiderzhcl
热度 11.85
最近更新 2026-06-27 07:31:26
分类:开发依赖:代码执行 / 内部调用大模型应用场景:调试排错 / 报告撰写 / 工作流 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add skill-stress-test
Metadata
name
skill-stress-test
description
WorkBuddy Skill 发布前压测工具。基于「边界输入 / 输出一致性 / 并发连续」三板斧,系统化检测 Skill 的健壮性、稳定性和用户体验。
agent_created
true

Skill 发布前压测工具 🛡️

一句话:在你把 Skill 交给用户之前,先用它折腾一遍自己。

基于"8点虾聊AI"公众号文章《我的AI助手,被一个引号干趴了》中的方法论实现。

核心原则

压测不是写单元测试,不需要懂代码。 本质上就是——用你预想不到的方式使劲折腾你的 Skill,看它什么时候撑不住。

每次新 Skill 上线前,至少花 30 分钟 过一遍这三板斧。


使用流程

第一步:指定目标 Skill

明确你要压测的目标 Skill 名称,例如 ppt-nano-master、wx-article-qa 等。

第二步:运行三把斧头

按顺序执行三轮压测,每一轮产出检测报告。


🪓 第一斧:边界输入压测

把所有"极端输入"全部试一遍。

测试项目

# 输入类型 测试用例 预期表现
1 空内容 只发一个空格 / 直接回车 有明确提示,不闷头处理
2 超长内容 粘贴 2000 字以上的文章 截断或分段,不超时报错
3 特殊字符 输入 【】《》「」%&*#@ 等 不崩溃,正常过滤或转义
4 非预期格式 本应传文字,传了图片/链接/代码 有格式检测,有友好提示
5 乱码/HTML 粘贴 <br> &nbsp; 等 HTML 片段 不把原始标签吐给用户

操作步骤

  1. 逐个测试上述 5 种输入类型
  2. 观察目标 Skill 的反应
  3. 记录每一项:✅ 通过 / ❌ 失败 / ⚠️ 部分通过
  4. 对失败项:明确修复方案

🪓 第二斧:输出一致性压测

AI 的天然缺陷——相同的输入,不一定给出相同的输出。付费用户产品必须格式稳定。

操作步骤

  1. 同一条输入,连发 5 次
  2. 检查每次输出的结构是否一致
  3. 检查字段是否完整(无缺失)
  4. 检查有无乱码或截断

判定标准

结果 说明
✅ 5 次格式完全一致 合格
⚠️ 轻微格式差异(如序号有无) 需加强 SKILL.md 格式约束
❌ 输出结构完全不同 必须修复,关键输出段加 JSON 约束

常见修复

在目标 Skill 的 SKILL.md 中添加更严格的格式约束:

  • 使用 必须输出 JSON,字段包含 ...
  • 使用 输出格式:每行一条,编号 1-5
  • 使用 字段缺失扣分/报错

🪓 第三斧:并发连续压测

真实用户发消息不会等你。他们会在 5 秒内连发 3 条,会在 API 响应慢的时候不停重发。

操作步骤

  1. 准备 5-8 条不同内容的测试输入
  2. 在 10 秒内 连续发送
  3. 检查返回结果是否:乱序、串号、超时、丢消息
  4. 如果 Skill 调用了外部 API,重点检查超时兜底

判定标准

结果 说明
✅ 全部正确响应,不乱序 合格
⚠️ 偶尔超时但有兜底提示 可接受,优化响应速度
❌ 回复张冠李戴 / 无限沉默 必须修!用户 A 的内容不能返回用户 B 的结果

超时兜底模板

正在处理,请稍候……
当前繁忙,请重试……

✅ 发布前检查清单

每次新 Skill 上线前,对着这张清单勾一遍:

边界输入

  • 空内容 / 只有空格
  • 超长内容(1000 字以上)
  • 特殊字符(中英文标点混排)
  • HTML / Markdown 代码片段
  • 非预期格式(如图片传给文字 Skill)

输出一致性

  • 同一输入连测 5 次,输出格式一致
  • 字段完整,无缺失
  • 无乱码 / 截断

并发稳定性

  • 10 秒内连发 5 条,不乱序
  • API 超时场景下,有兜底提示
  • 高频使用下,响应时间可接受

用户体验

  • 错误场景有友好提示(不能是技术报错)
  • 边界情况下,用户知道"下一步怎么做"

自动化脚本

本 Skill 附带自动化压测脚本 scripts/stress-test.py,可以快速生成边界测试用例和执行一致性检测。运行方式:

# 生成边界测试用例
python scripts/stress-test.py generate-boundary

# 输出一致性检测(相同输入发 N 次)
python scripts/stress-test.py check-consistency --skill-name <skill_name> --input "你的测试输入" --count 5

报告格式

每次压测完成后,输出如下报告:

## 压测报告

**目标 Skill**:<skill_name>
**测试日期**:<date>
**测试人**:<name>

### 🪓 第一斧:边界输入(5/5 项)
- [x] 空内容 → ✅
- [x] 超长内容 → ✅
- [x] 特殊字符 → ✅
- [x] 非预期格式 → ✅
- [x] HTML/乱码 → ✅

### 🪓 第二斧:输出一致性
- 5 次结果格式一致:✅ / ❌
- 字段完整:✅ / ❌
- 无乱码截断:✅ / ❌

### 🪓 第三斧:并发连续
- 不乱序:✅ / ❌
- 有超时兜底:✅ / ❌

### 结论
- 🟢 可发布 / 🟡 需修复后复查 / 🔴 不可发布

参考

本 Skill 方法论源自:

  • 公众号:8点虾聊AI
  • 文章:《我的AI助手,被一个引号干趴了》