[MVP] 采购运行时 AI 规格纠偏闭环 #253

Open
opened 2026-08-24 11:28:47 +08:00 by ila · 0 comments
Owner

背景与目标

部分 PDD 商品的 skus_json 来自蝦皮规格回填,包含台湾公斤建议等文字,并非 PDD App 当前真实规格。Admin 能基于这些候选创建采购任务,但 Client 在 PDD App 规格面板中按任务尺码精确选择时可能找不到对应项,当前只能安全失败,采购无法继续。

本 MVP 在不放宽真实采购安全门禁的前提下增加“运行时规格纠偏”:只有 Client 已确认商品正确、颜色选择成功、完整遍历当前颜色下的尺码,且精确/繁简等确定性匹配仍找不到唯一目标尺码时,才把真实候选提交 Admin。Admin 先执行公斤/斤、区间和文本规则,无法唯一确定时才调用现有 AI;只返回候选白名单中的一个结果。Client 重新读取页面并验证后精确点击,再继续原采购流程。

范围与非范围

范围

  • 新增一次性的 Client→Admin 运行时规格解析命令;它不是任务状态查询或轮询。
  • Client 只在采购规格选择阶段、不可逆动作之前触发。
  • 颜色已经成功选中后,采集当前颜色下完整、可购买的尺码候选;保留原始显示文字。
  • Admin 保存候选快照、快照哈希、规则/AI 决策、置信度和结果来源,用于审计和相同上下文复用。
  • Admin 先规则后 AI;模型只能选择服务端编号,不能生成规格、坐标或商品链接。
  • Client 收到匹配结果后重新读取页面,确认商品、颜色和候选仍一致,再点击并验证选中状态。
  • 规则、AI、网络或页面验证失败时,当前任务按现有失败接口安全结束,不自动重复采购。

非范围

  • 不按 spec_source=shopee_backfill 提前启动 AI;实际真机不匹配才触发。
  • 不处理商品 ID 错误、颜色选择失败、候选遍历不完整、安全点击位置缺失、点击后无法确认、登录/验证码/风控或价格异常。
  • 不把一次采购中观察到的部分尺码直接覆盖 pdd_products.skus_json。
  • 不让模型返回自由文本、点击坐标或新候选。
  • 不在进入 task_runs.irreversible_action_at 后请求规格解析。
  • 不自动付款,不改变单次提交、最终价格/数量/商品复核和不可逆后只核单规则。
  • 不自动创建或重新创建采购任务。

已确认架构决策

  1. 新增专用、版本化、幂等的 POST /api/v1/client/tasks/{task_id}/spec-resolution,并同步修改 Client 契约、Admin 实现文档、HTTP Gateway 和 Mock;不得复用提交失败接口承载“继续执行”语义。
  2. 请求幂等身份由任务、执行尝试和候选快照共同确定;同一请求重试返回同一持久化决策,不重复调用模型。
  3. 只接受曾由当前 Client 领取的采购任务;请求中的商品 ID、原任务规格和候选结构由服务端重新校验。
  4. Client 不上传原始无障碍 XML、订单号、收货信息或其他个人数据;只提交规格所需的最小候选字段。
  5. 确定性规则先处理繁简、空白/符号、公斤与斤换算、重量区间和唯一别名;存在重叠、缺失维度或多个候选时不得强选。
  6. AI 复用 #200/#201 的服务商、安全密钥、候选白名单、置信度阈值、超时和硬校验能力;运行时解析与原 SYB 批量 AI 匹配分别编排,不复制模型客户端和安全规则。
  7. Admin 以一条运行时规格解析记录保存候选观察和最终决策;它是任务执行审计,不是完整 PDD 商品采集结果。
  8. Client 在本地先持久化解析请求和响应,再按响应中的原始候选文字点击;刷新后候选快照变化则停止,不使用过期结果。
  9. 规格解析发生在数量设置、地址修改和不可逆提交之前。任何失败都不得跳过原有商品、规格、数量、价格和提交按钮复核。

阶段与单元任务

  1. 接口契约与审计数据模型。
  2. Admin 规则/AI 解析和幂等接口。
  3. Client 真机候选完整采集。
  4. Client 持久化解析并安全继续采购。
  5. 跨端契约、异常路径和真实设备验收。
  • #254 Admin:定义采购运行时规格解析接口与审计模型
  • #255 Admin:实现采购运行时真机规格规则与 AI 解析(依赖 #254,并复用 #200/#201)
  • #256 Client:采购尺码不匹配时完整采集真机候选(依赖 #254)
  • #257 Client:安全应用 Admin 规格解析结果并继续采购(依赖 #254、#255、#256)
  • #258 采购运行时 AI 规格纠偏端到端安全验收(依赖 #254–#257)
  • #260 修复 AI 规格返回后的繁简体颜色复核误判(#258 真机验收发现)

