Skip to content

Prompt 提示词工程完整指南(从入门到精通)

导航目录

一、前言:定义、价值、应用场景、学习路径

1.1 Prompt 提示词工程定义

核心说明
Prompt 提示词工程(Prompt Engineering)是“把业务目标翻译成模型可执行指令”的方法体系。它不只是提问,而是通过角色、任务、上下文、约束、输出格式来稳定输出质量。

通用 Prompt 模板(入门版)

text
你是[角色]。
请完成[任务]。

背景信息:
[上下文]

约束条件:
1) [约束1]
2) [约束2]

输出要求:
- 格式:[如 Markdown 表格/JSON]
- 长度:[如 200 字内]

注意事项

  • 没有约束的 Prompt,输出通常不稳定。
  • “可执行”比“华丽措辞”更重要。

1.2 核心价值

核心说明
Prompt 工程的价值集中在 4 点:提效、提质、可控、可复用

效果对比示例

text
普通提问:写一份活动文案。
优化后:你是资深活动运营。请为“春季会员日”写一份朋友圈文案,
面向25-35岁上班族,语气轻松,包含1个福利点、1个行动号召,
总字数80-120字,输出3版。

注意事项

  • 模型能力相近时,Prompt 质量往往决定结果上限。

1.3 应用场景

核心说明
高频应用包括:AI对话、文案创作、代码生成、数据分析、文档撰写、问题排查

场景映射模板

text
场景:[文案/代码/分析/问答]
目标:[你希望最终拿到什么]
输入数据:[已有信息]
输出格式:[如清单、表格、JSON、代码]

注意事项

  • 场景不同,Prompt 关注点不同:文案重语气,代码重约束,分析重数据口径。

1.4 学习路径规划

核心说明
推荐路径:基础结构 -> 单轮优化 -> 多轮协作 -> 程序化调用 -> 评估与迭代

学习任务模板

text
第1周:掌握 Prompt 基础结构,完成10个单轮任务。
第2周:练习角色设定和输出约束,建立个人模板库。
第3周:使用 Python 调用 API,做批量任务。
第4周:建立评估集,迭代优化 Prompt。

注意事项

  • 学 Prompt 最快的方法是“模板化 + 小步快跑 + 评测反馈”。

二、入门基础:原则、结构、模板、常见误区

2.1 Prompt 核心原则

核心说明

  • 清晰具体:避免“随便写一点”。
  • 指令明确:说清要做什么、不做什么。
  • 上下文充足:补全背景和目标用户。
  • 目标导向:输出要可直接使用。

示例(同任务不同写法)

text
低质量:写一篇产品介绍。
高质量:请写一篇“智能台灯”产品介绍,面向大学生宿舍场景,
突出“护眼、定时、语音控制”三点,200字内,结尾加购买引导。

注意事项

  • 原则不复杂,但要在每条 Prompt 中落实。

2.2 基础 Prompt 结构

核心说明
实用结构:指令 + 上下文 + 约束条件 + 输出要求

3-5个可直接复用模板(通用 Prompt 模板)

text
模板1(解释类)
你是[领域专家]。请用[目标读者水平]解释[概念]。
要求:给出1个类比 + 1个示例,150字内。
text
模板2(文案类)
你是[文案角色]。请为[产品/活动]写[文案类型]。
目标用户:[用户画像]
要求:语气[正式/轻松],字数[范围],输出[3]版。
text
模板3(代码类)
你是[语言]工程师。请实现[功能]。
输入:[输入示例]
输出:[输出示例]
约束:时间复杂度不高于[O(n log n)],附注释与测试样例。
text
模板4(分析类)
请基于以下数据做分析:
[数据]
输出:1) 关键结论 2) 指标对比 3) 可执行建议(3条)。
text
模板5(结构化输出)
请返回 JSON,字段必须为:
{"summary": "", "risks": [], "actions": []}
禁止输出 JSON 之外的文字。

注意事项

  • 结构不必复杂,但四要素尽量齐全。

2.3 新手常见误区与避坑

核心说明

  • 误区1:指令模糊 -> 模型“自由发挥”过多
  • 误区2:信息冗余 -> 重点被稀释
  • 误区3:缺乏约束 -> 格式混乱
  • 误区4:忽略上下文 -> 回答偏题

避坑 Prompt 模板

text
任务:[一句话]
背景:[三行内]
边界:[必须/禁止]
输出格式:[明确字段或结构]
质量标准:[准确、简洁、可执行]

注意事项

  • 写 Prompt 前先写“验收标准”,会明显提升准确率。

