跳到主要内容

将经验写成指令

什么证据值得把经验提升为指令?​

  • 触发条件一: 多条相似轨迹反复暴露同一种策略错误;
  • 触发条件二: 错误能够用语言清楚描述;
  • 反例: 单条轨迹的偶发问题、难以语言化的高维能力,都不适合写成指令;

系统 Prompt、Skill、程序/Harness 的分工是什么?​

载体生效范围适合内容
系统 Prompt对所有任务生效全局通用的行为原则
Skill匹配到某个领域或工具时按需加载领域判断路径与流程
程序/Harness始终执行权限与其他硬约束
  • 关系: 知识库提供“可以参考的资料”,Prompt 与 Skill 规定“应该怎样行动”;

System Prompt Learning 是什么?​

  • 提出与命名: Andrej Karpathy 将这种做法称为系统提示学习(System Prompt Learning);
  • 直觉: 模型遇到问题后,用一句清楚的话提醒未来的自己;
  • 与提示工程的区别: 第二章讨论怎样组织一份好 Prompt;这里讨论什么反馈足以触发修改,以及更新提案怎样安全发布;

有哪些自动的指令优化方法?​

方法工作方式
DSPy在开发集上搜索指令与示例
OPRO根据历史提示词及其得分提出提示提案
GEPA从失败轨迹的自然语言反思中生成并筛选提示提案
  • 适用场景: 这些方法适合离线批量优化;
  • 生产取向: 生产环境更适合使用可审计的最小更新提案,并保留快速回滚路径;

更新提案应满足什么形态与测试门槛?​

  • 形态: 带来源的最小 diff,而不是让模型每次都重写整份 Prompt;
  • 模式来源: 命名的最小 diff + 可回滚模式见三条学习路径;
  • 双集测试: 待验证版本必须同时在触发失败的边界集与正常工作的保留集上测试;
  • 门槛: 前者要改善,后者不能退化;
  • 尺度问题: 反复重写整份提示词会让旧版本的重要细节逐渐消失(见从更新产物到更新更新方法);

指令更新为什么不能由提炼者自己批准?​

  • 风险: 模型会把观察到的行为当作应然的行为,从而把失败写成规范;
  • 要求: 提炼产物不能直接发布,须经与提炼者相互独立的验证;
  • 案例: 转接边界的规则提炼见转接边界规则的提炼案例;