提示工程模式Skill prompt-engineering-patterns

此技能专注于通过高级提示工程技术优化大型语言模型(LLM)的性能、可靠性和可控性。它涉及Few-Shot学习、Chain-of-Thought提示、提示优化、模板系统等核心能力,适用于AI应用开发和LLM微调。关键词:提示工程、LLM优化、Few-Shot学习、Chain-of-Thought、Prompt模板、AI智能体。

大模型微调 0 次安装 2 次浏览 更新于 3/16/2026

name: prompt-engineering-patterns description: 掌握高级提示工程技术,以最大化生产环境中大型语言模型(LLM)的性能、可靠性和可控性。在优化提示、改进LLM输出或设计生产提示模板时使用。

提示工程模式

掌握高级提示工程技术,以最大化LLM性能、可靠性和可控性。

何时使用此技能

  • 为生产LLM应用程序设计复杂提示
  • 优化提示性能和一致性
  • 实施结构化推理模式(链式思考、树式思考)
  • 构建具有动态示例选择的少样本学习系统
  • 创建具有变量插值的可重用提示模板
  • 调试和优化产生不一致输出的提示
  • 为专业AI助手实施系统提示

核心能力

1. 少样本学习

  • 示例选择策略(语义相似性、多样性抽样)
  • 平衡示例数量与上下文窗口限制
  • 使用输入-输出对构建有效演示
  • 从知识库动态检索示例
  • 通过战略示例选择处理边缘情况

2. 链式思考提示

  • 逐步推理引导
  • 零样本CoT,使用“让我们一步步思考”
  • 带有推理轨迹的少样本CoT
  • 自一致性技术(采样多个推理路径)
  • 验证和确认步骤

3. 提示优化

  • 迭代细化工作流
  • A/B测试提示变体
  • 测量提示性能指标(准确性、一致性、延迟)
  • 在保持质量的同时减少令牌使用
  • 处理边缘情况和失败模式

4. 模板系统

  • 变量插值和格式化
  • 条件提示部分
  • 多轮对话模板
  • 基于角色的提示组合
  • 模块化提示组件

5. 系统提示设计

  • 设置模型行为和约束
  • 定义输出格式和结构
  • 建立角色和专业知识
  • 安全指南和内容政策
  • 上下文设置和背景信息

快速入门

from prompt_optimizer import PromptTemplate, FewShotSelector

# 定义结构化提示模板
template = PromptTemplate(
    system="您是一位专家SQL开发人员。生成高效、安全的SQL查询。",
    instruction="将以下自然语言查询转换为SQL:
{query}",
    few_shot_examples=True,
    output_format="带有解释性注释的SQL代码块"
)

# 配置少样本学习
selector = FewShotSelector(
    examples_db="sql_examples.jsonl",
    selection_strategy="semantic_similarity",
    max_examples=3
)

# 生成优化提示
prompt = template.render(
    query="查找过去30天内注册的所有用户",
    examples=selector.select(query="用户注册日期过滤")
)

关键模式

渐进式披露

从简单提示开始,仅在需要时添加复杂性:

  1. 级别1:直接指令

    • “总结这篇文章”
  2. 级别2:添加约束

    • “用3个要点总结这篇文章,重点关注关键发现”
  3. 级别3:添加推理

    • “阅读这篇文章,识别主要发现,然后用3个要点总结”
  4. 级别4:添加示例

    • 包含2-3个带有输入-输出对的示例总结

指令层次结构

[系统上下文] → [任务指令] → [示例] → [输入数据] → [输出格式]

错误恢复

构建能够优雅处理失败的提示:

  • 包含后备指令
  • 请求置信度分数
  • 不确定时询问替代解释
  • 指定如何指示缺失信息

最佳实践

  1. 具体明确:模糊提示产生不一致结果
  2. 展示而非告知:示例比描述更有效
  3. 广泛测试:在多样、代表性输入上评估
  4. 快速迭代:小变化可能产生大影响
  5. 监控性能:跟踪生产环境中的指标
  6. 版本控制:将提示视为代码,进行适当版本控制
  7. 记录意图:解释提示为何如此结构化

常见陷阱

  • 过度工程:在尝试简单提示之前就开始复杂提示
  • 示例污染:使用不匹配目标任务的示例
  • 上下文溢出:因过多示例超出令牌限制
  • 模糊指令:留下多种解释空间
  • 忽略边缘情况:不在异常或边界输入上测试

集成模式

与RAG系统集成

# 将检索到的上下文与提示工程结合
prompt = f"""给定以下上下文:
{retrieved_context}

{few_shot_examples}

问题:{user_question}

仅基于以上上下文提供详细答案。如果上下文信息不足,明确说明缺失内容。"""

与验证集成

# 添加自验证步骤
prompt = f"""{main_task_prompt}

生成响应后,验证其是否符合以下标准:
1. 直接回答问题
2. 仅使用提供上下文中的信息
3. 引用具体来源
4. 承认任何不确定性

如果验证失败,修订您的响应。"""

性能优化

令牌效率

  • 移除冗余词语和短语
  • 首次定义后一致使用缩写
  • 合并类似指令
  • 将稳定内容移至系统提示

延迟减少

  • 在不牺牲质量的情况下最小化提示长度
  • 对长格式输出使用流式处理
  • 缓存常见提示前缀
  • 尽可能批处理类似请求

资源

  • references/few-shot-learning.md:深入探讨示例选择和构建
  • references/chain-of-thought.md:高级推理引导技术
  • references/prompt-optimization.md:系统化细化工作流
  • references/prompt-templates.md:可重用模板模式
  • references/system-prompts.md:系统级提示设计
  • assets/prompt-template-library.md:经过实战检验的提示模板
  • assets/few-shot-examples.json:精选示例数据集
  • scripts/optimize-prompt.py:自动化提示优化工具

成功指标

跟踪提示的以下KPI:

  • 准确性:输出的正确性
  • 一致性:类似输入下的可重现性
  • 延迟:响应时间(P50、P95、P99)
  • 令牌使用:每个请求的平均令牌数
  • 成功率:有效输出的百分比
  • 用户满意度:评分和反馈

后续步骤

  1. 查看提示模板库以了解常见模式
  2. 针对您的具体用例实验少样本学习
  3. 实施提示版本控制和A/B测试
  4. 设置自动化评估管道
  5. 记录您的提示工程决策和学习