依赖、风险和回退

  • 父级大工单:#96 真实采购下单(不支付)闭环。
  • 复用并依赖 #199 下 #200/#201 的 Admin AI 配置与候选匹配能力。
  • #252 的 SYB 批量重新采集是采购前主动刷新路径,与本 MVP 的运行时兜底互补,互不替代。
  • 主要风险是错误候选、过期页面、模型误选、网络超时和继续执行时目标变化;通过完整遍历、候选哈希、白名单选择、硬校验、持久�����、重新读取页面和失败即停止控制。
  • 回退时关闭运行时解析入口,Client 恢复当前“规格不匹配即失败”行为;已有审计记录保留,不回写或删除采购任务。

MVP 验收标准

  • 只有商品正确、颜色已选、完整遍历尺码且没有唯一确定性匹配时才请求 Admin。

  • 商品不符、颜色失败、遍历不完整、控件不安全、选中无法确认及不可逆阶段均不会调用解析接口。

  • 请求���响应具备版本、幂等键、任务/尝试身份和候选快照哈希;网络重试不重复调用模型。

  • Admin 规则能处理繁简、公斤/斤和唯一重量区间;重叠区间保持不确定。

  • AI 只能返回当前候选编号,低置信度、冲突、缺失维度、超时或伪造编号均不允许继续采购。

  • Client 使用返回的原始候选文字,重新读取并核对页面后才能点击;候选变化时停止。

  • 成功选择后原有数量、价格、地址、不可逆标记、单次提交和只读核单门禁全部继续执行。

  • 规格候选和决策已审计入库,但不覆盖部分 PDD 主规格,不保存原始 XML 或个人数据。

  • Admin/Client 契约文档、HTTP Gateway、Mock 和实现一致。

  • 不自动付款,不在不可逆后重新下单。

  • 固定 Go 1.23.0、Python 3.10 自动化测试通过,并完成受控真机验收。

  • #266 修正规格候选遍历后的颜色复核顺序

  • #267 AI 规格返回后先选尺码再核对完整组合

  • #277 修正规格摘要误判颜色标题

AI 超时调整(2026-08-21)

  • #286 Admin / Client:AI 规格解析等待时间调整为 66 / 132 秒

2026-08-21 AI 等待时间生产发布

  • #287 Admin:部署 AI 规格解析 66 秒等待时间到生产(依赖 #286)
