| name | persona-llm-test |
| description | 运行 DicePP Persona 真实 LLM 功能回归,客观验收生活模拟、主动消息、私聊多轮、群聊上下文、持久化和 trace。仅在用户显式调用本技能或明确要求 Persona 真实 LLM 回归时使用;不得自动触发,也不得由 subagent 自行调用。 |
Persona 真实 LLM 回归
只验证功能和可核对的业务语义,不评价文风、角色表现或内容质量。真实 LLM 回归不能替代 fake/unit/integration tests。
准备
- 完整阅读 references/scenarios.md。
- 向用户列出全部固定场景,结合回归范围标注推荐项,由用户选择。固定场景覆盖不足时可提出附加场景;不得为构造场景修改源码,数据库默认只读。
- 确认 skill 同目录存在
test_llm.local.json。它只能按正式 config/user.json 结构为 config/global.json 已有 provider 填写 api_key,不得定义自有 provider。
- 运行离线准备脚本:
uv run python docs/agent/skills-dev/persona-llm-test/scripts/prepare_session.py \
--scenarios <warp|private|group> [<warp|private|group> ...]
脚本只创建隔离 session、合并并验证配置、复制测试角色卡、输出 Agent Run 估算;不会启动 Runtime 或调用 LLM。临时 session 只启用本地文件中提供了 key 的正式 provider,模型与 Router 规则仍全部沿用正式配置。不得显示或复述凭据。
费用确认
在任何 serve 前统一向用户确认:
- session 与所选场景
- 将读取的本地凭据文件路径
- 脚本给出的 Agent Run 估算及正式配置中的相关 max rounds
- Runtime 启动会 probe 已启用模型
- fallback 可能性
用户确认前不得启动 serve、probe 模型或发出任何真实 LLM 请求。
执行
- 启动默认无 tick 的
dicepp-shell serve。
- 按用户选择执行场景;选择多个时必须按
warp → private → group 顺序,共用同一 session。
- warp 先运行
--dry-run 核对当前 Runtime 给出的估算,再用 --detach 提交并轮询 job status。
- 使用
persona-inspect 检查聚合状态和 trace;单表证据使用只读 SQLite 查询。多个 scope 共用 session 时查看实际 prompt,检查是否混入其他 scope 的对话上下文。
- 主 provider 失败但 fallback 后完成时,功能结论可通过,但必须标记警告。job 完成与场景通过分开判断。
收尾
- 每个场景汇报:通过 / 通过但有警告 / 失败、关键步骤、客观验收项、实际 provider/model 与调用量、fallback/超时/completion code、session 处置。
- 不生成落盘报告,不粘贴完整 prompt、trace 或数据库内容;失败时只摘取必要证据。
- 全部通过:停止 Runtime 并删除 session。
- 失败或警告:停止 Runtime,保留 session 供检查。
- 只有用户明确批准,才可修改临时 session 的 SQLite 数据。