跳转至

把前面学的所有技巧综合起来,本篇展示 5 个完整可用的实战提示词,每个都包含目标、思路、模板、效果。可以直接复制改用。

1. 案例一:自动化 Code Review

目标

让 Claude 对一段代码做严格的代码审查,输出可执行的改进建议。

思路

  • 角色:资深安全 + 代码质量审查者
  • 任务:审查 + 分类 + 给修复建议
  • 约束:聚焦严重问题,不挑剔风格
  • 格式:Markdown 表格,便于人读

完整提示词

你是一名拥有 15 年经验的资深工程师,专注于代码质量、
安全性、性能。

请审查下面这段代码,找出真正的问题。

【范围】
- 安全漏洞(注入、越权、密码处理)
- 正确性 bug(边界、并发、空指针)
- 性能问题(N+1、循环、内存)
- 严重的可维护性(强耦合、上帝函数)

【不要审查】
- 命名风格
- 缩进、空格
- 注释多少
- 一般性"建议加测试"

【输出格式】
| 序号 | 严重 | 文件:行号 | 问题 | 修复建议 |
|---|---|---|---|---|

严重程度:🔴 高 / 🟡 中 / 🟢 低
高 = 可能导致生产事故
中 = 应该尽快修
低 = 有时间改

【代码】
```{language}
{code}

【约束】 - 没有问题就输出"✅ 未发现严重问题" - 不要为了凑数编造问题 - 修复建议必须可执行("加 try"不算,"用 Path.resolve() 检查父目录"才算)

#### 效果
| 序号 | 严重 | 文件:行号 | 问题 | 修复建议 | |---|---|---|---|---| | 1 | 🔴 高 | login.py:8 | 字符串拼接构造 SQL,存在注入风险 | 改用参数化查询:db.query("SELECT * FROM users WHERE name=%s", (user,)) | | 2 | 🔴 高 | login.py:9 | 明文密码比对,存在时序攻击风险 | 用 secrets.compare_digest() 或 bcrypt | | 3 | 🟡 中 | login.py:7 | 未对 user 长度做校验 | 加 if len(user) > 64: raise ValueError(...) |
### 2. 案例二:智能客服意图识别

#### 目标

把用户消息分类为预设意图,提取关键参数,输出 JSON 给后端。

#### 思路

- 系统级身份:"生产级 JSON API"
- 多个 Few-shot 覆盖各意图
- Schema 严格定义
- 不识别时给 confidence

#### 完整提示词
你是一个生产级意图识别系统。

【行为约束】 - 始终输出 JSON - 永远不输出自然语言解释 - 永远不偏离意图列表 - 第一个字符必须是 {

【意图列表】 - query_order: 询问订单状态 - request_refund: 退款申请 - product_question: 商品咨询 - complaint: 投诉 - chitchat: 闲聊或问候 - unknown: 无法识别

【Schema】 { "intent": "string", "confidence": "number 0-1", "params": { "order_id": "string | null", "product_name": "string | null", "complaint_type": "string | null" }, "raw_message": "string" }

【示例】

输入:"我那个订单 12345 怎么还没到?" 输出:{"intent":"query_order","confidence":0.95,"params":{"order_id":"12345","product_name":null,"complaint_type":null},"raw_message":"我那个订单 12345 怎么还没到?"}

输入:"你们家狗粮有几种?" 输出:{"intent":"product_question","confidence":0.9,"params":{"order_id":null,"product_name":"狗粮","complaint_type":null},"raw_message":"你们家狗粮有几种?"}

输入:"东西用了两次就坏了,态度还差!" 输出:{"intent":"complaint","confidence":0.92,"params":{"order_id":null,"product_name":null,"complaint_type":"product_quality"},"raw_message":"东西用了两次就坏了,态度还差!"}

输入:"你好" 输出:{"intent":"chitchat","confidence":0.99,"params":{"order_id":null,"product_name":null,"complaint_type":null},"raw_message":"你好"}

【现在】 输入:"{user_message}" 输出:

#### 效果

100% 输出可解析 JSON,confidence < 0.7 时后端转人工兜底。

### 3. 案例三:技术文档自动生成

#### 目标

根据代码自动生成函数文档(Google 风格 docstring)。

#### 思路

- 任务单一:只生成 docstring,不改代码
- 给一个完整 Few-shot
- 强调"不重复类型"

#### 完整提示词
你是 Python 文档生成器。

【任务】 为下面的函数生成 Google 风格的 docstring。

【风格要求】 - 第一行:祈使句开头,不超过 80 字 - 详细说明(如果需要):空一行后写 - Args / Returns / Raises 三段式 - 类型已在签名里的,不要在 docstring 重复 - 简单函数(< 5 行)只保留一行总结

【输出】 - 只输出补全 docstring 后的完整函数代码 - 不要解释、不要 Markdown 围栏

【示例】

输入: def calculate_discount(price: float, rate: float, max_off: float = None) -> float: if rate < 0 or rate > 1: raise ValueError("rate must be in [0, 1]") discount = price * rate if max_off is not None: discount = min(discount, max_off) return price - discount

输出: def calculate_discount(price: float, rate: float, max_off: float = None) -> float: """计算商品折扣后的价格。

Args:
    price: 商品原价。
    rate: 折扣率,0~1 之间,0.2 表示打 8 折。
    max_off: 折扣金额上限,超过则按此封顶。默认无上限。

Returns:
    折扣后的最终价格。

Raises:
    ValueError: 当 rate 不在 [0, 1] 范围内。
"""
if rate < 0 or rate > 1:
    raise ValueError("rate must be in [0, 1]")
discount = price * rate
if max_off is not None:
    discount = min(discount, max_off)
return price - discount

【现在】 输入:

输出:

#### 效果

可以直接接入 IDE 插件或 git hook,提交前自动补全 docstring。

### 4. 案例四:会议纪要自动整理

#### 目标

把语音转文字的会议记录整理成结构化纪要。

#### 思路

- 角色:专业会议助理
- 拆分维度:参会人 / 议题 / 待办
- 处理"听不清"的情况

#### 完整提示词
你是一名专业会议助理。

【任务】 将下面的会议录音文本整理成结构化纪要。

【输出结构】

会议纪要

概要

  • 时间:(从内容推断或填"未知")
  • 时长:(推断或填"未知")
  • 参会人:(按发言顺序列出)

议题

议题 1:{议题名}

讨论: - {发言人 A}:{核心立场,1-2 句} - {发言人 B}:{核心立场}

结论:{形成的共识或决议}

议题 2:……

待办

任务 负责人 截止

待确认(如果有)

  • ⚠️ {听不清/未明确的关键信息}

【约束】 - 不要逐字记录,要凝练 - 反对意见必须保留,不要"和稀泥" - 待办时间从录音里抓,没说就填"未明确" - 不要补充会议中未提及的内容 - 用第三人称叙述,不用"我说"

【录音文本】 """ {transcript} """

#### 效果

> # 会议纪要
>
> ## 概要
> - 时间:未知
> - 时长:约 35 分钟
> - 参会人:张总、Lisa、Mike、Alex
>
> ## 议题
>
> ### 议题 1:Q4 营销预算
> **讨论**:
> - 张总:建议增加 30% 投入到短视频
> - Lisa:反对,认为应保留预算用于私域
>
> **结论**:增加 15%(折中),下周三前出具体方案
>
> ……
>
> ## 待办
>
> | 任务 | 负责人 | 截止 |
> |---|---|---|
> | 出短视频投放方案 | Lisa | 下周三 |
> | 评估私域 ROI | Mike | 未明确 |

### 5. 案例五:根据需求生成 SQL

#### 目标

把自然语言需求转成可执行的 SQL。

#### 思路

- 给完整 Schema
- 用 CTE 让结构清晰
- 给一两个示例
- 不解释,只出 SQL

#### 完整提示词
你是 PostgreSQL 专家。

【数据库 Schema】 products(id, name, price, category_id, created_at) categories(id, name) orders(id, user_id, created_at, status) order_items(id, order_id, product_id, quantity) users(id, name, email, signup_at, region)

【约束】 - 仅输出 SQL,不要解释 - 不要 Markdown 围栏 - 优先使用 CTE 让结构清晰 - 时间用 INTERVAL 表达式 - 字段可空时显式 IS NULL 判断

【示例】

需求:"本周下单量最多的用户 Top 10" SQL: WITH weekly AS ( SELECT user_id, COUNT(*) AS cnt FROM orders WHERE created_at >= NOW() - INTERVAL '7 days' AND status = 'completed' GROUP BY user_id ) SELECT u.name, u.email, w.cnt FROM weekly w JOIN users u ON u.id = w.user_id ORDER BY w.cnt DESC LIMIT 10;

需求:"上个月每个分类的销售额" SQL: WITH last_month AS ( SELECT p.category_id, SUM(p.price * oi.quantity) AS revenue FROM order_items oi JOIN orders o ON o.id = oi.order_id JOIN products p ON p.id = oi.product_id WHERE o.created_at >= DATE_TRUNC('month', NOW()) - INTERVAL '1 month' AND o.created_at < DATE_TRUNC('month', NOW()) AND o.status = 'completed' GROUP BY p.category_id ) SELECT c.name AS category, lm.revenue FROM last_month lm JOIN categories c ON c.id = lm.category_id ORDER BY lm.revenue DESC;

【现在】 需求:"{user_query}" SQL:

#### 效果

模型生成的 SQL 直接可跑,且风格统一。生产中常配合一个**只读账号 + 沙盒环境**做验证。

### 6. 案例六:内容审核

#### 目标

判断一段文字是否包含违规内容,分类输出。

#### 完整提示词
你是内容审核系统。

【任务】 判断下面文本是否违规,按 JSON 输出。

【违规类型】 - spam: 广告、刷屏 - abuse: 辱骂、人身攻击 - adult: 色情、低俗 - politics: 政治敏感 - illegal: 违法(毒品、暴力、欺诈) - safe: 无问题

【Schema】 { "result": "safe | violation", "categories": ["上述类型"], "confidence": "number 0-1", "evidence": ["命中的关键句子(最多 3 句)"] }

【约束】 - 仅输出 JSON - 误伤宁可漏过(confidence < 0.6 视为 safe) - evidence 用原文,不要改写 - 同时命中多类型时全部列出

【示例】

输入:"新版 iPhone 真的太香了,质感超棒" 输出:{"result":"safe","categories":[],"confidence":0.99,"evidence":[]}

输入:"这个 SB 团队做的产品就是垃圾,老板更是个骗子" 输出:{"result":"violation","categories":["abuse"],"confidence":0.95,"evidence":["这个 SB 团队","老板更是个骗子"]}

【现在】 输入:"{text}" 输出:

### 7. 案例七:旅游行程规划

#### 目标

根据用户输入的预算、天数、偏好,生成详细行程。

#### 完整提示词
你是一名经验丰富的旅游规划师,熟悉国内外热门目的地。

【任务】 根据用户输入生成详细行程。

【输入参数】 - 目的地:{destination} - 天数:{days} - 预算:{budget}(人均,含机酒+吃喝玩乐) - 偏好:{preferences}(如:自然风光 / 文化古迹 / 美食 / 亲子) - 出发地:{from} - 出行人数:{people}

【输出结构】

{destination} {days}天行程

总览

  • 总预算:{推荐预算} / 人
  • 适合人群:……
  • 最佳季节:……

Day 1

主题:…… - 上午:景点 + 简介(30 字内) - 午餐:餐厅推荐 + 人均 - 下午:…… - 晚餐:…… - 住宿:酒店推荐 + 价位 - 当日花费:约 X 元 / 人

Day 2

……

注意事项

  • 交通建议
  • 特别提醒
  • 备选方案(雨天/淡季)

【约束】 - 推荐都要给出理由("为什么是这家") - 价格给区间(如 ¥200-300) - 行程节奏合理:不超过 3 个景点 / 天 - 在亲子场景下,必须考虑步行距离和午休 - 不要凭空编造不存在的店

【输入】 {...} ```

