Prompt Engineering 基础技巧完全指南

提示工程(Prompt Engineering)是通过优化输入提示词来引导AI模型生成高质量输出的技术。掌握基础技巧能显著提升AI响应的准确性、相关性和实用性。


一、核心原则

1. 清晰性 > 复杂性

  • 目标:让模型理解你的意图,而非考验它的理解能力

  • 反例:"写点东西"

  • 正例:"用3句话解释量子纠缠,让10岁孩子能听懂"

2. 具体性 > 模糊性

  • 提供明确的约束条件(格式、长度、风格、受众)

  • 反例:"总结这篇文章"

  • 正例:"用200字总结这篇文章,包含3个核心观点,用 bullet points 呈现"


二、7大基础技巧

技巧1:角色设定(Role Prompting)

为AI分配一个专业角色,激活其对应知识领域。

公式你是一位[专业角色],请[执行任务]

示例

复制代码
❌ 普通提问:怎么学编程?
✅ 角色设定:你是一位有10年经验的编程导师,请为完全零基础的学习者制定3个月学习计划,每周学习5小时,要包含具体的学习路径和练习项目。

代码场景

复制代码
String prompt = """
    你是一位资深Java架构师,请审查以下代码,指出3个潜在的安全漏洞,
    并用中文解释每个漏洞的危害和修复建议。
    
    代码:
    ```java
    public void processInput(String userInput) {
        Runtime.getRuntime().exec(userInput);
    }
    ```
    """;

技巧2:任务分解(Task Decomposition)

将复杂任务拆解为有序步骤,引导AI逐步思考。

公式请按以下步骤完成任务:1. [步骤1] 2. [步骤2] 3. [步骤3]

示例

复制代码
分析以下销售数据并给出建议:
1. 首先提取2024年Q1-Q3的销售额和增长率
2. 然后识别增长最慢的3个产品线
3. 最后针对每个产品线提出1个具体的改进措施

数据:[附上CSV数据]

技巧3:提供示例(Few-Shot Learning)

给出输入输出的范例,让AI模仿期望的格式和风格。

公式示例1:输入→输出 示例2:输入→输出 现在处理:新输入→

示例

复制代码
将以下英文商品名翻译为中文,保持简洁:
示例1:
English: Wireless Bluetooth Headphones with Noise Cancellation
Chinese: 降噪蓝牙耳机

示例2:
English: Portable Fast Charging Power Bank 20000mAh
Chinese: 20000mAh快充充电宝

现在翻译:
English: Smart WiFi Security Camera with Night Vision
Chinese:

技巧4:结构化输出(Structured Output)

强制AI返回JSON、Markdown表格等结构化格式,便于程序解析。

公式请以JSON格式返回,包含以下字段:{"field1": "描述", "field2": "描述"}

示例

复制代码
从以下文本中提取实体信息:
"苹果公司由史蒂夫·乔布斯在1976年创立,总部位于加利福尼亚。"

请按此JSON格式返回:
{
  "company": "公司名称",
  "founder": "创始人姓名", 
  "year": "成立年份(数字)",
  "location": "总部位置"
}

Spring AI 代码示例

复制代码
String prompt = """
    分析用户评论的情感倾向。
    请以JSON格式返回,包含以下字段:
    - sentiment: 情感类型(positive/negative/neutral)
    - confidence: 置信度(0-1之间的小数)
    - keywords: 关键词数组(最多3个)
    
    评论:"{0}"
    """;

String jsonResponse = chatClient.prompt(prompt)
        .param(comment)
        .call()
        .content();
        
// 解析JSON获取结构化数据

技巧5:思维链引导(Chain-of-Thought)

在提示词中加入"请逐步思考"或"让我们一步步分析",引导AI展示推理过程,显著提升复杂问题准确率。

公式请逐步思考:[问题]

示例

复制代码
问题:一个农场有鸡和牛共30只,脚共88只,问鸡和牛各多少只?

请逐步思考并展示推理过程:
1. 设鸡有x只,牛有y只
2. 根据头数列方程:x + y = 30
3. 根据脚数列方程:2x + 4y = 88
4. 解方程组...
5. 得出答案

技巧6:上下文隔离(Context Isolation)