三、核心功能与基础技巧:指令优化、上下文、约束、调试

3.1 指令优化技巧(含效果对比)

核心说明
四个高收益动作:精准用词、明确格式、设定角色、限定范围

Prompt 对比示例

text
原始:帮我分析这个产品。
优化:你是电商增长分析师。请分析“无线耳机A”的增长问题,
从流量、转化、复购三个维度输出,每个维度给出1个原因和1条建议,
用 Markdown 表格输出。

注意事项

  • 模糊词(“全面”“详细”“专业”)建议替换成可量化要求。

3.2 上下文设计方法

核心说明

  • 补充必要背景:行业、用户、目标、数据口径
  • 控制上下文长度:保留关键信息,删除噪声
  • 关联历史对话:明确“沿用哪些结论”

上下文补充模板

text
背景:
- 项目:SaaS 客服系统
- 用户:中小企业客服主管
- 当前问题:工单响应慢、满意度下降
- 目标:提升首次响应速度20%

请在此背景下给出优化方案。

注意事项

  • 背景越具体,建议越可执行。

3.3 约束条件设定

核心说明
可控输出要明确:字数、格式、语气、禁区

可复用约束模板

text
约束条件:
1) 字数:150-200字
2) 语气:专业但易懂
3) 格式:先结论后分点
4) 禁止:夸张承诺、敏感内容、未经证实数据

注意事项

  • 有“禁止项”时建议明确写出,否则模型默认可发挥。

3.4 基础 Prompt 调试方法

核心说明
调试流程:定位问题 -> 改写指令 -> 补上下文 -> 强化约束 -> 重测

调试模板

text
当前输出问题:
- [例如:太空泛]

请基于以下修正规则重写:
1) 增加具体场景
2) 每条建议必须含“原因+动作”
3) 输出为 3 列表格:问题/原因/建议

注意事项

  • 一次只改一个变量(如先改格式,再改语气),便于定位有效改动。

四、进阶技巧:角色设定、多轮设计、条件循环、工具

4.1 角色设定进阶

核心说明
角色要“可执行”,不是只写头衔。建议写:身份 + 能力 + 工作目标 + 输出风格

角色 Prompt 模板(工程师/文案/老师)

text
工程师角色模板
你是资深 Python 工程师,擅长性能优化与可维护代码。
请实现[功能],并解释复杂度与边界条件,输出“代码+测试+说明”。
text
文案角色模板
你是品牌文案总监,擅长年轻用户沟通。
请为[活动]写3版文案,每版风格不同(理性/情绪/幽默),控制在80字内。
text
老师角色模板
你是中学数学老师,擅长分层讲解。
请解释[知识点],先用生活例子,再给步骤解题,最后给1道练习题与答案。

注意事项

  • 角色越具体,风格越稳定;角色与任务要匹配。

4.2 多轮 Prompt 设计

核心说明
多轮设计适用于复杂任务拆解:澄清需求 -> 生成草案 -> 迭代优化 -> 定稿

多轮案例模板

text
第1轮:请先提5个澄清问题,确认需求边界。
第2轮:基于我的回答输出初稿(含结构大纲)。
第3轮:按“准确性、可执行性、可读性”三维自检并优化。
第4轮:输出最终版 + 变更说明。

注意事项

  • 每轮要有明确目标,否则会“聊天化”而非“工程化”。

4.3 条件判断型与循环型 Prompt(Python 示例)

核心说明
在程序中可通过 if-else 选择不同 Prompt;循环可批量生成内容。

Python 代码示例

python
# 依赖安装:
# pip install openai

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY")

def build_prompt(task_type: str, user_input: str) -> str:
    if task_type == "copywriting":
        return f"你是资深文案,请为以下主题写3条朋友圈文案:{user_input},每条80字内。"
    elif task_type == "debug":
        return f"你是Python调试专家,请定位并修复以下问题:{user_input},输出原因+修复代码。"
    else:
        return f"请用清晰分点方式回答:{user_input}"

tasks = [
    ("copywriting", "春季新品耳机"),
    ("debug", "TypeError: list indices must be integers"),
]

for task_type, text in tasks:
    prompt = build_prompt(task_type, text)
    resp = client.responses.create(
        model="gpt-4.1-mini",
        input=prompt,
    )
    print(f"\n[{task_type}]")
    print(resp.output_text)

注意事项

  • 生产环境请将 API Key 放到环境变量,不要硬编码。

4.4 Prompt 优化工具

核心说明
可用工具链:Prompt 版本管理、评测脚本、A/B 对比记录表

