【llm对话系统】LLM 大模型Prompt 怎么写?

如果说 LLM 是一个强大的工具,那么 Prompt 就是使用这个工具的"说明书"。一份好的 Prompt 可以引导 LLM 生成更准确、更相关、更符合你期望的输出。

今天,我们就来聊聊 LLM Prompt 的编写技巧,掌握这把解锁 LLM 潜能的钥匙!

一、什么是 Prompt?

简单来说,Prompt 就是你给 LLM 的指令或输入,它可以是一个问题、一句话、一段描述,甚至是几个词。LLM 会根据你提供的 Prompt 来理解你的意图,并生成相应的输出。

Prompt 的重要性:

  • 引导 LLM 理解任务: Prompt 明确了你希望 LLM 完成的任务。
  • 控制 LLM 的输出: Prompt 可以限定 LLM 生成内容的范围、格式、风格等。
  • 激发 LLM 的潜能: 好的 Prompt 可以激发 LLM 的创造力,生成更有创意、更有价值的内容。

二、Prompt 的基本组成

一个完整的 Prompt 通常包含以下几个部分:

  1. 指令 (Instruction): 明确指示 LLM 要做什么,例如"总结"、"翻译"、"写一首诗"等。
  2. 上下文 (Context): 提供 LLM 需要的背景信息,例如相关的文本、数据等。
  3. 输入数据 (Input Data): 需要被处理的具体内容,例如需要被翻译的句子、需要被总结的文章等。
  4. 输出指示 (Output Indicator): 指定输出的格式、长度、风格等要求。

并非所有 Prompt 都需要包含以上所有部分,可以根据具体任务进行调整。

三、Prompt 编写技巧:从入门到精通

1. 清晰明确的指令

指令是 Prompt 的核心,要让 LLM 准确理解你的意图,指令必须清晰明确,避免使用模糊或有歧义的措辞。

Bad: "告诉我关于这个的内容。" (不明确,LLM 不知道要告诉你关于什么的)

Good: "请总结一下这篇文章的主要内容。" (明确指示 LLM 进行总结)

Good: "写一段代码实现快速排序"

2. 提供必要的上下文

对于需要背景知识的任务,提供必要的上下文可以帮助 LLM 更好地理解任务,并生成更相关的输出。

示例:

Prompt: "请写一篇关于人工智能的博客文章,目标读者是 AI 初学者。"

在这个 Prompt 中,"目标读者是 AI 初学者"就是上下文信息,它限定了文章的写作风格和深度。

3. 指定输出格式

通过指定输出格式,你可以控制 LLM 生成内容的结构、样式和长度。

示例:

Prompt: "请将以下英文句子翻译成中文,并用表格的形式输出:This is a cat."

输出指示: 用表格形式输出

输出(可能):

英文 中文
This is a cat. 这是一只猫.

Prompt: "请列举 5 个提高工作效率的方法,并用编号列表的形式输出。"
输出指示: 用编号列表输出,并举出5个方法

4. 使用示例引导 (Few-Shot Learning)

通过提供一些示例,可以让 LLM 更好地理解你的期望,并生成符合要求的输出。

示例:

Prompt: "请将以下句子改写成更正式的表达:

  1. 我觉得这个想法不错。-> 我认为这个想法是可取的。
  2. 这个东西很好用。-> 这个工具非常实用。
  3. 你的方案是什么? -> 你的方案具体是什么样的?"

通过提供几个示例,LLM 可以学习到如何将非正式的表达改写成更正式的表达。

5. 逐步引导 (Chain-of-Thought)

对于复杂的任务,可以将任务分解成多个步骤,逐步引导 LLM 完成任务。

示例:

任务: 解答一个数学应用题

Prompt: "一辆汽车以每小时 60 公里的速度行驶,行驶 240 公里需要多少小时?请逐步解释你的解题思路。"

LLM 输出 (可能):

  1. 首先,我们需要计算汽车行驶的时间。
  2. 已知汽车的速度是每小时 60 公里,行驶的距离是 240 公里。
  3. 根据公式:时间 = 距离 / 速度,我们可以计算出汽车行驶的时间。
  4. 将数据代入公式:时间 = 240 公里 / 60 公里/小时 = 4 小时。
  5. 因此,汽车行驶 240 公里需要 4 小时。

