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]

请以[格式]返回结果。

[上下文/输入内容]
相关推荐
猿类崛起@20 小时前
2025秋招LLM大模型多模态面试题:110道大模型面试常见问题及答案,助你拿下AI工程师岗位!
人工智能·机器学习·ai·性能优化·大模型·prompt·大模型训练
海边夕阳200620 小时前
【每天一个AI小知识】:什么是Prompt?
人工智能·prompt
极速learner1 天前
n8n本地安装的两种方法:小白入门大白话版本
人工智能·prompt
nvd111 天前
Agent架构升级:解决Gemini超大Prompt处理问题
架构·prompt
阿杰学AI1 天前
AI核心知识23——大语言模型之System Prompt(简洁且通俗易懂版)
人工智能·ai·语言模型·prompt·aigc·system prompt
AhaPuPu1 天前
LLM Agent Attack- Indirect Prompt Injection
网络·人工智能·prompt
优选资源分享1 天前
Prompt Optimizer v2.2.1:开源AI提示词优化工具
prompt·实用工具
风雨中的小七1 天前
解密Prompt系列65. 三巨头关于大模型内景的硬核论文
prompt
技术传感器1 天前
Prompt工程的艺术与科学:从“对话“到“编程“,掌握与大模型高效协作的元技能
人工智能·microsoft·架构·prompt·aigc