概念回顾
随着人工智能技术的飞速发展,大语言模型(LLM)已成为当前技术领域的热点。基于 Transformer 架构的 GPT 系列模型(如 ChatGPT)通过海量语料训练,具备了强大的自然语言理解与生成能力。对于普通用户而言,使用 ChatGPT、文心一言或通义千问等工具,本质上是通过多轮对话来实现特定诉求。
然而,许多用户在初次接触大模型时,往往发现其回答过于空泛或缺乏针对性。这并非模型本身的问题,而是人类对自然语言的表达存在歧义,导致 AI 无法精准捕捉意图。因此,提示工程(Prompt Engineering) 应运而生,它旨在通过优化输入指令,引导语言模型更好地响应,从而提升生成内容的质量。
什么是提示工程(Prompt)
提示词(Prompt)是用户与大模型交互的媒介。所谓提示工程,就是研究如何让模型更精准地理解你的意图,输出你想要的答案。找到与 AI 对话的技巧,是发挥大模型生产力的关键。
写提示词的核心原则
为了获得高质量的回复,编写提示词时应遵循以下核心原则:
1. 清晰的指令
足够清晰明确地说明你希望模型返回什么。避免模糊表达,越细致越好。例如,不要只说'写一篇文章',而应指定'写一篇关于人工智能发展趋势的 800 字科普文章'。
2. 提供上下文和例子
给出较为充分的背景信息,让模型理解相关约束。如果能够提供示例(Few-shot),模型的表现通常会更好。这利用了传统 LLM 中的 In-Context Learning(上下文学习)机制。
3. 善用符号和语法
使用清晰的标点符号、标题、标记(如 Markdown 格式)有助于转达意图,并使输出更加容易被解析。例如,使用 ### 区分章节,使用 - 列出要点。
4. 让模型一步一步地思考
这种方法被称为思维链(Chain of Thought, CoT)。要求模型逐步进行思考并呈现步骤,可以降低结果的不准确性,并提高模型响应的可解释性。这对于逻辑推理和数学问题尤为重要。
5. 激励模型反思和给出思路
在 prompt 中加入措辞激励模型给出理由,有助于分析生成结果。思维过程的生成往往能带来更高质量的结果。
6. 给容错空间
如果模型无法完成指定任务,提供一个备用路径。例如,针对文本提问,可以加入'如果答案不存在,则回复'无答案'',避免模型产生幻觉。
7. 让模型给出信息来源
在模型结合搜索或外部知识库时,要求模型提供答案的信息来源,可以帮助减少捏造事实(Hallucination),并获取到最新的信息。
构建高效的提示词模板
一个结构良好的 Prompt 通常包含以下 6 个要素,按重要性降序排列:
- 角色(Role):选填。指定模型扮演的身份(如'资深 Python 工程师'、'专业营养师'),有助于调整语气和内容以适应特定需求。
- 任务(Task):必填。明确表达希望模型完成的目标。可拆分为问题描述、目标和具体要求。
- 上下文(Context):选填。提供背景信息、成功标准或所处环境,确保模型理解约束条件。
- 示例(Examples):选填。提供输入输出的示范,明确所需内容和格式,显著提高输出质量。
- 输出格式(Format):选填。可视化期望输出的外观和结构,如表格、列表、JSON 代码块等。
- 语气(Tone):选填。定义输出文本的风格,如正式、幽默、简洁等。
示例对比
不带示例的 Prompt:
'帮我写一段 Python 代码,用于读取 CSV 文件。'
带示例的 Prompt:
'角色:Python 数据分析师。 任务:读取 CSV 文件并处理缺失值。 示例: 输入:data.csv (含空值) 输出:clean_data.csv (已填充均值) 要求:使用 pandas 库,代码需包含注释。'
通过对比可以发现,带示例和明确格式的 Prompt 能显著降低模型的猜测成本,直接产出可用代码。