评测脚本示例(Python)

python
from dataclasses import dataclass

@dataclass
class EvalCase:
    name: str
    prompt: str
    expected_rule: str

cases = [
    EvalCase("文案长度", "写一段新品文案,80字内。", "长度<=80"),
    EvalCase("JSON结构", "返回JSON:{title,summary}", "必须是合法JSON"),
]

for c in cases:
    print(f"[{c.name}] prompt={c.prompt} | 检查规则={c.expected_rule}")
# 输出解释:先建立评测样本与规则,再接入模型调用做自动验收

注意事项

  • 没有评测集,优化容易“主观好看,客观不稳”。

五、实战场景:文案、代码、数据分析、文档、问题解决、AI工具适配

5.1 文案创作类(朋友圈/海报/短视频脚本)

核心说明
文案类 Prompt 的关键是:目标人群 + 场景 + 情绪 + 行动号召

Prompt 模板

text
你是资深新媒体文案。
请围绕“夏季防晒喷雾”写:
1) 朋友圈文案(80字内)
2) 海报主标题(12字内)
3) 15秒短视频口播脚本(约120字)
目标用户:通勤上班族
语气:轻松可信

注意事项

  • 输出多版本,便于快速 A/B 测试。

5.2 代码生成类(Python / Java)

核心说明
代码 Prompt 要明确:输入、输出、边界、复杂度、测试样例

Prompt 模板

text
你是Java工程师。请实现“LRU缓存”。
要求:
1) 使用HashMap + 双向链表
2) 提供 get/put 方法
3) 时间复杂度 O(1)
4) 给出 main 测试示例

Python 代码示例(结果验收)

python
def validate_code_output(text: str) -> bool:
    required = ["class", "get(", "put("]
    return all(k in text for k in required)

sample_output = "public class LRUCache { public int get(int key){...} public void put(int k,int v){...}}"
print(validate_code_output(sample_output))
# 输出解释:简单检查返回内容是否包含关键结构

注意事项

  • “请给完整可运行代码”这类要求要显式写入 Prompt。

5.3 数据分析类(Pandas / NumPy 联动)

核心说明
分析类 Prompt 要先定义:分析目标、指标口径、输出格式

Prompt 模板

text
你是数据分析师。基于给定CSV数据完成:
1) 描述性统计
2) 异常值检查
3) 关键结论(3条)
4) 可执行建议(3条)
输出格式:Markdown小节 + 表格

Python 代码示例

python
# 依赖安装:
# pip install pandas numpy

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "sales": [120, 130, 128, 500, 127],
    "cost": [80, 82, 81, 120, 79]
})

df["profit"] = df["sales"] - df["cost"]
z = (df["sales"] - df["sales"].mean()) / df["sales"].std(ddof=0)
outliers = df[np.abs(z) > 2]

print(df.describe())
print("异常值行数:", len(outliers))
# 输出解释:先用代码完成基础统计与异常检测,再交给模型生成结论

注意事项

  • 模型负责“解释和表达”,关键计算建议先由代码完成。

5.4 文档撰写类(报告/教程/简历)

核心说明
文档类要控制“结构稳定”,建议固定章节模板。

Prompt 模板

text
请输出一份项目复盘报告,结构固定为:
1) 背景
2) 目标与指标
3) 执行过程
4) 结果数据
5) 问题与改进
每节100-150字,语言专业简洁。

注意事项

  • 固定结构可大幅降低内容跑偏。

5.5 问题解决类(debug/方案设计/知识答疑)

核心说明
问题解决场景要让模型先“诊断”,再“给方案”,最后“给验证步骤”。

Prompt 模板

text
你是后端故障排查专家。
请按以下顺序回答:
1) 可能原因(按概率排序)
2) 排查步骤(可直接执行)
3) 修复方案
4) 回归验证清单
问题描述:[粘贴报错与日志]

注意事项

  • 不要只问“怎么修”,要要求“怎么验证修好了”。

5.6 AI 工具适配类(ChatGPT / 文心一言 / 豆包)

核心说明
不同 AI 的指令理解和格式稳定性略有差异,建议做“同任务多版本 Prompt”。

适配模板

text
任务目标:[同一目标]
基础Prompt:[通用版]
平台适配:
- ChatGPT:强调结构化输出与步骤
- 文心一言:增加背景与术语解释
- 豆包:语气更口语化、分点更短

注意事项

  • 先做通用版,再做平台微调,维护成本更低。

六、高级进阶:API结合、批量Prompt、复杂场景、性能评估

