Files
airz-uniapp/docs/AI助手真实语义验收.md
T
hujun 542c107317 feat: 优化AI助手及报告对比界面,完成金额精度专项验证
- 调整环境配置切换至测试服
- 实现AI助手上下文折叠展开功能,优化界面布局
- 新增报告对比首屏短参数展示,简化信息呈现
- 调整报告页布局,优化导出组件为紧凑模式
- 完成原型08金额精度三轮真实专项验证,新增金额守卫逻辑
- 更新文档记录部署、数据库切换及验收进展
2026-09-29 17:27:25 +08:00

13 KiB
Raw Blame 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

三轮真实证据;源码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;无迁移、提交、推送。

# 默认只输出三轮计划;显式--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

本轮原始证据记录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。

# 后端目录;下面三条均不调用模型或写业务数据,无需停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

用量来自供应商响应;未查询账单,不估算费用或宣称余额充足。实际原始合成请求、响应、用量与清理摘要保存在本机证据,不含密钥或Token。

首轮修复与回归

  • AssistantChats::prompt明确演示产品无真实申请流程;改变金额或补资料只能另行新建评估,当前报告三态不变;要求短段落或中文序号。
  • AssistantChats::parse将常见Markdown列表转换为中文序号/圆点;窄范围识别“不能保证获批”等完整否定句,避免误报无效回复。双重否定、反问或另一项肯定承诺仍拒绝。该规则仅为有限校验,不是完整语义判定器。
  • 原助手70项(含真实HTTP鉴权、并发额度、幂等、租约等)回归通过;新增解析18项+已收到的6个真实响应离线回放,共24项通过。回放只验证解析和格式,不验证新提示词效果。
  • 新增tests/assistant_semantics.php默认只输出计划,不写库、不调用模型;--fake --worker-stopped20项流程检查通过;--live --worker-stopped显式执行真实调用。真实运行当时8项技术检查通过,后补的历史条数/落库回复检查由假模型覆盖,并人工核对真实证据,不能计作额外真实调用。
# 后端目录;解析回归不需要停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/真机键盘与安全区验收。生产守护、容量与商业额度仍未验收。