🧠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”,但没有字段定义
记忆技巧
记住:
- Few-shot = 给模式示范
- 结构化输出 = 给系统接口
- 格式约束 = 降低接入成本和解析风险