6.1 Prompt 工程与 API 结合(完整可运行示例)

核心说明
程序化调用可以实现:自动化、批量化、可评测、可上线。

依赖安装

bash
pip install openai python-dotenv

Python 代码示例

python
import os
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

SYSTEM_PROMPT = "你是企业级内容助手,输出要准确、简洁、可执行。"

def ask_llm(user_prompt: str) -> str:
    resp = client.responses.create(
        model="gpt-4.1-mini",
        input=[
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": user_prompt},
        ],
        temperature=0.3,
    )
    return resp.output_text

if __name__ == "__main__":
    prompt = "为“秋季上新”活动生成3条短信文案,每条60字内,含行动号召。"
    print(ask_llm(prompt))

注意事项

  • 常用参数:temperature(创造性)、max_output_tokens(长度控制)。

6.2 批量 Prompt 生成

核心说明
批量生成适用于多商品、多渠道、多人群运营任务。

Python 代码示例

python
products = ["咖啡豆", "无线键盘", "护眼台灯"]
audiences = ["学生", "白领", "程序员"]

templates = []
for p in products:
    for a in audiences:
        templates.append(
            f"你是营销文案专家。请为{a}写一条{p}推广文案,80字内,包含卖点与CTA。"
        )

print("共生成 Prompt 数量:", len(templates))
print(templates[0])
# 输出解释:快速组合出批量 Prompt,用于自动化调用

注意事项

  • 批量任务建议先小样本验证,再全量运行。

6.3 复杂场景 Prompt 设计

核心说明

  • 多任务并行:先拆任务,再汇总
  • 长文本处理:先摘要再深挖
  • 专业领域:增加术语表与禁止幻觉约束

复杂场景模板

text
请分三步完成:
Step1:提取关键事实(仅引用原文)
Step2:基于事实给出分析
Step3:输出行动建议(优先级P0/P1/P2)
禁止编造未提供的数据。

注意事项

  • 复杂任务最怕一步到位,建议分阶段执行。

6.4 Prompt 性能评估

核心说明
评估维度建议包括:准确性、格式合规率、稳定性、时延、成本

评估清单模板

text
评测数据集:50条真实任务
指标:
- 准确率 >= 90%
- 格式合规率 >= 95%
- 平均响应时延 <= 5s
- 单次成本 <= 预算阈值
优化方向:
- 针对低分样本补充 few-shot 示例
- 加强输出格式约束

注意事项

  • Prompt 优化必须“数据驱动”,不要只凭主观感受。

七、核心工具与资源:工具、模板库、学习资源

7.1 常用 Prompt 工具与使用方法

核心说明

  • 文档与版本管理:Notion、Git
  • 实验管理:表格记录 A/B Prompt + 指标
  • 调用测试:Python 脚本 + 日志

操作示例(实验记录模板)

text
字段:
Prompt版本 | 场景 | 测试样本数 | 准确率 | 格式合规率 | 备注
v1         | 文案 | 30        | 76%   | 85%       | 指令偏泛
v2         | 文案 | 30        | 89%   | 97%       | 增加约束后明显提升

注意事项

  • 没有版本记录,后续很难复盘“为什么变好/变差”。

7.2 优质 Prompt 模板库(可直接复制)

分类模板

text
[解释型]
你是[专家],请用[受众水平]解释[概念],给1个类比+1个示例,200字内。
text
[对比型]
请对比[A]与[B],从“定义/优缺点/适用场景”三方面输出表格。
text
[改写型]
请将以下内容改写为[风格],保留核心信息,控制在[字数]。
原文:[内容]
text
[计划型]
请为[目标]制定4周执行计划,每周输出“目标/动作/验收标准”。
text
[结构化JSON]
请仅输出JSON:
{"title":"","summary":"","todo":[],"risks":[]}

注意事项

  • 模板是“骨架”,业务变量(人群、目标、限制)要替换完整。

7.3 学习资源推荐

核心说明

  • 书籍:提示词工程、NLP 应用实践类书籍
  • 教程:官方 API 文档、模型最佳实践指南
  • 社区:GitHub、技术论坛、开发者社区

学习建议模板

text
每周节奏:
1) 学1个新技巧
2) 做3个真实任务
3) 复盘1次效果
4) 沉淀到模板库

注意事项

  • 学习闭环关键不是“看多少”,而是“沉淀了多少可复用模板”。

八、常见问题与避坑指南:高频问题、高级避坑

8.1 高频问题与解决方案

问题1:输出偏离目标

  • 原因:任务和边界不清
  • 解法:补“目标 + 约束 + 验收标准”

