# 给 AI 的提号 SOP 长跑优化任务 ## 目标 持续优化 `@vocmarket/tihao`,直到它能稳定把客户 Brief 转成商务可用的博主名单。优先级是结果质量:更高命中率、更强 Brief 相关性、更有效的参考账号/参考视频风格匹配、更低负样本率。 本轮不以成本为第一约束,但任何 token、sessionToken、模型 key、Authorization header 都不能写入代码、文档、报告、日志或输出文件。 ## 工作目录 ```text E:\workspace\tihao-ai\claude-code-tihao-sourcing ``` ## 运行前检查 先跑本地发布验收: ```powershell npm run acceptance npm run acceptance:providers:mock npm run optimization:status ``` 如果要验证真实 live/provider/video,先跑预检: ```powershell $env:TIHAO_SESSION_TOKEN="" $env:TIHAO_COMPANY="" $env:VOC_SOCIAL_TOKEN="" $env:VIDEO_ANALYSIS_BASE_URL="https://api.fmode.cn" $env:VIDEO_ANALYSIS_MODEL="doubao-seed-2-0-pro" $env:VIDEO_ANALYSIS_TOKEN="" npm run live:preflight -- --strict ``` 预检失败时不要启动 live 长跑。 把 live 预检和历史数据审计汇总成可交接的长跑就绪报告: ```powershell npm run longrun:readiness -- --mode full-matrix --preflight --history --output <输出目录> --strict ``` 如果要验证视频 A/B: ```powershell npm run longrun:readiness -- --mode video-ab --preflight --strict ``` 如果要验证客户选中率和人工补号减少: ```powershell npm run longrun:readiness -- --mode customer-effect --preflight --history --strict ``` ## 历史数据准备 如要验证客户选中率,先准备 5-10 个真实历史 Brief,包含客户原始 Brief、参考账号/视频、人工最终名单、客户最终选中/拒绝记录和拒绝原因。 验收: ```powershell npm run history:audit -- --input --output <输出目录> --strict ``` 只有 `history:audit` 显示可用于长期优化长跑,才可以验证客户选中率 30%/50%。没有真实客户选择字段时,只能验证商务复核通过率。 ## 受控 live 子集 正式长跑前先跑小子集。它会消耗真实额度,范围要小。 ```powershell $env:TIHAO_OVERNIGHT_LIVE="true" $env:TIHAO_OVERNIGHT_FIXTURES="dha-mom-baby" $env:TIHAO_OVERNIGHT_VARIANTS="baseline-live,reference-account,homepage-evidence,result-first" $env:TIHAO_OVERNIGHT_MAX_RUNS="4" $env:TIHAO_OVERNIGHT_FAIL_ON_GATES="true" npm run overnight:quality ``` 如果要验证真实 reference/homepage provider,打开严格门槛: ```powershell $env:TIHAO_GATE_REQUIRE_REFERENCE_PROVIDER="true" $env:TIHAO_GATE_REQUIRE_HOMEPAGE_PROVIDER="true" ``` 严格门槛打开后,fallback/sample 失败是正确结果,不要为了通过降低门槛。 ## 完整 live 矩阵 受控子集通过后再跑完整矩阵: ```powershell $env:TIHAO_OVERNIGHT_FIXTURES="dha-mom-baby,sensitive-skin-repair,healthy-snack,home-cleaning,618-list-seeding" $env:TIHAO_OVERNIGHT_VARIANTS="baseline-live,reference-account,homepage-evidence,video-enhanced,result-first,result-first-risk,result-first-broad" $env:TIHAO_OVERNIGHT_DELAY_MS="1500" $env:TIHAO_OVERNIGHT_RUN_RETRIES="1" $env:TIHAO_OVERNIGHT_RESUME="true" $env:TIHAO_OVERNIGHT_FAIL_ON_GATES="true" npm run overnight:quality ``` 查看: ```text outputs/overnight-quality-*/aggregate-summary.json outputs/overnight-quality-*/aggregate-report.md outputs/overnight-quality-*/manual-review-sample.csv ``` ## 参考视频 A/B 有参考视频时,单独验证视频分析是否真的提升提号结果: ```powershell npm run acceptance:video-ab ``` 通过标准: - B 组必须拿到真实视频 URL。 - B 组必须拿到封面、ASR/字幕、帧图资源中的至少一类。 - B 组证据卡不能只是 pending、fallback 或待补证据。 - B 组证据卡必须包含 text、ASR、visual、frame 中至少一类可解释信号。 - B 组 Top 10 证据命中候选增加。 - B 组强推荐数量、Top 10 平均分、参考风格分不得下降。 没有通过这条命令,不要说视频分析已经证明能提升提号率。 ## 人工复核和业务指标 人工复核 `manual-review-sample.csv`。长跑表已预置 `客户选择`、`归因类型`、`反馈原因` 三列,商务不用手动加列。 在“人工复核标签”列填写: - `可直接发客户` - `商务复核` - `跑偏` - `硬性规则违约` - `调性不符` - `主页质感不符` - `参考账号不像` - `可投但需补证` 如果拿到客户最终选择,在 `客户选择` 列填写: - `客户选中` - `客户拒绝` - `待客户反馈` 所有负样本必须填写 `归因类型`。负样本包括: - `跑偏` - `硬性规则违约` - `调性不符` - `主页质感不符` - `参考账号不像` 归因类型必须落到可优化环节,例如: - `需求解析错` - `隐性规则漏` - `召回关键词错` - `主页证据不足` - `视频证据误判` - `排序权重错` - `输出解释错` - `软件端表重复或排名不连续` 统计业务指标: ```powershell npm run review:metrics -- --input <已标注CSV> --output <输出目录> --strict ``` 短期目标: - 商务可用率 >= 60%。 - 负样本率 <= 10%。 - 负样本归因覆盖率 = 100%。 - 有客户选择字段时,客户选中率 >= 30%。 中长期目标: - 有参考账号的 Brief,客户选中率 >= 40%。 - 客户选中率稳定 >= 50%。 - 同类需求下人工补号量减少 50%。 ## 失败后怎么优化 不要降低门槛来凑通过。按失败样本归因: - 需求解析错。 - 隐性规则漏。 - 召回关键词错。 - 主页证据不足。 - 视频证据误判。 - 排序权重错。 - 输出解释错。 - 软件端表重复或排名不连续。 每轮只优化一个主要失败原因,重跑同一矩阵并记录提升。 ## 必须沉淀 每轮结束后更新: ```text docs/tihao-experience-implementation-log.md ``` 记录: - 运行命令。 - 输出目录。 - 是否 live。 - 是否打开严格 provider 门槛。 - `failureCount`、`gatePass`、`failedGateCount`。 - 软件端重复键和排名连续性。 - provider 状态。 - 人工复核指标或客户选中率。 - 明确说明还没有验证的边界。 同时运行: ```powershell npm run optimization:status npm run evidence:index ``` 如果状态里仍有 `ready_not_proven` 或 `blocked_by_external_data`,不要宣布长期优化目标完成。`evidence:index` 会扫描 `outputs` 下的长跑、状态审计、review metrics、历史数据审计和视频 A/B 产物,区分 `real_evidence`、`smoke_or_local` 和 `not_business_proof`。 ## 不允许做的事 - 不要硬编码 Parse token、模型 token、npm token 或 Authorization header。 - 不要在 `manifest.liveEnabled=false` 时声称已经 live 验证。 - 不要把 sample 模式通过当成命中率证明。 - 不要把 fallback/provider 状态存在当成真实 provider 通过。 - 不要为了通过而降低验收门槛。 - 没有通过 package acceptance 和目标 live gate 前,不要发布新 npm 版本。 ## 交付物 - 已更新的实现文件。 - 已更新的运行手册和验收文档。 - 最新 live 输出目录。 - baseline 与优化策略的指标对比。 - 人工复核或客户选择后的 `review-metrics` 报告。 - 明确说明已验证内容,以及仍需真实 provider、真实客户反馈或人工复核的内容。