Skip to content

Prompt Engineering 提示词工程

什么是 Prompt Engineering?

提示词工程(Prompt Engineering)是通过设计和优化与大语言模型交互的输入(Prompt),以获得更准确、更有用输出的技术。

核心原则

1. 清晰具体(Be Specific)

模糊: "写点什么" ✅ 具体: "写一篇关于 AI 医疗诊断的 500 字技术文章,包含三个实际案例"

2. 提供角色(Assign a Role)

让模型扮演特定角色可以提高回答质量:

你是一个资深的数据科学家,擅长用通俗易懂的语言解释复杂概念。
请向我解释什么是梯度下降。

3. 指定格式(Specify Format)

明确输出格式:

列出 5 个 Python 编程最佳实践,使用 Markdown 编号列表

4. 分步思考(Chain-of-Thought)

对于复杂问题,引导模型逐步推理:

让我们一步一步思考:
问题:一个球从 10 米高处落下,每次反弹到原来高度的一半,求第 5 次反弹的高度。
第一步:初始高度是 10 米
第二步:第一次反弹高度 = 10 × 0.5 = 5 米
...

常用技巧

Few-Shot Prompting

提供示例让模型模仿:

Q: 天气如何?
A: 今天晴天,温度 25°C。

Q: 今天几号?
A: 今天是 2024 年 3 月 13 日。

Q: {你的问题}
A:

Zero-Shot Prompting

不提供示例,直接提问:

将以下文本翻译成英语:你好,世界!

Template Prompting

使用模板确保一致性:

你是一个 {角色},负责 {职责}。
任务:{具体任务}
要求:{要求列表}
输出格式:{格式}

避免常见错误

  • 不要过度复杂:保持 prompt 简洁
  • 避免歧义:一次只问一件事
  • 明确否定:说明不希望出现的内容("不要使用专业术语")
  • 提供上下文:背景信息能让模型更好理解

实用模板

内容生成

主题:{主题}
目标受众:{受众}
长度:{字数}
风格:{正式/轻松/技术性}
输出:{文章/列表/摘要}

代码生成

编程语言:{语言}
功能描述:{描述}
约束条件:{约束}
示例输入输出:
输入:{示例}
输出:{示例}

摘要总结

文本:{原文}
要求:总结成 3 句话,保留关键信息
风格:{学术/商业/简洁}

评估与迭代

  1. 测试:用不同 prompt 测试模型输出
  2. 评估:根据相关性、准确性、完整性打分
  3. 优化:调整 prompt,重复测试
  4. A/B 测试:对比不同版本的效果

工具与资源

  • LangChain Prompt Templates:结构化模板
  • OpenAI Playground:交互式调试
  • PromptPerfect:自动优化
  • DSPy:编程式 prompt 管理

掌握提示词工程能显著提升 LLM 的应用效果!