Shadow Prompt Loop
在真实流量上并行运行 baseline prompt 与 candidate prompt,只收集分歧案例,用状态文件累积证据后再决定是否切换的提示词 A/B Test 循环。
简介
Shadow Prompt Loop 是《分享8个Claude Fable 5下线前必跑的超实用Prompt》中最值得直接抄的 loop 工作流之一。它解决的问题是:新 prompt 看起来更好,但如果直接替换线上版本,可能引入不可见退化;如果只用少量人工样例测试,又无法覆盖真实用户请求。Shadow Prompt Loop 的做法是让 baseline prompt(当前线上版本)和 candidate prompt(待验证的新版本)在真实流量上同时运行,但不直接影响线上输出,只记录两者明显不同的分歧案例。
这个方法的核心不是“多跑几条样本”,而是把提示词优化变成一个有状态、有停止条件、有风险边界的 Loop Engineering 任务。每轮读取 shadow-prompt-STATE.md,知道当前 baseline、candidate、已累计的 disagreement cases、已测数量和当前结论;每轮只从真实流量抽取代表性请求,边缘 case 与高频场景各占一半;相同输出直接跳过,只有分歧才进入人工或模型评审。积累 50 个有效分歧 case 或运行 14 天后,生成包含胜/平/负比例、典型分歧场景和切换风险的推荐报告。
Shadow Prompt Loop 的价值在于把 prompt 迭代从“感觉更好”推进到“基于真实分歧证据决策”。它尤其适合客服、内容审核、搜索问答、结构化抽取、摘要改写、路由分类等高频 LLM 产品场景。新 prompt 不必立刻接管生产,只需在影子模式中积累证据;证据不足时不切换,证据充分时再做灰度或正式替换。
关键信息
- 类型:提示词评估 loop / 影子 A/B Test
- 核心对象:baseline prompt 与 candidate prompt
- 输入样本:真实流量中的代表性请求,边缘 case 与高频场景各占一半
- 只记录:两个 prompt 输出明显不同的 disagreement cases
- 状态文件:
shadow-prompt-STATE.md - 停止条件:50 个有效分歧 case 或 14 天
- 风险颜色:绿色,只读流量 + 写状态文件,不改线上配置
- 相关概念:Loop Engineering、Goal 提示语、提示词工程、验证者子代理、自我改进代理系统
核心特性
影子运行,不直接改线上
Shadow Prompt Loop 的第一条约束是“不直接替换线上 prompt”。candidate prompt 与 baseline prompt 并行运行,但线上仍使用 baseline 输出。这样可以在不影响用户体验的前提下观察候选 prompt 的真实表现。文章把这种 loop 标为绿色:只读真实流量、写 state file、不改线上配置,因此可以完全自动跑。
只收集分歧案例,降低评估成本
如果 baseline 和 candidate 输出相同或差异不重要,记录它们没有价值。Shadow Prompt Loop 只保留明显不同的 case,把评审成本集中在真正能区分 prompt 的样本上。每个分歧案例都要标注哪个更好、为什么、candidate 是否一致性更优。长期看,分歧堆会形成最有价值的 eval 集:它不是拍脑袋构造的测试题,而是真实流量中 prompt 版本会分叉的地方。
状态文件让每轮比上一轮更聪明
shadow-prompt-STATE.md 是这个 loop 的记忆。它至少记录 baseline prompt、candidate prompt、已积累的 disagreement cases、已测多少条、当前倾向和未解决问题。每轮开始前先读 state file,就不会重复评估已处理样本;每轮结束后更新 state file,下一轮才能接着前一轮继续。这与 自我改进代理系统 中“离开前先写,开场时先读”的状态文件纪律一致。
停止条件防止无限评估
Prompt 测试容易陷入“再看几条”的无限循环。Shadow Prompt Loop 用两个硬停止条件控制范围:达到 50 个有效分歧 case,或运行 14 天。达到停止条件后不再继续积累,而是生成推荐报告。报告必须包含 candidate 胜/平/负比例、典型分歧场景、切换风险评估,而不是简单说“建议替换”。
不同素材中的观点
-
2026-07-07-woshipm-fable-5-prompts-before-offline:作者认为 Machina 的 25 个 loop 中最值得抄的是 Shadow Prompt Loop,因为它把新提示语测试放到真实流量的 A/B Test 中,用数据决定好坏。文章强调,每个 loop 都应有排期、单轮变更、同一检查标准、状态文件和停止条件;Shadow Prompt Loop 则把这些要素具体落到 prompt 评估场景。
-
2026-07-07-blocktempo-fable-loop-library-25-workflows:这篇素材给出了 Shadow Prompt Loop 在 25 个 Loop 工具库中的原始位置:第 25 个研究/决策工作流。它的核心警告是:在精挑细选的样例上测试新 prompt,只能证明它通过了你的想象力;真正可靠的做法是让 baseline 与 candidate 在真实流量的影子模式中并行运行,由分歧案例决定是否切换。这补强了 Shadow Prompt Loop 的风险边界:它属于绿色循环,因为不直接改变线上 prompt,只读真实请求并写入状态文件。
实用信息
推荐状态文件结构
# shadow-prompt-STATE.md
## Baseline prompt
当前线上版本:...
## Candidate prompt
待验证版本:...
## Progress
- 已抽取请求数:0
- 有效分歧 case:0 / 50
- 已运行天数:0 / 14
- 当前结论:证据不足 / 候选领先 / 候选风险较高
## Disagreement cases
| id | 请求类型 | baseline 输出摘要 | candidate 输出摘要 | 更优版本 | 原因 | 风险 |
|----|----------|------------------|--------------------|----------|------|------|
## Open questions
- ...推荐运行 prompt
/loop daily, on real traffic
读取 shadow-prompt-STATE.md。
从今天真实流量中抽取 N 条代表性请求,边缘 case 与高频场景各占一半。
同时用 baseline prompt 和 candidate prompt 各跑一遍。
只记录明显不同的输出,相同或等价输出跳过。
每个分歧 case 标注:哪个更好、为什么、candidate 是否一致性更优、是否引入风险。
不要替换线上 prompt,只更新 shadow-prompt-STATE.md。
达到 50 个有效分歧 case 或 14 天后,生成是否切换报告。切换报告应包含
- candidate 胜/平/负比例。
- 候选明显更优的典型场景。
- 候选明显更差或有风险的典型场景。
- 是否需要继续灰度、回滚条件是什么。
- 是否应把分歧案例沉淀为 eval suite。