🧠AI Prompt 与上下文

Few-shot与结构化输出

难度:⭐ | 高频指数:🔥🔥🔥 | 应用岗相关度:★★★

面试回答

常见问法

Few-shot 为什么有效?为什么结构化输出在工程里这么重要?

回答

Few-shot 的作用是给模型示范“你希望它按什么模式理解和输出”,比纯规则堆砌更直观。结构化输出则是把模型回答约束成稳定格式,方便程序消费、校验和下游集成。

prompt = """
任务:判断用户意图并输出JSON

示例1:
输入: 帮我查一下明天北京天气
输出: {"intent": "weather_query", "city": "北京", "date": "明天"}

现在处理:
输入: 帮我查上海周五天气
输出:
"""

追问

  • 示例是越多越好吗
  • Few-shot 和微调的边界是什么
  • 为什么 JSON 格式化输出常常比自然语言输出更稳

原理展开

Few-shot 不是简单“举例子”,而是在给模型提供任务边界、输出风格和推理模式。常见收益有:

  • 降低歧义
  • 提高格式稳定性
  • 让模型更贴近业务标签定义

结构化输出常见价值:

  • 接工具更方便
  • 更容易做校验
  • 失败时更容易重试和纠错

工程里最好把它讲成“系统可控性”问题,而不是“Prompt 美化”问题。

易错点

  • 为了 few-shot 一味堆很多例子,挤占真正上下文
  • 示例风格不一致,反而污染输出
  • 结构化输出只写“请输出 JSON”,但没有字段定义

记忆技巧

记住:

  1. Few-shot = 给模式示范
  2. 结构化输出 = 给系统接口
  3. 格式约束 = 降低接入成本和解析风险

面试速答版

  • Few-shot 本质是给模型示范输出模式,降低歧义、提高格式稳定性
  • 结构化输出(JSON等)让系统可解析、可校验、可重试,是工程可控性问题
  • 示例不是越多越好,3-5 个覆盖典型+边界即可,太多会挤占上下文
  • 关键决策:示例风格必须一致,否则反而污染输出
  • 常见坑:只写”请输出 JSON”但没定义字段 schema
  • Few-shot 和微调的边界:少量模式用 few-shot,大量稳定模式考虑微调
  • 一句话最佳实践:Few-shot 给模式,结构化给接口,两者配合让系统稳定可集成
Related · Prompt 与上下文