对于Prompt的思考:从“手写”到提示词采样、A/B Test 与自动化评测
收起tldr:1、好 prompt 是激活正确分布底层原理2、对于强 agentic 模型过度规则会造成模型开始“执行规则”而不是进入状态不同模型不同策略3、编写prompt的采样也是在挖掘自己的真正需求模型可以走多远、现在这个路径是不是正确的4、模型采样输出prompt和对应回答高频采样模型回答选择最优解尝试其他方向再选用向量激活向量5、人工A/B test ai评分多轮测试稳定性建立评测数据自动化测试一、先建立一个认知Prompt 不是命令而是分布激活器大模型不是传统程序。语言模型更像是给定上下文 → 激活某个语义/行为分布 → 采样一个可能输出所以 prompt 的作用不是“强制模型执行某条命令”而是通过语言、场景、角色、格式、示例、评价标准把模型引导到某个输出区域。比如这两种 prompt请自然一点不要啰嗦不要像 AI不要说教不要过度解释。和像一个有经验的产品顾问一样回答直接、具体、重视取舍先指出核心问题再给可执行建议。除此之外还记得temperature、top_p、max_tokens、存在惩罚、频率惩罚 这些采样参数吗 它们也是一部分。二、好 Prompt 的定义稳定提高目标输出概率我现在更倾向于这样定义一个好 prompt好 prompt 不是偶尔产出一个神回复而是能够稳定提高目标回复出现概率的上下文设计。这句话里有几个关键词。1. 不是单次效果而是稳定分布一次回答好不代表 prompt 好。可能只是采样运气好。一个 prompt 要经过多输入、多轮次、多温度、多模型测试后仍然稳定产出目标风格才算真正有效。2. 不是越完整越好而是越有效越好很多 prompt 写得很长但里面充满冲突约束要简洁但要全面。 要自由发挥但必须严格遵守。 要自然但每次必须包含三个部分。 要有创造力但不能偏离任何细节。这类 prompt 会让模型进入“执行规则”的模式而不是进入目标状态。尤其是强 agentic 模型过度规则会让它从“自然完成任务”变成“表演自己正在遵守规则”。3. 心智对齐一千个人心里有一千个 prompt哈姆雷特。你可以解释这些问题吗 什么是Agent什么是Harness什么是Prompt对于不同人脑子里对这些概念的理解可能会导致完全不同的 prompt 设计。模型可能需要理解什么是“我们”“我们”可能是AI、可能是开发者、可能是用户三、不同模型需要不同 Prompt 策略prompt 不是通用的。同一段 prompt 在不同模型上的表现可能完全不同。1. 弱模型需要脚手架能力较弱的模型通常更需要明确步骤、格式和约束。例如请按以下结构回答 1. 先总结用户问题 2. 再列出三个原因 3. 最后给一个建议 每部分不超过三句话。弱模型需要被“扶着走”。2. 强模型更适合状态激活强模型本身有更好的语义理解、上下文补全和任务规划能力。这类模型如果被过度限制反而容易失去自然性和创造力。对于强模型更好的方式是你是一个严谨但不啰嗦的技术顾问。 回答时优先指出关键判断、隐藏风险和可执行下一步。 不要写成百科解释也不要为了完整而展开无关背景。这类 prompt 没有规定每一步怎么做但激活了一个清晰的行为状态。3. 推理型模型目标与验证标准更重要推理模型通常不需要你规定太多中间步骤而更需要清楚定义目标是什么什么算成功有哪些约束哪些错误必须避免最终答案如何验收。例如请解决这个问题。优先保证结论正确。 如果信息不足请指出缺失信息。 不要为了给出答案而猜测关键事实。 最后用一小段说明你的置信度和主要不确定性。四、Prompt 编写本身也是需求发现很多时候我们以为自己知道想要什么其实只是知道一个模糊方向。比如我想要一个更好的总结 prompt。但“更好”是什么意思可能是更短更有洞察更适合发给老板更像咨询顾问更保留细节更适合行动决策更适合会议纪要更适合知识沉淀更适合二次传播更少废话更有观点。这些差异并不是一开始就能想清楚的。只有当你看到大量候选输出后才会发现原来我不是想要“全面”我是想要“能帮我决策”。 原来我不是想要“正式”我是想要“有判断”。 原来我不是想要“详细”我是想要“抓重点”。所以 prompt 采样不是简单测试效果它本身也是在挖掘需求。prompt 迭代的过程就是通过模型输出显化自己的隐性偏好。五、一个有效方法意图展开 响应映射六、用模型生成候选 Prompt我现在很推荐一种采样 prompt 的方法不要直接让模型回答原问题而是先让模型枚举用户可能真正想继续问什么再给出对应回答。也就是“意图展开 响应映射”。核心 prompt 可以是使用“意图展开 响应映射”。 不要直接回答原问题。 请先枚举 10 个“用户可能想继续问什么”然后针对每个问题给出一个示例回答。这个方法的价值在于它不是让模型直接给你一个答案而是让模型帮你展开“需求空间”。当需求空间被展开后下一步是让模型生成多个候选 prompt。好的候选集合是Prompt A专家诊断型。 Prompt B反方质疑型。 Prompt C新手教学型。 Prompt D决策建议型。 Prompt E风险审计型。 Prompt F执行清单型。 Prompt G高管摘要型。 Prompt H苏格拉底追问型。 Prompt I案例驱动型。 Prompt J评分裁判型。真正有价值的是探索不同方向而不是在同一方向上换词。七、不要选“最好的一次回答”要选“更稳定的 Prompt”有了候选 prompt 后不能只让每个 prompt 跑一次。因为单次输出有随机性。你应该让每个 prompt 在多个测试用例上多次采样。基本流程候选 prompt A ├── 测试用例 1 → 采样 5 次 ├── 测试用例 2 → 采样 5 次 ├── 测试用例 3 → 采样 5 次 └── ... 候选 prompt B ├── 测试用例 1 → 采样 5 次 ├── 测试用例 2 → 采样 5 次 ├── 测试用例 3 → 采样 5 次 └── ...然后比较的不是某个单点神回复而是整体分布。一个 prompt 如果偶尔非常惊艳但经常跑偏它未必好。另一个 prompt 如果上限没那么夸张但稳定可靠可能更适合生产。八、建立 Prompt A/B Testbtw, 我vibe coding 了一个简单的 Prompt A/B Test 工具欢迎试用和反馈prompt_testprompt A/B test 的核心是在相同输入、相同模型、相同采样参数下比较不同 prompt 的输出效果。一个最小 A/B test 可以包含prompt_id model temperature test_case_id input output judge_score human_preference failure_tags timestamp示例表结构字段含义prompt_id当前 prompt 的版本model使用的模型temperature采样温度test_case_id测试用例编号input用户输入output模型输出judge_scoreAI 评分human_preference人工偏好failure_tags失败标签notes人工备注A/B test 最重要的是保证对比公平同一批测试用例同一个模型相同采样参数相同上下文长度多次采样盲评更好人工偏好与 AI 评分分开记录。九、自动化评测脚手架有了 A/B test 之后下一步是自动化评测。一个 prompt evaluation harness 至少需要四层1. Prompt Registry管理 prompt 版本 2. Test Dataset管理测试用例 3. Runner批量运行 prompt × test cases × samples 4. EvaluatorAI 评分 规则检查 人工标注十、多轮测试稳定性如果 prompt 用在多轮对话或 agent 场景中单轮测试是不够的。多轮测试要看模型是否保持任务目标是否逐渐漂移是否重复同一种话术是否忘记前文约束是否在用户追问时能修正是否能处理冲突信息是否能承认不确定是否能主动澄清。一个多轮测试用例可以这样设计id: decision_summary_multiturn_001 turns: - user: 帮我总结这段项目会议。 - user: 再短一点给老板看。 - user: 哪些是需要他拍板的 - user: 如果只能保留三条呢 - user: 有没有你不确定但需要补充的信息 expected_behavior: - 不重复全部背景 - 能逐步压缩 - 能区分事实、判断和待确认信息 - 不编造负责人或截止时间多轮测试特别容易暴露 prompt 的真实稳定性。有些 prompt 单轮很强但第二轮开始就失焦有些 prompt 初始平平但多轮对话中非常稳。十一、一个最小 Prompt Evaluation Harness如果要快速落地可以先做一个最小版本。目录结构可以是prompt-eval/ prompts/ summarizer_v1.yaml summarizer_v2.yaml summarizer_v3.yaml datasets/ summarization_cases.yaml outputs/ runs/ evaluators/ judge_decision_summary.yaml scripts/ run_eval.py aggregate_results.py十二、Prompt 迭代像进化算法整个流程可以看成一个 prompt evolution loop定义目标 ↓ 意图展开 ↓ 生成候选 prompt ↓ 批量采样输出 ↓ AI judge 初筛 ↓ 人工 A/B 校准 ↓ 分析失败模式 ↓ 融合 top prompt ↓ 局部变异 ↓ 重新评测这里有三个关键操作1. 变异对已有 prompt 做局部改变更简洁更严格更少解释更强判断更强澄清更偏专家更偏教学更偏执行更偏审计更偏结构化。2. 交叉把多个优秀 prompt 的优点融合保留 A 的判断力、B 的简洁格式、C 的风险意识。3. 压缩把长 prompt 压缩成最小有效版本请将这个 prompt 压缩到 50%保留核心行为激活点删除重复规则和弱约束。最终目标不是得到一个最长 prompt而是找到最小、稳定、可解释、可评测的 prompt。