Prompt Engineering 中级

Few-shot 深入:少样本示例的科学与艺术

超越入门:示例的选择、排序、格式一致性与动态检索,掌握 In-Context Learning 的工程细节。

为什么给示例有效

大模型具备上下文学习(In-Context Learning)能力:无需更新参数,仅从提示词中的示例识别出"任务模式"并照着做。示例的本质是用数据定义任务——比文字描述更精确。

示例选择的四个准则

  • 覆盖典型场景:每类常见输入至少一个示例;
  • 覆盖困难边界:最容易出错的 case(如"退款中的换货")值得单独示例;
  • 格式严格一致:输入输出的排版、标点、字段顺序完全统一,模型会照抄格式;
  • 数量 3~5 个起步:太多挤占上下文且边际递减,太少覆盖不足。

顺序敏感与动态选择

  • 模型对示例顺序敏感:与当前输入相似度高的示例放最后(近因效应);
  • 动态 Few-shot:示例库较大时,按当前输入的向量相似度实时挑最相关的 k 条(LangChain 的 SemanticSimilarityExampleSelector),兼顾效果与 token 成本 —— 这本质上就是 RAG 思想用在示例上;
  • 对比示例:给一组"错误示范 + 为什么错 + 正确做法",对易混淆任务效果显著。

何时不需要 Few-shot

指令足够清晰、任务模式常见(翻译、摘要)时,Zero-shot 即可,省 token 又省维护成本。判断标准:先跑 zero-shot,哪里错补哪个场景的示例

📝 课后练习

quiz-1 Few-shot 示例能有效引导模型的原因是?