6. 尝试不同的 Prompt

同一个任务,可以用不同的 Prompt 来实现。尝试不同的 Prompt,比较它们的输出结果,可以帮助你找到最佳的 Prompt。

7. 使用 Prompt 模板

针对常见的任务,可以总结出一些常用的 Prompt 模板,以便重复使用。

例如,一个通用的总结模板:

复制代码
请总结以下文本的主要内容,并用 [输出格式] 输出:

[输入文本]

四、常见任务的 Prompt 最佳实践

1. 文本生成

  • 写一篇文章: "请写一篇关于 主题 的文章,目标读者是 目标读者,文章要包含 要点,文章字数在 字数 字左右。"
  • 写一首诗: "请写一首关于 主题 的 诗歌类型,例如五言绝句或七言律诗。"
  • 写一个故事: "请写一个关于 主题 的故事,故事的主角是 角色,故事发生在 地点,故事的结局是 结局。"

2. 问答系统

  • 简单问题: "请回答以下问题:问题"
  • 需要推理的问题: "请根据以下信息,回答这个问题:信息 问题:问题"
  • 开放性问题: "对于 话题,你有什么看法?"

3. 机器翻译

  • 指定源语言和目标语言: "请将以下 源语言 翻译成 目标语言:文本"
  • 指定翻译风格: "请将以下英文句子翻译成中文,要求翻译风格正式/口语化:文本"

4. 文本摘要

  • 指定摘要长度: "请总结以下文本的主要内容,摘要长度不超过 100 字:文本"
  • 指定摘要要点: "请总结以下文本的主要内容,并重点突出 要点:文本"

5. 代码生成

  • 指定编程语言和功能: "请使用 编程语言 编写一个函数,实现 功能:"
  • 提供示例代码: "请参考以下示例代码,实现类似的功能:示例代码"

五、代码示例 (使用 OpenAI API)

python 复制代码
import openai

openai.api_key = "YOUR_API_KEY" #替换成自己的key

def get_completion(prompt, model="gpt-3.5-turbo"):
    messages = [{"role": "user", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=0, # 控制生成结果的随机性
    )
    return response.choices[0].message["content"]

# 示例:翻译
prompt = "请将以下英文句子翻译成中文:This is an example."
response = get_completion(prompt)
print(response)

# 示例:总结
text = """
(这里放入需要总结的文本)
"""
prompt = f"""
请总结以下文本的主要内容,并用一句话概括:

{text}
"""
response = get_completion(prompt)
print(response)
相关推荐
老金带你玩AI2 小时前
这几天,我都是拿手机让dot帮我干活
人工智能
7yewh5 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
小虎AI生活6 小时前
WorkBuddy 模型选型实操:0.03 倍的 Space-Bunny 怎么用、派什么活、避什么坑
人工智能·超级个体·一人公司·青玥ai
ai小陈6 小时前
GPU服务器租用存储验收:检查点写入与磁盘吞吐实战
运维·服务器·人工智能·ai·ssh·gpu算力
微三云马玮均—GEO源码系统 私有化部署6 小时前
消费返物业费:消费+服务趋势的必然产物!
大数据·人工智能·物联网·区块链·生活
明月_清风6 小时前
Muse 登顶 App Store 第一,SDK 直接开源:AI Agent 开始进入下一个阶段
人工智能·后端
JackSparrow4146 小时前
和AI一起将全部CSDN博文迁移到个人博客站
人工智能·程序人生·ai·github·cloudflare·astro·静态博客
55873 生态系统7 小时前
第 22 篇|社区聊天|55873 文明共建者的日常交流与协作界面
人工智能·区块链·55873全域文明生态体系·55873操作系统·55873社区聊天
搬砖的小码农_Sky7 小时前
AI Agent:如何处理Claude Code 最近版本(2026年更新)引入的模型上下文限制
人工智能·windows·ai·ai编程