您好!作为一名资深的 AI 提示工程专家,我很高兴能为您详细讲解如何构建高质量的LLM Prompt提示词。在与大型语言模型(LLM)进行交互时,一个精心设计的提示词是获得准确、有用且符合预期的输出的关键。它就像是您与AI之间的“沟通桥梁”,桥梁越清晰,AI的理解就越到位。
高质量的提示词并非简单的问答,而是一门艺术与科学的结合。以下是一些核心原则:
这是最重要的原则。避免模糊不清的表述,提供尽可能详细和具体的指示。
赋予模型一个角色,并提供必要的背景信息,可以显著提升输出质量。
角色: 你是一名资深的市场营销专家。
任务: 为一款新型环保牙刷设计一份营销文案。
背景: 目标客户是注重环保和生活品质的年轻人。
要点: 强调牙刷的可降解材料、高效清洁力和时尚外观。
明确指出期望的输出格式(如列表、JSON、Markdown表格、文章等)和大致长度。
使用 Markdown 表格是一个非常好的方式来要求结构化输出:
请将以下信息整理成一个Markdown表格,包含“商品名称”、“价格”和“库存”三列:
苹果:10元,库存50
香蕉:5元,库存100
橙子:8元,库存75
模型输出示例:
| 商品名称 | 价格 | 库存 |
|----------|------|------|
| 苹果 | 10元 | 50 |
| 香蕉 | 5元 | 100 |
| 橙子 | 8元 | 75 |
如果模型需要理解一个复杂的模式、风格或任务,提供一到几个输入-输出对的示例(Few-shot learning)效果非常好。
将以下句子转换为被动语态:
输入:狗吃了骨头。
输出:骨头被狗吃了。
输入:学生们正在写作业。
输出:作业正在被学生们写。
输入:A公司开发了新的软件。
输出:
模型会根据前两个示例的模式,自动补全第三个句子的被动语态。
当你的提示词中包含多段文本(如用户输入、背景资料等)时,使用清晰的分隔符(如 ```, ---, ###)来区分它们,可以帮助模型更好地解析。
请总结以下用户评论的积极和消极方面:
---
用户评论:
"这款手机的摄像头太棒了,拍照效果惊艳!但是电池续航非常糟糕,几乎一天要充两次电。屏幕显示也很清晰,不过音量键有点松动。"
---
对于复杂的问题,要求模型先思考再给出答案,可以提高准确性。
例如:
请根据以下步骤解决问题:
1. 分析问题需求。
2. 列出可能的解决方案。
3. 评估每个方案的优缺点。
4. 选出最佳方案并给出理由。
提示词工程是一个迭代的过程。初稿不满意?没关系!根据模型的输出进行调整和优化。
明确告诉模型不要做什么,有时比告诉它做什么更有效。
请撰写一份产品描述,但<strong>不要</strong>使用“革命性”或“颠覆性”等夸大词汇。
在API调用中,调整 temperature 参数可以影响模型输出的随机性和创造性。
temperature = 0.0 (或接近0):输出更确定、重复性高,适合事实性问答、代码生成。temperature = 1.0 (或更高):输出更随机、富有创造性,适合头脑风暴、故事创作。这些参数控制模型在生成下一个词时考虑的词汇范围,影响输出的多样性。
# 以OpenAI API为例
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "讲一个关于猫的故事。"}
],
temperature=0.7, # 适中的创造性
# top_p=0.9 # 考虑累积概率达到0.9的词汇
)
Few-shot Prompting 是一个强大的技术,其工作流程可以用 Mermaid 流程图来表示:
构建高质量的LLM提示词是一项持续学习和实践的技能。记住以下几点,并尝试在日常使用中加以应用:
掌握提示词工程,将使您能够更有效地利用LLM的强大能力,无论是进行内容创作、数据分析、编程辅助还是解决日常问题,都能事半功倍。祝您在提示工程的旅程中取得丰硕成果!