SuperAPI AI 工具集

persona-test

测试与质量

查看项目

更新于 10-15 22:16

技能介绍

用途:以接近人工 QA 的方式测试应用,但不是执行固定脚本,而是同时派出多个不同模拟用户,各自遵循其人设的目标、性格与退出条件。每次运行都会产生经证据评分的判定结果和一份本地报告;与具体目标应用无关的部分都放在所选适配器目录(adapters/<name>/,契约见 adapters/example-http/adapter.md)。

主要能力与流程:1) 解析启动意图,运行 persona-test.sh,参数含模式位置参数及 --issue、--name、--n、--target、--adapter、--min-model、--max-model,校验后打印解析出的计划行;输入非法退出码 3,--help 输出用法。2) 加载适配器(reach/interact、done、context 三个必需钩子及可选覆盖)与人设库 personas/*.md;若 N 超过起始库数量,按 lib/generate-personas.md 生成差额。3) 按模式构建测试计划:changes 依据 git diff 或 PR diff 推导场景;issue 拉取 issue 正文与验收标准;scenario 使用给定名称。4) 按 (人设 × 场景) 并行派发子代理,返回 JSON 运行记录,经 lib/schema.py 校验,失败记录丢弃并单独计数;模型按角色扮演难度选择并夹在 [MIN_MODEL, MAX_MODEL] 之间,每次派发显式固定模型;单次运行最多 10 个人设子代理;若安装了 codex 可额外派发至多一个作为第二模型视角。5) 按 lib/judge.md 判定,原始 JSON 必须经 lib/normalize.py 的 normalize_judged 归一化,适配器声明维度或额外字段时相应传入与合并。6) 经 lib/aggregate.py 汇总,无条件先写本地报告(sinks/local_report.py),再按适配器声明的 sink 投递(sinks/http_post.py),sink 失败不回滚本地报告。7) 向用户汇报总数/通过/失败/最严重级别、被丢弃记录数、报告路径与 sink 结果。

限制:外部驱动缺失时直接跳过,不伪造结果;单条记录校验失败即丢弃不重试;sink 未声明或失败不影响本地报告;扇出硬上限 10 个人设子代理。资料未提供具体收费、平台与效果信息。