Prompt Engineering Patterns 是一个提示词工程技能,目标是帮助开发者掌握高级提示词工程技术,从而最大化大语言模型(LLM)的性能、可靠性与可控性。
何时使用 当需要为生产级 LLM 应用设计复杂提示词、优化提示词性能与一致性、实现结构化推理模式(如思维链、思维树)、构建带动态示例选择的少样本学习系统、创建支持变量插值的可复用提示模板、调试并改进输出不一致的提示词、为专用 AI 助手实现系统提示,或使用结构化输出(JSON 模式)以便可靠解析时,都可使用该技能。
核心能力
- 少样本学习:包括示例选择策略(语义相似度、多样性采样)、在上下文窗口限制下平衡示例数量、用输入-输出对构建有效演示、从知识库动态检索示例,以及通过有策略的示例选择处理边界情况。
- 思维链提示:包括逐步推理引导、使用“Let's think step by step”的零样本 CoT、带推理轨迹的少样本 CoT、自洽性技术(采样多条推理路径)以及验证与确认步骤。
- 结构化输出:包括用于可靠解析的 JSON 模式、Pydantic schema 约束、类型安全的响应处理,以及针对畸形输出的错误处理。
- 提示词优化:包括迭代改进流程、提示词变体的 A/B 测试、测量提示词性能指标(准确率、一致性、延迟)、在保持质量的同时减少 token 使用,以及处理边界情况与失败模式。
- 模板系统:包括变量插值与格式化、条件提示段落、多轮对话模板、基于角色的提示组合,以及模块化提示组件。
- 系统提示设计:包括设定模型行为与约束、定义输出格式与结构、确立角色与专业领域、安全指南与内容策略,以及上下文设置与背景信息。
使用方式 资料提供了一段基于 LangChain 与 Pydantic 的快速开始示例。示例先定义结构化输出 schema(SQLQuery,包含 query、explanation、tables_used 字段),再用 ChatAnthropic 初始化模型并通过 with_structured_output 获得结构化输出模型;随后用 ChatPromptTemplate 构建系统提示与用户提示模板,形成 chain 并异步调用,最后打印结果。具体代码与安装命令以资料为准。
适用场景 适用于需要设计生产级提示词的开发场景,例如结构化推理、动态示例选择、可复用模板构建、系统提示编写与结构化输出解析等。
最佳实践 资料建议:具体明确,模糊提示会产生不一致结果;以示例代替描述;使用结构化输出,通过 Pydantic 约束 schema 以提升可靠性;在多样且有代表性的输入上充分测试;快速迭代,小改动可能带来大影响;监控生产性能;将提示词作为代码进行版本控制;记录提示词结构的设计意图。
常见陷阱 包括:过度工程,在尝试简单方案前就使用复杂提示;示例污染,使用与目标任务不匹配的示例;上下文溢出,示例过多超出 token 限制;指令含糊,留下多种解释空间;忽视边界情况,未在异常或边界输入上测试;缺少错误处理,假设输出总是格式良好;硬编码值,未对提示词进行参数化以便复用。
成功指标 建议跟踪以下 KPI:准确率(输出正确性)、一致性(相似输入的可复现性)、延迟(P50、P95、P99 响应时间)、token 使用(每请求平均 token)、成功率(有效且可解析输出的百分比)以及用户满意度(评分与反馈)。
限制 资料未提供该技能的安装命令、依赖版本、支持的模型范围、收费或价格信息,也未提供除快速开始外的完整 API 说明,这些内容暂未提供。