Prompt Engineering 实战技巧
Prompt Engineering 是驾驭大模型能力的第一道门槛。好的 Prompt 能显著提升输出质量。
基本原则
- 清晰具体:明确任务目标、输出格式和约束条件
- 提供示例:Few-shot 示例是最有效的引导方式之一
- 分步引导:复杂任务拆解为多个步骤
- 角色设定:给模型一个合适的身份和专业背景
Few-shot Learning
通过在 Prompt 中提供输入-输出示例,引导模型理解任务模式:
请将以下句子翻译为英文:
输入:今天天气很好
输出:The weather is nice today.
输入:我正在学习大模型
输出:
示例的质量和多样性直接影响效果。通常 3-5 个精心设计的示例即可。
Chain-of-Thought(CoT)
对于推理类任务,引导模型"一步步思考":
问题:一个商店有 23 个苹果,卖掉了 17 个,又进了 8 个,现在有多少个?
请一步步思考:
1. 初始有 23 个苹果
2. 卖掉 17 个:23 - 17 = 6 个
3. 又进了 8 个:6 + 8 = 14 个
答案:14 个
添加 “Let’s think step by step” 这样的 magic phrase 也能触发 CoT 行为。
结构化输出
要求模型以特定格式输出,便于程序解析:
请以 JSON 格式输出,包含以下字段:
- title: 文章标题
- summary: 100字以内的摘要
- tags: 标签数组
- sentiment: positive/negative/neutral
配合 JSON Schema 或 Function Calling 可以进一步提高格式合规率。
常见陷阱
- Prompt 过长:无关信息会稀释关键指令的权重
- 指令冲突:前后矛盾的约束会让模型无所适从
- 过度约束:限制太死会扼杀模型的创造力
- 忽略边界情况:未说明输入异常时模型如何处理
进阶方向
- 自动 Prompt 优化:DSPy 等框架支持 programmatic prompt optimization
- Prompt 模板管理:版本控制、A/B 测试、效果评估
- System Prompt 设计:为 Chat 模型设计稳定的系统级指令
Prompt Engineering 既是艺术也是科学,需要在实践中不断迭代优化。