feat(t211): return SKU-matched image search candidates

This commit is contained in:
QiuSW
2026-07-27 18:35:59 +08:00
parent 667a64f6c2
commit edfee2c35e
26 changed files with 1838 additions and 153 deletions
+30 -11
View File
@@ -474,7 +474,9 @@ App 使用加密 outbox 按“事件 -> evidence asset -> 候选 -> 终态”顺
### `POST /api/v1/tasks/{task_id}/candidates`
批量保存当前 execution 实际检查的最多 5 个候选,必须带 `Idempotency-Key`:
批量保存当前 execution 实际检查后通过策略的 `0..5` 个候选,必须带
`Idempotency-Key`。正式参考图检索使用固定审计值 `PDD_IMAGE_SEARCH`,不把标题或
SKU 伪装成图片检索词:
```json
{
@@ -482,18 +484,18 @@ App 使用加密 outbox 按“事件 -> evidence asset -> 候选 -> 终态”顺
"claim_generation": 1,
"task_content_sha256": "64-char-lowercase-hex",
"execution_mode": "AI_ASSISTED",
"search_query": "黑色 20L 双肩包",
"search_query": "PDD_IMAGE_SEARCH",
"provenance": {
"provider_id": "device-configured-provider",
"model": "device-configured-model",
"prompt_version": "candidate-evaluation-v1",
"schema_version": 1
"prompt_version": "candidate-evaluation-v2",
"schema_version": 2
},
"candidates": [
{
"ordinal": 1,
"title": "页面可见标题",
"sku_text": "黑色 20L",
"sku_text": "BLACK-L",
"price": "189.00",
"product_url": "https://mobile.yangkeduo.com/goods.html?goods_id=example",
"image_url": "https://example.invalid/short-lived-image",
@@ -501,10 +503,24 @@ App 使用加密 outbox 按“事件 -> evidence asset -> 候选 -> 终态”顺
"evaluation": {
"decision": "REVIEW",
"score": 0.82,
"matched": ["颜色接近"],
"missing_or_uncertain": ["容量需人工确认"],
"matched": ["颜色和尺码均有可见证据"],
"missing_or_uncertain": [],
"rejection_reasons": [],
"confidence": 0.78
"confidence": 0.78,
"hard_constraints": [
{
"kind": "COLOR",
"expected": "BLACK",
"status": "MATCH",
"evidence": "候选页面显示黑色"
},
{
"kind": "SIZE",
"expected": "L",
"status": "MATCH",
"evidence": "候选页面显示 L 码"
}
]
}
}
],
@@ -516,9 +532,12 @@ App 使用加密 outbox 按“事件 -> evidence asset -> 候选 -> 终态”顺
}
```
`MANUAL_FIRST` 时 `provenance` 和 `evaluation` 为空,但候选观察、搜索词和人工结果仍
可提交。后端校验 ordinal 连续唯一、最多 5 个和任务内容哈希;不请求 `product_url`
或 `image_url`,主要证据必须是已鉴权 asset。
`MANUAL_FIRST` 时 `provenance` 和 `evaluation` 为空,但候选观察、搜索审计值和人工
结果仍可提交。`AI_ASSISTED` 的非空 `evaluation` 必须同时包含唯一的 `COLOR` 和
`SIZE`,且全部为 `MATCH`;schema v2 还要求分数和置信度均不低于 `0.75`,非空批次的
推荐必须指向排序后的第 1 项。没有候选满足条件时提交空 `candidates` 和空
`recommendation`,不得用弱匹配或未知项凑数。后端校验 ordinal 连续唯一、最多 5 个和
任务内容哈希;不请求 `product_url` 或 `image_url`,主要证据必须是已鉴权 asset。
### `POST /api/v1/tasks/{task_id}/complete`