核心概念 中级

Few-shot 示例与提示工程技巧

通过少量示例引导模型行为,掌握 few-shot 模板与常见提示工程模式。

Few-shot Prompting

在提示词中直接给模型几组"输入→输出"示例,是最简单有效的对齐手段:

from langchain_core.prompts import FewShotChatMessagePromptTemplate

examples = [
    {"input": "开心", "output": "情绪:正面"},
    {"input": "服务器崩了,真烦", "output": "情绪:负面"},
    {"input": "今天周三", "output": "情绪:中性"},
]
example_prompt = ChatPromptTemplate.from_messages([
    ("human", "{input}"), ("ai", "{output}"),
])
few_shot = FewShotChatMessagePromptTemplate(
    example_prompt=example_prompt, examples=examples)

prompt = ChatPromptTemplate.from_messages([
    ("system", "判断用户输入的情绪倾向。"),
    few_shot,
    ("human", "{input}"),
])

常用提示工程模式

  • 思维链(CoT):加一句"请一步步思考",推理类任务正确率明显提升;
  • 结构化要求:给出输出 JSON 的字段模板,让模型照着填;
  • 自我检查:要求模型先列出依据再下结论;
  • 否定约束放最后:模型对提示词末尾内容更敏感。

示例选择策略

当示例库很大时,可按语义相似度动态挑选与当前输入最接近的 k 条示例(SemanticSimilarityExampleSelector),兼顾效果与 token 成本。

📝 课后练习

quiz-1 Few-shot Prompting 指的是?