| license | Apache License 2.0 | |||||
|---|---|---|---|---|---|---|
| tags |
|
一个 Agent Skill:让 AI 模拟 300 名性格各异的虚拟用户,对可真实访问的产品(URL 或本地项目)进行众测,产出类应用商店的综合评分、性格分群报告和结构化 Bug 清单,并支持修复后的回归对比。
普通的"让 AI 扮演用户测试"有三个痛点:
- 用户是假的——AI 嘴上说"300 人",实际只凭空想象了几个样本;
- Bug 是编的——不看真实产品,凭产品描述脑补问题;
- 结果不可复现——每次测出来都不一样,修复前后无法对比。
crowd-test 用工程化方式解决:
- 📇 300 份画像真实生成:
generate_users.py确定性生成 300 名用户(姓名/性格/设备/系统/浏览器/网络/口头禅/评分偏移/Bug 敏感度),同一 seed 结果完全一致; - 🔍 必须真实访问产品:浏览器实测或通读代码,每个 Bug 都有真实依据,并归属到"最可能发现它"的性格用户;
- 📊 评分确定性计算:
build_report.py按clamp(base + rating_bias×0.5 + 噪声, 1.0, 5.0)聚合,修复后用相同 seed 重测,自动产出回归对比。
阶段一 确认产品入口(必须可访问)→ 梳理功能清单并请用户确认
阶段二 运行 generate_users.py → 真实生成 300 名用户(30 种性格 × 10 人)
阶段三 真实实测每个功能 → Bug 记录到 findings.json,归属到具体用户 ID
阶段四 运行 build_report.py → 总览卡片 + 性格分群 + Bug 清单 + Markdown 报告
阶段五 修复后相同 seed 重测 → 报告自动带回归对比
完美主义者(细节控)、暴躁老哥(急性子)、技术宅(极客)、小白用户、商务精英(效率党)、学生党、设计师(审美癌)、产品经理(逻辑怪)、老年用户、安全专家(白帽)、性能狂魔(测速人)、苹果用户(生态党)、开源爱好者、打工人、自媒体博主、游戏玩家、数据控、夜间党、多设备用户(同步控)、隐私卫士、新手妈妈、自由职业者、996 程序员、考研党、外籍用户、残障用户(无障碍)、数码小白领、竞品用户(对比党)、佛系用户、二刺猿——每种性格有独立的评分倾向、Bug 敏感度和主攻 Bug 方向(如安全专家专攻 XSS/越权,残障用户专攻键盘导航/读屏兼容)。
╔══════════════════════════════════════════╗
║ 🏆 某产品 · 300 人众测结果
╠══════════════════════════════════════════╣
║ 综合评分 ⭐ 3.40 / 5.0
║ 5分 █░░░░░░░░░░░░░ 3.7% (11人)
║ 4分 ██████░░░░░░░░ 43.0% (129人)
║ 3分 ███████░░░░░░░ 49.3% (148人)
║ 2分 █░░░░░░░░░░░░░ 4.0% (12人)
║ 🐛 Bug 42 个:P0:2 P1:8 P2:19 P3:10 P4:3
╚══════════════════════════════════════════╝
完整报告为 Markdown 文件,含:评分分布、30 组性格分群评分、按 P0–P4 排序的完整 Bug 详情(复现步骤/预期 vs 实际/环境/修复建议)、精选用户原声、300 人评分明细附录、回归对比。
├── SKILL.md # 技能定义:触发描述 + 五阶段流程 + 四条铁律
├── README.md # 本文件(仓库卡片,不参与技能运行)
├── scripts/
│ ├── generate_users.py # 确定性生成 300 名用户画像(--seed 可复现)
│ └── build_report.py # 评分聚合 + Markdown 报告渲染 + 回归对比
└── references/
└── personas.md # 30 种性格的主攻 Bug 方向与口吻参考
方式一:作为 Agent Skill 加载
支持 Agent Skills 标准的平台(Claude / Kimi / ms-agent 等)安装本技能后,直接说:
"帮我用 crowd-test 测试一下 http://localhost:5173" "模拟 300 个用户众测我的软件"
方式二:ModelScope Hub 加载(ms-agent)
agent = create_agent_skill(
skills='<owner>/crowd-test', # 本仓库
model='Qwen/Qwen3-235B-A22B-Instruct-2507',
use_sandbox=True,
)方式三:只用脚本
两个脚本均可独立运行,不依赖 Agent:
python3 scripts/generate_users.py --seed 20261001 --out users.json
python3 scripts/build_report.py --users users.json --findings findings.json \
--base 3.4 --product "我的产品" --seed 20261001 --out 众测报告.md无第三方依赖,Python 3.8+ 标准库即可运行。
- "帮我测试一下这个产品"
- "模拟 300 个用户测试我的软件"
- "众测 / 大规模用户验收测试"
- "crowd testing / mass UAT"
- 被测产品必须可以真实访问(URL 或本地项目);只有文字描述时,技能会先索要入口,不会凭描述虚构测试结果。
- 技能内的评分和 Bug 归属由真实测试 + 确定性脚本共同驱动,AI 只负责实测、定基准分和撰写符合性格的用户原声。
MIT