feat: productize prompt evaluation gate

This commit is contained in:
2026-05-21 18:04:14 +08:00
parent 6997eb5b6d
commit c415f547e8
8 changed files with 281 additions and 1 deletions
@@ -4047,3 +4047,34 @@
- Browser 打开 `http://192.168.3.90:3003/contracts/contract-bbe8d2f3bcc1` 后按未登录状态跳转 `/login`,页面标题为 `AI合同平台`,控制台无前端 error。
- 当前闭环结论:
- 合同履约任务、续约提醒、履约节点清单和终止归档证据已完成本地编码、本地测试、Git 推送、远端 Alembic 迁移、前后端容器部署、远端 HTTP 烟测和真实 PostgreSQL API 烟测。
## 2026-05-21 Phase15-F Prompt 评测触发与发布门禁产品化闭环
- 已按《AI合同起草与审查助手-法律文书能力吸收开发方案-2026-05-20.md》继续推进 Phase15-F。
- 本轮把之前“脚本生成评测报告、人工填入 Prompt 版本”的方式升级为产品内闭环:
- 后端新增 `POST /api/v1/prompt-assets/{asset_id}/evaluations/run`。
- 接口会对当前 Prompt 版本执行发布前静态质量门禁,生成 `phase15-prompt-evaluation-report.v1` 报告。
- 评测结果直接回填 `prompt_asset_versions.evaluation_status / evaluation_score / evaluation_report_json`。
- 同步更新 `prompt_assets.latest_evaluation_status / latest_evaluation_score / latest_evaluation_report_json`。
- 评测动作写入审计日志 `run_prompt_asset_evaluation`。
- 继续复用既有发布门禁:未通过评测或没有评测报告时,`publish` 仍拒绝发布。
- 前端能力:
- `/prompt-assets` 列表新增“评测”按钮。
- Prompt 详情卡片新增“运行评测”按钮。
- 发布按钮在最新评测状态不是 `passed` 时不可点击,避免管理员跳过评测直接发布。
- 数据库影响:
- 本轮不新增表、不新增 Alembic 迁移。
- 远程库只要已经到 `20260521_0032_create_prompt_assets.py` 或更高版本即可使用;当前 3.90 已在更高版本 `20260521_0037`。
- 本轮验证:
- `python -m compileall backend\app\services\prompt_asset_service.py backend\app\api\prompt_assets.py`
- `$env:PYTHONPATH='backend'; python -m unittest backend.tests.test_prompt_asset_service backend.tests.test_prompt_assets_api backend.tests.test_permission_metadata -v`
- `$env:PYTHONPATH='backend'; python -m unittest backend.tests.test_prompt_asset_service backend.tests.test_prompt_assets_api backend.tests.test_prompt_runtime_service backend.tests.test_chat_api backend.tests.test_clause_recommendation_service backend.tests.test_clauses_api backend.tests.test_review_service backend.tests.test_contracts_api backend.tests.test_permission_metadata -v`
- `cd frontend; npx eslint src/services/prompt-asset.ts src/app/prompt-assets/page.tsx src/types/api.ts`
- `cd frontend; npm run build`
- `git diff --check`
- Browser 打开 `http://localhost:3000/prompt-assets`,未登录保护页正常显示,页面标题 `AI合同平台`,控制台错误 0。
- 当前闭环结论:
- Phase15-F 已从“离线脚本可复跑”进一步形成“页面触发评测 -> 后端生成报告 -> 自动回填当前版本 -> 发布按钮受评测状态约束 -> 审计留痕”的产品化闭环。
- 剩余边界:
- 本轮没有部署到 3.90;由于无数据库迁移,后续只需部署后端/前端即可在测试服务器使用该按钮。
- 当前评测接口是发布前静态质量门禁,不等同于调用真实大模型逐条跑完整黄金样本输出;后续如需更强门禁,可继续接入异步任务队列,把 `scripts/run-phase15-prompt-golden-eval.ps1` 或等价服务端评测器的结果自动回填同一字段。