使用分隔符(###, ---, XML标签)清晰划分指令、上下文和输入,避免混淆。

公式

复制代码
[指令部分]

--- 或 ###

[上下文/背景信息]

--- 或 ###

[待处理内容]

示例

复制代码
请总结以下技术文档。

###
文档主题:Spring Boot 3.2 新特性
###

###
文档内容:
[粘贴长文档...]
###

###
总结要求:
- 用3个 bullet points
- 每个不超过20字
- 突出性能提升特性
###

技巧7:边界约束(Constraints Setting)

明确限制输出格式、长度、风格等边界条件。

常用约束参数

约束类型 示例
长度 "用100字以内"、"生成5-7句话"
格式 "用Markdown表格"、"返回纯文本"
风格 "用正式商务语气"、"像朋友聊天"
受众 "面向产品经理"、"给5岁孩子讲"
排除项 "不要提及价格"、"避免技术术语"

组合示例

复制代码
为LinkedIn撰写一篇帖子:
- 主题:宣布我们产品新功能
- 长度:150-200字
- 风格:专业但友好
- 必须包含:#AI #ProductUpdate 标签
- 禁止包含:具体价格信息

三、进阶技巧组合

组合模式:角色 + 思维链 + 结构化输出

复制代码
String advancedPrompt = """
    你是一位资深数据分析师。
    
    请分析以下销售数据,并:
    1. 首先识别数据中的异常模式
    2. 然后分析可能的原因
    3. 最后提出3个可执行的建议
    
    请逐步思考,并用以下JSON格式返回结果:
    {
      "anomalies": ["异常1", "异常2"],
      "rootCauses": ["原因1", "原因2"],
      "recommendations": [
        {"priority": "high", "action": "具体行动1"},
        {"priority": "medium", "action": "具体行动2"},
        {"priority": "low", "action": "具体行动3"}
      ]
    }
    
    数据:
    {0}
    """;

四、常见陷阱与避坑指南

陷阱 错误示例 正确做法
模糊指令 "写得好一点" "增加3个具体案例,语言更口语化"
过度约束 同时限制10个条件 聚焦3-5个核心约束
缺少上下文 "那个项目怎么样了?"(没有指明项目) "关于客户A的CRM升级项目,目前进度如何?"
假设模型知道 "按老规矩生成报告"(模型不知道"老规矩") "按照附件模板格式生成报告,包含销售额、转化率、环比3个部分"
忽视token限制 粘贴10万字长文让总结 先分段处理,或使用RAG检索相关内容

五、效果评估与迭代

5.1 A/B测试提示词

复制代码
// 版本A:简单指令
String promptV1 = "总结这段文字";

// 版本B:结构化指令
String promptV2 = """
    用3个bullet points总结,每个不超过15字:
    {0}
    """;

// 记录两个版本的响应质量和用户满意度

5.2 自动化评估指标

  • 相关性:输出是否回答了问题

  • 准确性:事实是否正确

  • 完整性:是否覆盖所有要求

  • 格式合规性:是否遵循结构要求


六、实用工具与资源

6.1 提示词模板库

  • LangChain Hub:社区共享的提示词模板

  • PromptPerfect:自动优化提示词工具

  • Spring AI :内置 PromptTemplate

Spring AI 模板示例

复制代码
PromptTemplate template = new PromptTemplate("""
    你是一位{role},请为{audience}解释{topic}。
    要求:{requirements}
    """);
    
Map<String, Object> params = Map.of(
    "role", "资深教师",
    "audience", "初中生", 
    "topic", "光合作用",
    "requirements", "用比喻,不超过100字"
);

String prompt = template.render(params);

6.2 学习资源

  • 书籍:《Prompt Engineering Guide》(免费在线版)

  • 实践:Anthropic 的 Prompt Engineering Interactive Tutorial

  • 社区:Discord 的 "Prompt Engineering" 频道


七、总结:黄金句式模板

万能模板

复制代码
你是一位[专业角色]。

请完成以下任务:[具体任务]。

要求:
1. [要求1]
2. [要求2] 
3. [要求3]

工作步骤:
1. [步骤1]
2. [步骤2]

请以[格式]返回结果。

[上下文/输入内容]
相关推荐
明阳~1 小时前
LLM函数调用(Function Call):智能扩展AI能力
llm·prompt·agent·function call
love530love4 小时前
在 PyCharm 中配置 x64 Native Tools Command Prompt for VS 2022 作为默认终端
ide·人工智能·windows·python·pycharm·prompt·comfyui
njsgcs8 小时前
我要搞个ai程序操控鼠标,截取屏幕,识别刀路,给ai一个刀路寻找规则的prompt,然后ai自己去按规则顺序点亮刀路
人工智能·prompt·项目预告
settingsun12251 天前
LLM Prompt三大框架之一:CRISPE (vs ICIO)
ai·prompt
小小工匠1 天前
LLM - 从 Prompt 到 Context:2026 Agent 时代的核心战场
prompt·agent·context
sulikey1 天前
Anaconda 无法找到 Anaconda Prompt 的原因
prompt·anaconda·anaconda prompt
兜兜转转了多少年1 天前
《Prompt Engineering白皮书》笔记08 我用 Gemini 10 分钟写完脚本,100 个文件自动改名
笔记·prompt
Robot侠3 天前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
陈建1113 天前
Prompt工程 智能客服推荐应用案例
prompt
PPIO派欧云3 天前
PPIO上线Prompt Cache:让模型调用更快、更省、更稳
大数据·人工智能·prompt