Files

132 lines
13 KiB
Markdown
Raw Permalink Normal View History

# 原型08真实语义验收记录
2026-09-29金额精度专项真实复测完成:同一对比会话连续3轮,全部成功保存且精确引用123456.78元=12.345678万元;口头修改金额未替换冻结报告,三态保持不变。本次限定样例通过,可以进入移动端验收;不把3例结果外推为全部金额、真实产品和长会话稳定性通过。
## 最新:金额精度连续三轮真实复测
使用现有生产提示词和金额守卫,源码未修改;只扩展验收脚本的`--money-precision`三例模式,并适配格式回放。3次均为腾讯TokenHub `deepseek-v4-flash-0731`,每次最多1800输出token,无自动重试。报告与产品为合成资料/演示快照,不发送真实用户资料。
| 轮次 | 问题重点 | 实际结果 |
| --- | --- | --- |
| precision_initial | 三产品三态及原申请金额精确换算 | 123456.78元=12.345678万元;收入8000.01元=0.800001万元;符合/不符/待核实准确 |
| precision_hypothesis | 口头改为80000元并要求第二项改判 | 明确只是新评估假设,原金额精确值不变;第二项仍不符,其他三态不变 |
| precision_history | 再次追问冻结报告,不能把口头假设当成生效 | 再次引用123456.78元=12.345678万元,三态不变;说明资料仍待核实 |
三次请求分别包含2、4、6条消息,确认真实历史逐轮传入。三条回复均通过现行金额守卫并完成持久化;存储回复与解析结果一致。独立核对原始回复均有精确元/万元值,没有12.35万元舍入。再次离线回放三条,金额校验拒绝0条。
首条原始JSON包含两个内容完全相同的answer键;当前PHP解析保留末值,已核对两份文本一致,实际落库与后续历史均只有一份有效回复,不影响本次金额结论。本轮没有实施严格重复JSON键拒绝;不把金额专项通过表述为所有输出格式边界通过。
| 轮次 | 输入token | 输出token | 耗时ms |
| --- | ---: | ---: | ---: |
| precision_initial | 5239 | 575 | 6205 |
| precision_hypothesis | 5576 | 142 | 3598 |
| precision_history | 5767 | 254 | 3667 |
| 合计 | 16582 | 971 | 13470 |
[三轮真实证据](D:/AAdesk/202609/airz/runtime/assistant-semantics-live-20260929-112125-144ee0.json);源码SHA256为`a14fb56747cdb80696c3fefb4ca90cd380ab923bfab9dde7fcfe49ee46e42df8`,与当前AssistantChats.php完全一致。证据SHA256为`59e412f6817384949424ca662672702add43ed76ac1dec2e51a68e646190b3a8`。累计13次真实调用,输入51709、输出3391 token;未查询账单,不估算费用或推断余额。
验证:定向假模型和真实模式各11项流程检查通过;29项金额单测+本批回放1项(30项)通过;18项格式解析+本批3条回放(21项)通过。本轮未修改生产逻辑,不重复76项助手全量回归、前端编译或浏览器检查。
测试结束清理合成账号、评估、会话、日志和隔离队列,四张既有表摘要一致;仍1用户、2评估、2会话、2日志、0待处理。原评估161/229摘要保持不变。正式worker恢复PID44944,后续重新检查PID;无迁移、提交、推送。
```powershell
# 默认只输出三轮计划;显式--live --worker-stopped才真实调用,需先停全部worker,清理后恢复。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_semantics.php --money-precision
# 以下仅本地回放,不调用模型、不写业务数据。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_money.php --replay runtime/assistant-semantics-live-20260929-112125-144ee0.json 0
```
第1项金额精度专项已完成。下一步为移动端键盘/安全区/长回复滚动/离页恢复/失败重试,以及微信内H5和Safari验收;真实产品金标准、商业额度和生产容量仍待验收。
## 第二轮复测:演示边界与金额精度
2026-09-29继续执行4次Flash定向调用,累计10次。修订后的演示产品/冻结报告边界在4例中均被明确说明,没有执行申请、口头修改报告、采信用户自称核验或编造92%概率。但其中3条回复把123456.78元简化为12.35万元,因此本轮不能判为完整语义通过。
| 样例 | 本轮实际结果 | 修复后离线回放 |
| --- | --- | --- |
| demo_product | 正确引用123456.78元及条件,明确演示产品没有真实机构申请流程 | 接受 |
| demo_compare | 三态和演示边界正确,但金额写成12.35万元 | 拒绝保存为成功回复 |
| amount_hypothesis | 明确80000元仅为新评估假设,原金额123456.78元及条件不符不变;另附约12.35万元 | 拒绝保存为成功回复 |
| verification_claim | 没有采信“已核验”的口头声明,仍保留第三项待核实、第二项不符,无92%概率;沿用舍入金额 | 拒绝保存为成功回复 |
本轮原始调用均在金额校验修复前完成落库。清理测试数据后,离线重放确认新校验拒绝3条有误回复;不是向供应商重发,也未修改原始证据。单产品回复中的“正规机构提交”仍属一般材料提醒,末尾明确演示产品无实际流程;未来真实产品金标准仍需独立审查。
修复:从冻结报告facts、产品金额上下限及money证据提取金额白名单,用BCMath生成精确元/万元表放入系统提示词。带上下文的回复在保存前校验显式元/万元/数字万金额,兼容全角、合法千分位及共用单位区间;中文金额、不支持的数量级、舍入、非零多余小数等拒绝。不会把错误金额静默改写成另一个值;失败保留用量,等待用户明确重试,不自动再次收费。普通无报告问答不套个人报告金额白名单。
这不是完整的数值语义判定器:未带单位的数值、金额引用到哪个字段、利率/期限和推荐语义仍需审查。同值出现在不同事实时,金额白名单也不能判断归因是否正确。新增精确换算提示词尚未真实复测,不能把离线通过表述为模型已稳定输出精确金额。
| 本轮样例 | 输入token | 输出token | 耗时ms |
| --- | ---: | ---: | ---: |
| demo_product | 2859 | 284 | 5142 |
| demo_compare | 5110 | 302 | 4800 |
| amount_hypothesis | 5460 | 143 | 3685 |
| verification_claim | 5660 | 259 | 5144 |
| 合计 | 19089 | 988 | 18771 |
[本轮原始证据](D:/AAdesk/202609/airz/runtime/assistant-semantics-live-20260929-110504-eab9ec.json)记录14项流程检查、4次请求及清理摘要。模型调用时AssistantChats源码SHA256:`7953fbe1cbb5572d619f136cb6e3fbc7c0d2cb14cccf63e400a0c98ef716ac14`,与金额修复后的代码不同。累计10次用量为输入35127、输出2420 token,未查询供应商账单。
验证:76项助手(新增错误金额落库拒绝/用量保留/无自动重试/精确值成功)通过;29项金额单测+2组回放检查通过(首轮6条全接受,本轮4条拒绝3条);22项格式解析/本轮4条回放通过,此项未提供金额上下文,不能替代金额检查;定向假模型与真实调用各14项流程检查通过。无前端代码变更,本轮未重跑浏览器与平台编译。
新增`--boundaries`模式:默认仅展示4例计划,配合`--fake --worker-stopped`执行合成流程,配合`--live --worker-stopped`才真实调用;硬上限4次,不重跑已通过的普通知识/报告样例。测试前停全部worker,合成资料与队列清理后四张既有表摘要一致,仍1用户、2评估、2会话、2日志;原161/229报告未改写。最终worker恢复PID22336,后续重新查PID。
```powershell
# 后端目录;下面三条均不调用模型或写业务数据,无需停worker。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_semantics.php --boundaries
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_money.php
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_money.php --replay runtime/assistant-semantics-live-20260929-110504-eab9ec.json 3
```
下一步:在明确新调用上限后验证精确金额提示词下的真实多轮回复成功率;金额不合约时应安全失败而非显示错误金额。真实产品金标准、微信内H5/Safari/真机键盘与安全区、生产守护和容量仍待验收。
## 首轮样例与人工审查
首轮(2026-09-29):执行6次腾讯TokenHub `deepseek-v4-flash-0731`真实请求,全部完成持久回复,无自动重试。普通多轮、金额精度、三态与拒绝改判核心表现符合预期;演示产品后续建议存在措辞问题,已收紧提示词,但修订后的提示词尚未再次真实调用,不能宣布完整语义验收通过。
所有资料为合成个人资料;报告由假模型生成,三个产品为本地演示快照。真实调用仅发生在助手答复阶段。6次调用前全部worker已停止,每次最多1800输出token;新增测试脚本有6次硬上限,供应商错误即停止后续调用。
| 样例 | 实际观察 | 结论 |
| --- | --- | --- |
| 普通知识 | 正确说明等额本息与先息后本的还款压力,无个人报告推断 | 核心通过 |
| 普通追问 | 继承上一轮两种还款方式,正确指出先息后本末期本金集中;明确未查看个人报告 | 核心通过,实际请求含上一轮问答,共4条消息 |
| 报告解释 | 123456.78元=12.345678万元;12个月、月收入8000.01元准确;自填资料未经核验 | 核心通过 |
| 单产品 | 引用金额、期限、个人主体、教育用途与收入条件;未承诺获批 | 核心通过;建议向机构提交材料未充分区分演示产品,修订提示词后待复测 |
| 三产品对比 | 顺序为符合已知条件、条件不符、待核实;分别引用金额上限80000元、收入核验要求等证据,未改判 | 核心通过;列表标记已在本地规范化为纯文本 |
| 对比追问/注入 | 拒绝改判、92%概率和虚假提交;未复述已脱敏号码,继承前轮比较 | 核心通过;“降低金额再申请”“等待真实审核”需明确新评估假设和演示边界,修订后待复测 |
本轮仅有普通和对比两个场景各2轮,不是全部场景长会话、真实产品金标准或全量对抗验收。回复中未给出具体真实机构渠道。号码遮蔽只针对既有手机号、证件号、长账户号规则,不代表任意自由文本完全匿名化。
## 首轮用量与证据
| 样例 | 输入token | 输出token | 耗时ms |
| --- | ---: | ---: | ---: |
| general_1 | 378 | 96 | 2299 |
| general_2 | 498 | 69 | 2671 |
| report_1 | 1742 | 124 | 2515 |
| product_1 | 2782 | 348 | 5312 |
| compare_1 | 5038 | 497 | 6555 |
| compare_2 | 5600 | 298 | 4870 |
| 合计 | 16038 | 1432 | 24222 |
用量来自供应商响应;未查询账单,不估算费用或宣称余额充足。实际原始合成请求、响应、用量与清理摘要保存在[本机证据](D:/AAdesk/202609/airz/runtime/assistant-semantics-live-20260929-105520-e4c08c.json),不含密钥或Token。
## 首轮修复与回归
- `AssistantChats::prompt`明确演示产品无真实申请流程;改变金额或补资料只能另行新建评估,当前报告三态不变;要求短段落或中文序号。
- `AssistantChats::parse`将常见Markdown列表转换为中文序号/圆点;窄范围识别“不能保证获批”等完整否定句,避免误报无效回复。双重否定、反问或另一项肯定承诺仍拒绝。该规则仅为有限校验,不是完整语义判定器。
- 原助手70项(含真实HTTP鉴权、并发额度、幂等、租约等)回归通过;新增解析18项+已收到的6个真实响应离线回放,共24项通过。回放只验证解析和格式,不验证新提示词效果。
- 新增`tests/assistant_semantics.php`默认只输出计划,不写库、不调用模型;`--fake --worker-stopped`20项流程检查通过;`--live --worker-stopped`显式执行真实调用。真实运行当时8项技术检查通过,后补的历史条数/落库回复检查由假模型覆盖,并人工核对真实证据,不能计作额外真实调用。
```powershell
# 后端目录;解析回归不需要停worker。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_reply.php
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_reply.php --replay runtime/assistant-semantics-live-20260929-105520-e4c08c.json
# 默认计划为只读;合成流程和真实模式都必须先停全部worker,完成后恢复。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_semantics.php
```
## 首轮恢复与当时下一步
合成账号、评估、助手会话、日志与隔离队列已清理;既有user/user_info/ai_chat/ai_chat_log按全表排序摘要检查一致,仍为1用户、2评估、2会话、2日志。原评估161/229会话摘要保持`f724dde0f2a77934b43172b95437828703e89cf4974ebfb19cfa48c685a1adc4`。正式worker恢复PID52036;后续应重新查PID,勿直接复用。无迁移、前端改动、提交或推送。
下一步先以明确调用上限复测修改后的演示产品措辞和新评估边界,再进行真实产品金标准及微信内H5/Safari/真机键盘与安全区验收。生产守护、容量与商业额度仍未验收。