退货反馈到详情页修正地图
卖家最容易做错的一件事,是看到几条「尺码偏小」就改尺码表,看到两条「到货破损」就把包装说明改了三遍。前者可能成立,后者根本不该出现在详情页清单里——破损是物流或包装工艺问题,改描述解决不了。
本技能处理的是这中间的一步:把已经导出的脱敏退货与差评记录,整理成一张能派给运营、每条都有证据、并且明确告诉你「这条不该改详情页」的修正地图。脚本不登录店铺、不抓取平台、不接触顾客 PII、不自动修改商品、不回复顾客、不计算或执行退款。
输入与澄清
字段表、原因分类表、归因规则与优先级见 @references/guide.md(同目录 references/sample.json 是可复现样例,输出分布固定)。
最少确认:as_of、window、listing_fields、listing_facts、records[]。
必须问清的关键点:
listing_fields是「现在真的有哪些字段」。工具只在这些字段里给建议。没声明的字段只会出现在「建议先声明的字段」里,不会被当成现有字段指路。listing_facts里留null就是「不知道」。工具不会替你补成分、适配型号或颜色名——未知事实会在改写前被拦下。- 不要提交顾客姓名、电话、地址、订单号或店铺凭据。本工具不需要 PII;出现凭据形态的内容会被整体拒绝且不回显。
- 归因不是因果。「可归因」只表示这条反馈能落到一个可以改写的字段上,不代表详情页导致了退货。
- 「到货破损」这类不会出现在修正清单里。物流破损、发错货、缺件、功能与质量缺陷、配送延迟、功效主张都会被判为不可归因,按各自流程处理。
- 样本不够时不给改写建议,只给收集清单。低于
min_sample(默认 3 条)的原因簇不会进入人工改版任务单,也不会附带目标字段;它们只出现在独立的evidence_collection_tasks(「证据不足:先收集,暂不改写」)里,说明还差几条、先观察什么。两个清单互斥,同一条原因不会同时出现在两边。 - 功效类反馈只记录不改写。出现「缓解」「没效果」一类表述时会被标出,不得据此修改详情页的功效描述。
- 批次要填。填了批次,修正范围就会被限定到具体批次,不会扩散成全量改版。
执行
- 按 @references/guide.md 的字段表整理输入 JSON。第一次使用建议先用 @references/sample.json 跑一遍。
- 用 Python 3.9+ 执行本包脚本(无第三方依赖、不联网):
python3 "<skill-directory>/scripts/run.py" "<input.json>",Windows 可用py -3。 - 先看
status:REJECTED(疑似凭据,已拒绝且未回显);BLOCKED(窗口非法或记录冲突);INPUT_INCOMPLETE(缺as_of或没有可分析记录);GAPS_FOUND(可用但有缺口)。 - 看
clusters:只处理ATTRIBUTABLE且优先级为HIGH/MEDIUM的簇。 - 看
revision_tasks:改哪些字段、限定哪个批次、依据哪几条record_id。只包含达到样本线的原因。 - 看
evidence_collection_tasks:样本还不够的原因,这里只有观察项,没有任何改写动作、没有目标字段,本次不要据此改详情页。 - 看
unknown_facts:补齐之前不要动对应字段。 - 看
not_to_rewrite与claim_flags:功效与绝对化表述不得复制到文案里。 - 看
verification_experiments:按两周窗口对比该原因的占比变化。 - 看
clarification_questions,按Q-01顺序去问。
运行约束
- 只读:只读取用户提供的那一个 JSON;不登录店铺、不抓取平台、不读取订单或顾客数据、不写文件、不访问任何 URL。
- 不改动:不自动修改商品、不发布详情页、不回复顾客、不计算或执行退款。
- 不主张因果:归因分层只表示「能否落到可改写字段」与证据强弱,不是因果结论。
- 不编造:成分、材质、适配型号、认证、功效一律不推断;未知事实进入
unknown_facts并在改写前拦下。 - 不默认 0:缺失的评分、批次、SKU 保持未知并单列,不参与计算。
- 确定性:排序全部显式固定(簇按优先级、条数、原因码排序;字段名、问题编号均固定),同一输入输出逐字节一致。
- 批次限定:每个簇都给出
affected_batches与affected_skus,修正任务单据此限定范围。 - 样本门槛:低于
min_sample不给改写建议——这类簇只进evidence_collection_tasks观察清单,不带目标字段、不带改写动作,与revision_tasks严格互斥;「不可归因」优先于「样本不足」。 - 提示注入逐字段检测、位置精确、低误报:覆盖
records[].reason_text,命中时只加标记并在injection_flagged中给出精确路径(如records[5]/reason_text)。检测要求「动作词 + 目标词」同句共现,普通抱怨不会被误标。 - 不可信文本先转义再入简报,命中即隐藏:
markdown_summary中所有自由文本走同一转义处理(去控制字符、折叠空白、对 Markdown 元字符加反斜杠);命中注入的值改用固定占位「已隐藏疑似提示注入文本」。不做 NFKC 到展示文本,避免把中文全角标点改写成半角。 - 超长文本截断:
reason_text超过 500 字符时简报中截断并标记REASON_TEXT_TRUNCATED,分类仍用完整文本。 - 隐私门禁:字段名命中
password、token、api_key一类凭据名,或字符串值具备真实凭据形态,直接拒绝处理且不回显该内容。 - 免责:输出是反馈归因与改写候选材料,不构成因果结论、合规意见或平台规则解释;是否修改详情页由人工决定。