问题2:生成质量低

  • 原因:上下文不足、示例缺失
  • 解法:补充背景与 few-shot 示例

问题3:多轮对话断层

  • 原因:历史信息未显式继承
  • 解法:每轮写“沿用结论 + 本轮目标”

修复模板

text
请基于以下已确认结论继续,不要重写前文:
[结论列表]

本轮目标:
[当前目标]

输出格式:
[格式要求]

注意事项

  • 多轮场景中,“状态同步”比“文采”更重要。

8.2 高级避坑技巧

核心说明

  • 避免 AI 幻觉:要求“依据输入信息回答,不确定时明确说明”
  • 控制输出精度:设定字段、单位、保留小数位
  • 减少冗余:限制段落数量和句子长度

反幻觉模板

text
请严格基于我提供的信息回答。
若信息不足,请输出“信息不足”并列出还需要的数据,
禁止编造来源、案例或统计数据。

注意事项

  • “禁止编造”必须写进 Prompt,且要配合验证流程。

九、实战案例汇总:需求到效果闭环

案例1:活动文案生成优化

需求分析:为“会员日”活动生成朋友圈文案,要求短、转化高。
Prompt 初版

text
写一条会员日文案。

优化版 Prompt

text
你是电商文案专家。请为“会员日满199减50”活动写3条朋友圈文案,
面向25-35岁女性用户,语气轻松,80字内,包含福利点和行动号召。

效果对比

  • 初版:泛泛而谈、无行动点
  • 优化版:信息完整、可直接发布

注意事项

  • 文案场景优先约束字数和 CTA。

案例2:代码 Debug 助手

需求分析:快速定位 Python 报错原因。
Prompt 模板

text
你是Python调试专家。请根据报错信息完成:
1) 根因分析
2) 修复代码
3) 回归测试步骤
报错信息:[粘贴]
相关代码:[粘贴]

Python 调用示例

python
error_text = "TypeError: can only concatenate str (not 'int') to str"
code_text = "name='Tom'; age=18; print(name+age)"

prompt = f"""你是Python调试专家...
报错信息:{error_text}
相关代码:{code_text}
"""
print(prompt[:120])
# 输出解释:将报错和代码同时喂给模型,减少误判

注意事项

  • Debug 场景必须提供最小复现代码。

案例3:数据分析报告自动化

需求分析:按周输出销售分析报告。
Prompt 模板

text
你是数据分析顾问。基于输入的周销售数据输出:
1) 关键指标变化
2) 异常点
3) 下周建议(3条)
格式:Markdown,含小标题和表格。

代码示例(Pandas + Prompt)

python
import pandas as pd

df = pd.DataFrame({
    "week": ["W1", "W2", "W3"],
    "sales": [100, 120, 90]
})
summary = df.to_markdown(index=False)
print(summary)
# 输出解释:先用 pandas 结构化数据,再交给模型生成可读报告

注意事项

  • 让模型解释数据,不要让模型“猜数据”。

案例4:技术教程生成

需求分析:产出新手向教程,要求结构固定。
Prompt 模板

text
请写“Git 入门教程”,结构固定:
1) 概念
2) 安装
3) 常用命令
4) 常见错误
每节给1个示例,面向初学者。

效果说明

  • 输出结构稳定,便于直接发布到知识库。

注意事项

  • 教程类要指定读者水平,否则容易忽难忽易。

案例5:多工具平台适配

需求分析:同一任务在不同 AI 平台表现不一致。
Prompt 方案

text
通用目标:生成“项目周报”
ChatGPT版:强调结构化与精简
文心版:增加背景解释与术语定义
豆包版:缩短句子、增强口语化

效果说明

  • 通过微调 Prompt,而非重写全流程,降低适配成本。

注意事项

  • 建议维护“通用模板 + 平台差异补丁”两层结构。

附录:可直接复用的最小 Prompt 公式

text
角色 + 任务 + 背景 + 约束 + 输出格式 + 验收标准
text
示例:
你是资深数据分析师。请分析以下销售数据并给出结论。
背景:这是某电商近30天数据。
约束:结论不超过3条,每条不超过50字,不允许编造数据。
输出格式:Markdown表格(指标/现状/建议)。
验收标准:结论可执行、与数据一致。

关键结论

  • Prompt 工程的本质是“把需求变成可执行指令”。
  • 提示词优化要靠“模板化 + 评测化 + 迭代化”。
  • 先稳定结构,再追求创意,是从入门走向精通的最快路径。