🧠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. 格式约束 = 降低接入成本和解析风险