Files
inkreach-teable-cli/evals
yeuimu c9694511a1 feat(cli): base/space 命令 + 执行守则 + eval harness 入仓 + 多轮 eval (0.1.9)
- 新命令: space list/create、base create/delete(实测通过,冒烟覆盖)
- SKILL.md §0 执行守则:完成全部步骤再答复/不谎报/分批/撤销指引
  (snapshot 无恢复 API,用 deactivate+节点改回)
- hint 补 429 限流与超时模式
- evals/ 入仓: 14+6 题 harness 参数化(EVAL_ROOT/EVAL_ENV/EVAL_MODEL/
  EVAL_CFG/auto_skill 触发模式)+ 多轮修正式 eval 与灵活判分
- 判分器加固: workflow list 错误负载不崩、官方 CLI 探测(command -v)不算使用
- 实测: auto 触发批(入仓版重跑) 11/11、99.0% 首试、100% ≤2 次;
  多轮修正 2/2+3/3(修改而非重建);冒烟 85 用例含 token 路由(低权会话)
- 运维事实入档: POST/DELETE /api/plugin 为管理员专属(PAT 403)
2026-09-30 08:12:16 +00:00
..

Skill/CLI eval harness

14 题 teable 操作 eval + 6 题 plugin eval + 逐次尝试统计。单源真值在本目录, 运行产物默认落 /root/eval-rerun(可用 EVAL_ROOT 覆盖)。

目录

  • teable-evals.json / plugin-evals.json — 题目(prompt 模板,支持 {TAG}/{WFID}/{TBL5}/{ORD}/{TBL})
  • run_evals4.py — 启动器。支持配置: with_skill=<skill>:<bin>, old_skill=..., auto_skill=NONE:<bin>(触发模式:不给技能路径,靠用户级技能自动发现);EVAL_MODEL 换模型
  • grade_evals4.py / grade_plugin_evals.py — 判分(按最终状态优先)。重判历史轮次须冻结该轮 env(EVAL_ENV)
  • run_multiturn.py + grade_multiturn.py — 两轮修正式对话 eval(pi --session-id 续接;判分认 recordCondition 或 recordUpdated+门控两种正确形状)
  • analyze_attempts.py ROOT... — 尝试次数分布(第几次成功/never;EVAL_CFG 选配置目录)
  • analyze_trajectories.py — 轨迹解析公用库(失败签名分类器)

一次完整 A/B

EVAL_ROOT=/root/eval-rerun python3 evals/run_evals4.py iteration-X A1 \
  "with_skill=/path/skill-new:/path/bin,old_skill=/path/skill-old:/path/bin-old"
python3 evals/grade_evals4.py iteration-X A1
python3 evals/analyze_attempts.py /root/eval-rerun/iteration-X

环境要求

  • pi(opencode-go 凭据)+ 隔离 HOME(无用户级技能,除 auto_skill 模式用带技能副本)
  • 每轮独立沙箱 base;判分后清理。一切建库仅在 agent-playground 专用空间。
  • eval-12 需低权限 PAT(sandbox-env.json 的 LOWPERM_TOKEN)