## 背景与目标 部分 PDD 商品的 `skus_json` 来自蝦皮规格回填,包含台湾公斤建议等文字,并非 PDD App 当前真实规格。Admin 能基于这些候选创建采购任务,但 Client 在 PDD App 规格面板中按任务尺码精确选择时可能找不到对应项,当前只能安全失败,采购无法继续。 本 MVP 在不放宽真实采购安全门禁的前提下增加“运行时规格纠偏”:只有 Client 已确认商品正确、颜色选择成功、完整遍历当前颜色下的尺码,且精确/繁简等确定性匹配仍找不到唯一目标尺码时,才把真实候选提交 Admin。Admin 先执行公斤/斤、区间和文本规则,无法唯一确定时才调用现有 AI;只返回候选白名单中的一个结果。Client 重新读取页面并验证后精确点击,再继续原采购流程。 ## 范围与非范围 ### 范围 - 新增一次性的 Client→Admin 运行时规格解析命令;它不是任务状态查询或轮询。 - Client 只在采购规格选择阶段、不可逆动作之前触发。 - 颜色已经成功选中后,采集当前颜色下完整、可购买的尺码候选;保留原始显示文字。 - Admin 保存候选快照、快照哈希、规则/AI 决策、置信度和结果来源,用于审计和相同上下文复用。 - Admin 先规则后 AI;模型只能选择服务端编号,不能生成规格、坐标或商品链接。 - Client 收到匹配结果后重新读取页面,确认商品、颜色和候选仍一致,再点击并验证选中状态。 - 规则、AI、网络或页面验证失败时,当前任务按现有失败接口安全结束,不自动重复采购。 ### 非范围 - 不按 `spec_source=shopee_backfill` 提前启动 AI;实际真机不匹配才触发。 - 不处理商品 ID 错误、颜色选择失败、候选遍历不完整、安全点击位置缺失、点击后无法确认、登录/验证码/风控或价格异常。 - 不把一次采购中观察到的部分尺码直接覆盖 `pdd_products.skus_json`。 - 不让模型返回自由文本、点击坐标或新候选。 - 不在进入 `task_runs.irreversible_action_at` 后请求规格解析。 - 不自动付款,不改变单次提交、最终价格/数量/商品复核和不可逆后只核单规则。 - 不自动创建或重新创建采购任务。 ## 已确认架构决策 1. 新增专用、版本化、幂等的 `POST /api/v1/client/tasks/{task_id}/spec-resolution`,并同步修改 Client 契约、Admin 实现文档、HTTP Gateway 和 Mock;不得复用提交失败接口承载“继续执行”语义。 2. 请求幂等身份由任务、执行尝试和候选快照共同确定;同一请求重试返回同一持久化决策,不重复调用模型。 3. 只接受曾由当前 Client 领取的采购任务;请求中的商品 ID、原任务规格和候选结构由服务端重新校验。 4. Client 不上传原始无障碍 XML、订单号、收货信息或其他个人数据;只提交规格所需的最小候选字段。 5. 确定性规则先处理繁简、空白/符号、公斤与斤换算、重量区间和唯一别名;存在重叠、缺失维度或多个候选时不得强选。 6. AI 复用 #200/#201 的服务商、安全密钥、候选白名单、置信度阈值、超时和硬校验能力;运行时解析与原 SYB 批量 AI 匹配分别编排,不复制模型客户端和安全规则。 7. Admin 以一条运行时规格解析记录保存候选观察和最终决策;它是任务执行审计,不是完整 PDD 商品采集结果。 8. Client 在本地先持久化解析请求和响应,再按响应中的原始候选文字点击;刷新后候选快照变化则停止,不使用过期结果。 9. 规格解析发生在数量设置、地址修改和不可逆提交之前。任何失败都不得跳过原有商品、规格、数量、价格和提交按钮复核。 ## 阶段与单元任务 1. 接口契约与审计数据模型。 2. Admin 规则/AI 解析和幂等接口。 3. Client 真机候选完整采集。 4. Client 持久化解析并安全继续采购。 5. 跨端契约、异常路径和真实设备验收。 - [ ] #254 Admin:定义采购运行时规格解析接口与审计模型 - [ ] #255 Admin:实现采购运行时真机规格规则与 AI 解析(依赖 #254,并复用 #200/#201) - [ ] #256 Client:采购尺码不匹配时完整采集真机候选(依赖 #254) - [ ] #257 Client:安全应用 Admin 规格解析结果并继续采购(依赖 #254、#255、#256) - [ ] #258 采购运行时 AI 规格纠偏端到端安全验收(依赖 #254–#257) - [ ] #260 修复 AI 规格返回后的繁简体颜色复核误判(#258 真机验收发现) ## 依赖、风险和回退 - 父级大工单:#96 真实采购下单(不支付)闭环。 - 复用并依赖 #199 下 #200/#201 的 Admin AI 配置与候选匹配能力。 - #252 的 SYB 批量重新采集是采购前主动刷新路径,与本 MVP 的运行时兜底互补,互不替代。 - 主要风险是错误候选、过期页面、模型误选、网络超时和继续执行时目标变化;通过完整遍历、候选哈希、白名单选择、硬校验、持久�����、重新读取页面和失败即停止控制。 - 回退时关闭运行时解析入口,Client 恢复当前“规格不匹配即失败”行为;已有审计记录保留,不回写或删除采购任务。 ## MVP 验收标准 - [ ] 只有商品正确、颜色已选、完整遍历尺码且没有唯一确定性匹配时才请求 Admin。 - [ ] 商品不符、颜色失败、遍历不完整、控件不安全、选中无法确认及不可逆阶段均不会调用解析接口。 - [ ] 请求���响应具备版本、幂等键、任务/尝试身份和候选快照哈希;网络重试不重复调用模型。 - [ ] Admin 规则能处理繁简、公斤/斤和唯一重量区间;重叠区间保持不确定。 - [ ] AI 只能返回当前候选编号,低置信度、冲突、缺失维度、超时或伪造编号均不允许继续采购。 - [ ] Client 使用返回的原始候选文字,重新读取并核对页面后才能点击;候选变化时停止。 - [ ] 成功选择后原有数量、价格、地址、不可逆标记、单次提交和只读核单门禁全部继续执行。 - [ ] 规格候选和决策已审计入库,但不覆盖部分 PDD 主规格,不保存原始 XML 或个人数据。 - [ ] Admin/Client 契约文档、HTTP Gateway、Mock 和实现一致。 - [ ] 不自动付款,不在不可逆后重新下单。 - [ ] 固定 Go 1.23.0、Python 3.10 自动化测试通过,并完成受控真机验收。 - [ ] #266 修正规格候选遍历后的颜色复核顺序 - [ ] #267 AI 规格返回后先选尺码再核对完整组合 - [ ] #277 修正规格摘要误判颜色标题 ## AI 超时调整(2026-08-21) - [ ] #286 Admin / Client:AI 规格解析等待时间调整为 66 / 132 秒 ## 2026-08-21 AI 等待时间生产发布 - [ ] #287 Admin:部署 AI 规格解析 66 秒等待时间到生产(依赖 #286)
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/cmautobuy#253