# B 方案与鹈鹕图片:本地实施记录 日期:2026-09-14。根据本次确认实施 B 方案及关联 bug 修复。修改仅在本地源码;没有连接、部署或更新远程服务器,没有调用真实上游账号,也没有改写真实业务数据库。 ## 现在的评分和显示 执行状态、最终答案、格式和能力证据分开保存、显示。新评估版本为 2,模型正常完成输出后使用 `completed`;不再因格式不同生成 `suspected_degradation`。 | 情况 | 答案判断 | 格式判断 | 分数含义 | | --- | --- | --- | --- | | `ANSWER: 12` | 正确 | 符合 | 最终答案 100 | | `12`、Markdown、代码块、允许单位、`12.0`、全角数字 | 正确 | 按独立格式要求判断 | 最终答案 100 | | 唯一明确的最终答案是 `11`,标准答案是 `12` | 不一致 | 单独判断 | 最终答案 0 | | 多个冲突答案、未知单位、无法抽取 | 需复核 | 单独判断 | 不评分 | | 认证、网络、参数、模型错误或限流 | 不评估答案 | 不评估格式 | 不评分 | | 安全可显示的 SVG | 图像内容未自动评估 | 结构可显示或经过调整 | 不给图像能力分 | 数值比较使用受控的精确数值归一化,支持配置单位;文本题保持规范化后的文本比较。不会靠“全文出现标准数字”就放行。完整推导尚未验证,所有单次结果都明确说明不足以判断模型能力下降。 鹈鹕卡片、管理员详情和公开账号结果接入生成图片组件。图片来自该次答复的 SVG,支持适应容器和按画布尺寸展开;源码折叠保留。对旧记录没有已保存图片的情况,可通过带权限检查的图片接口从完整答复生成只读预览。 SVG 静态样式可以转为安全属性,支持有界的本地图形引用展开;脚本、事件、外部资源、嵌入 HTML、动画等被过滤。循环引用、过大或损坏的 SVG、无基本可显示图形的结果不会冒充图片成功。内容是否真的是鹈鹕骑车仍需看图复核。 ## 关联修复 - 保护账号切换随机代理:单账号、批量入口拒绝冲突请求,数据库事务内再次检查,避免随机模式被忽略而固定代理却被清空。 - 账号编辑:受策略管理的身份/TLS 与随机代理控件锁定;并发字段展示并限制策略上限。保护开关改为描述实际设置作用,不承诺答题质量。 - 默认保护策略继续为 `legacy`(初代兼容),已有明确选定的策略保留。 - 慢轮询:管理员和公开结果页的静默请求都参与进行中去重,不再被每五秒的新轮询反复取消或挤掉。公开历史翻页也拒绝迟到的旧结果。设置和分组错误独立显示,手动刷新可恢复元数据。 - 明确模型选择:不再把显式 `gpt-5.4`、`gpt-5.4-mini` 自动换成另一模型;请求模型与执行模型分别留档。已知不适合文本/SVG 的媒体模型被过滤或拒绝。 - 提交与复用:快速测试幂等签名包含模型;相同配置明确提示复用,进行中任务的配置不同则报告冲突;仅新任务占用队列容量。 - 流响应:无 delta 时可以提取 Responses 终态中的文本,已有 delta 时不重复追加。 - 错误分类:HTTP 状态优先,`max_tokens` 等请求参数错误不再归入账号认证异常。 - 并发准入:普通账号测试、智能测试与业务请求共享账号并发槽;智能测试容量不足时延后排队,不发送上游请求。 - 操作入口:管理员可以取消未执行任务;取消或重评会使先前查询失效,防止迟到的查询覆盖操作结果。已开始执行的请求不提供虚假的“已取消”保证。 - 历史与统计:当前任务与最近结束的结果分开;排队、运行和取消不抹掉上一份结果。答案待复核、执行异常分别统计,移除跨模型混算的“连续降智”暗示。摘要查询不再读取原始响应和完整输入配置。 - 设置:增加答案类型、单位、独立格式要求及草稿试判;统一常用中文字符长度限制,保留未保存草稿。试判不调用模型、不创建测试任务。 - 详情:展示判定依据、标准答案和抽取值;复制诊断包含记录 ID、评估和配置快照。公开接口仅投影允许公开的判定字段。 - 用户清理:保留后端明确错误,显示预览有效期;过期后要求重新预览和确认,保留原有清理权限与确认流程。 ## 旧记录怎样处理 旧判定保持原样,界面提示旧规则和待复核。管理员可在详情中选择“按 B 方案重新评估(不调用模型)”。它使用该次已保存的答复与原始题目配置,不使用今天改过的题目;保存原判定、重评时间和审计记录,不覆盖原始响应、题目或配置。 缺少完整答复、已截断或未完成执行的记录不会强行重评。重评权限、重复操作、历史快照和公开字段隔离均有验证。本次未对服务器历史进行任何重评。 ## 验证证据 | 验证 | 结果 | | --- | --- | | 前端全量 Vitest(最终版本) | 2,050 项通过,0 失败 | | 后端全量 `-tags=unit ./...` | 19,361 个测试/子测试通过,27 跳过 | | 最后改动相关后端回归 | 184 个测试/子测试通过;2 个数据库用例在普通单元运行中跳过 | | 隔离 PostgreSQL 与关联服务专项 | 94 个测试/子测试通过,0 失败、0 跳过;覆盖新迁移、队列/取消/重评、统计、权限、保护事务及清理 | | 最后图片与刷新改动相关前端回归 | 20 项通过;覆盖历史图片权限加载、内容类型、尺寸、过期请求和资源释放 | | 新操作与图片 HTTP 接口专项 | 5 项通过;覆盖管理员权限、历史 SVG 安全预览、无模型调用的草稿试判 | | Vue 类型检查、ESLint | 通过 | | 前端生产构建 | 通过;产物仅输出到本机临时目录 | | 浏览器组件验证 | 卡片、详情、原图的 SVG 均解码完成并有可见尺寸;原图按 600 × 420 画布展开;正确答案和格式差异同时展示 | 测试计数包含父测试和子测试,专项与全量有交集,不能相加当作独立用例总数。浏览器使用 `frontend/verification/assessment` 的真实组件与明确标注的合成答复,并阻断 API 网络调用;它验证显示链路,不代表真实上游绘画质量。 临时 PostgreSQL 仅绑定 127.0.0.1,数据库名为 `relay_assessment_test`,测试完成后已停止。本机图片验证服务也已停止。没有改动本地现有业务数据库。构建仍提示已有的大分包、Browserslist 数据及 Node 弃用警告,未为消除提示而升级依赖。 ## 后续范围与版本说明 新增迁移 `backend/migrations/248_intelligent_assessment_v2.sql`。未来正式上线时需要让后端、前端与数据库迁移配套;外部客户端若依赖旧状态枚举,也应识别 `completed` 等新执行状态。本次未执行正式上线。 尚未加入 C 方案的多题基线、长期趋势、完整推导判分或图像内容裁判;未知模型别名是否可用仍以真实上游结果为准。历史保留期自动删除、逐条发布/撤回结果、策略与代理联合预览属于可选扩展,本次未启用。 Git 当前仍无已跟踪文件,本次没有创建提交或宣称完成可回滚的发布基线。源码、测试、迁移和本报告保存在当前本地工作目录。