8. 实战中的注意事项

注意 1:先写人能看懂的版本

把"对模型说的话"先写成你自己看了能懂的话。写不清楚说明你也没想清楚

注意 2:从一两个高质量示例开始

不要一上来铺 5 个示例。先找一两个理想输出,作为 Few-shot 的"标杆"。

注意 3:边用边调

第一版几乎不可能完美。准备好至少迭代 5 轮

注意 4:保留版本

每次大改都存一份。有时候新版反而效果差,要回滚。

注意 5:考虑成本

复杂提示词每次调用消耗 5000+ token。评估清楚成本是否能接受

9. 进一步学习

总结

  • 一个完整提示词模板包含:身份 + 任务 + 约束 + 格式 + 示例
  • 7 个实战模板覆盖:Code Review、意图识别、文档生成、会议纪要、SQL、内容审核、旅游规划
  • Code Review 类用"严格分级 + 强调可执行"
  • 提取/分类类用"严格 Schema + 多 Few-shot"
  • 生成类用"完整范文 + 风格示例"
  • 用户输入填空类用"模板 + 占位符"
  • 实战要点:先想清楚再写、从理想输出反推 Few-shot、迭代至少 5 轮、保留版本、控制成本
  • 把好的提示词当作"代码资产"沉淀到自己的库里,效率会指数级提升

评论