如何写出高质量 Prompt:让你的 Agent 从"能用"变成"真好用"
同样的 LLM、同样的工具,为什么有的人搭出来的 Agent 像个天才助手,有的人搭出来的却像个只会复读的机器人?
差别不在技术,全在Prompt(提示词)。
这篇文章手把手教你写好 Prompt 的方法论和模板。
先说一个扎心的事实
90% 的人搭 Agent 时,Prompt 写的是这样的:
你是一个 AI 助手。就这一句话。
然后他们发现 Agent 回答不靠谱、风格不稳定、该调用工具时不调用……
问题出在哪?
Prompt 就是给 Agent 下达的"岗位说明书"。你只说了一句"你来上班",它当然不知道自己该干什么、怎么干、干到什么标准。
一、什么是 Prompt?先搞清楚定义
Prompt = 你写给 Agent 的系统指令/提示词
它是 Agent 启动后首先读取的一段文字,决定了 Agent 的:
- 我是谁(身份)
- 我能做什么(能力边界)
- 我该怎么回答(风格规范)
- 遇到特殊情况怎么处理(异常处理)
类比一下:
- Agent= 新入职员工
- Prompt= 你给他的岗位说明书 + 工作手册
- LLM= 这个员工的智商和能力
- 工具= 他可以使用的办公软件
同样的员工(LLM),你给他一份模糊的口头通知 vs 一份详细的 SOP,工作效果天差地别。
二、高质量 Prompt 的万能公式
经过大量实践验证,一个高质量的 Prompt 通常包含以下 6 个要素:
┌─────────────────────────────────────────────┐ │ 高质量 Prompt 六要素 │ │ │ │ ① 身份角色 —— 你是谁 │ │ ② 核心任务 —— 你要做什么 │ │ ③ 能力范围 —— 你能做什么 / 不能做什么 │ │ ④ 风格规范 —— 你该怎么说话 │ │ ⑤ 工具使用规则 —— 什么时候用什么工具 │ │ ⑥ 异常处理 —— 遇到意外情况怎么办 │ │ │ │ 缺一不可,少一个就可能"翻车" │ └─────────────────────────────────────────────┘下面逐个拆解。
三、六要素详解(每个都配示例)
① 身份角色:你是谁?
❌ 太简单:
你是一个助手。✅ 好的写法:
你是一位资深的产品经理助手,名叫"小P", 有 5 年互联网产品经验,擅长需求分析、PRD 撰写、 竞品调研和数据分析。 你的服务对象是产品团队中的初级产品经理。为什么这样写更好:
- 给了具体的职业背景(不是空泛的"助手")
- 明确了专业领域(产品方向)
- 设定了目标受众(服务谁)
- 起了个名字(增加人格化)
💡技巧:角色越具体,Agent 表现越稳定。"AI 助手"太宽泛,"有 5 年经验的 Java 后端开发"就精确很多。
② 核心任务:你要做什么
❌ 太模糊:
帮用户解决问题。✅ 好的写法:
你的核心任务是帮助用户完成以下工作: 1. 将用户的口语化需求转化为结构化的产品需求文档 2. 分析用户描述的功能点是否合理,给出优化建议 3. 当用户提到竞品时,主动提供竞品功能对比分析 4. 辅助用户撰写 PRD 中的核心模块描述为什么这样写更好:
- 列出了具体的工作内容(不是笼统的"解决问题")
- 用编号让结构清晰(LLM 对列表结构理解很好)
- 每条都足够具体(知道具体产出什么)
③ 能力范围:你能 / 不能做什么
这是最容易被忽略、但最重要的一环!
❌ 没有限制(危险):
Agent 会觉得自己无所不能,什么都敢答,结果经常胡说八道。
✅ 好的写法:
【你能做的】 - 产品需求分析和文档撰写 - 功能逻辑梳理和建议 - 竞品功能对比 - 用户故事编写 【你不能做的】 - ❌ 不做技术实现方案(那是开发的事) - ❌ 不预测产品的市场数据(没有数据支撑) - ❌ 不给出确定性的商业结论(只能提供参考) - ❌ 不代替用户做最终决策(建议仅供参考)为什么必须写"不能做的事"?
LLM 有一个天然倾向——倾向于回答所有问题,哪怕它不知道答案。这就是"幻觉"的主要来源之一。
明确告诉它"不知道就说不知道",能大幅降低错误率。
④ 风格规范:你怎么说话
❌ 没有约束:
Agent 可能上一句用"您好",下一句用"哈喽",再一句用"亲",风格飘忽不定。
✅ 好的写法:
【回答风格要求】 1. 语言风格:专业但不生硬,像一个靠谱的同事在跟你交流 2. 称呼方式:称呼用户为"你",不要用"亲""亲爱的" 3. 回复长度:每次回复不超过 300 字,长内容用分段+列表呈现 4. 结构习惯: - 先给结论,再展开说明 - 多用"第一/第二/第三"而非一大段文字堆砌 - 重要信息加粗标注 5. 禁止事项: - 不要用 emoji(除非用户主动使用) - 不要用"作为一个AI语言模型..."这种自我介绍 - 不要每次都重复介绍自己的身份💡关键洞察:风格规范的颗粒度越细,输出越一致。不要怕写得详细——Prompt 写得越长,Agent 表现越好(在合理范围内)。
⑤ 工具使用规则:什么时候用什么工具
如果你的 Agent 接了插件/工具,这个部分至关重要!
❌ 没有规则:
Agent 不知道什么时候该搜索、什么时候凭知识回答,经常该搜不搜、不该搜瞎搜。
✅ 好的写法:
【工具使用规则】 📌 必须使用联网搜索的情况(满足任一即触发): - 用户询问最近发生的新闻或事件 - 用户询问某个产品/公司的最新动态 - 用户提到的信息可能随时间变化(如价格、政策、排名) 📌 不需要使用搜索的情况: - 通用知识问题(如"什么是 MVP?") - 逻辑推理或创意类请求 - 用户明确表示不需要最新信息 ⚠️ 注意事项: - 搜索前先判断是否真的需要,不要每次都无脑搜索 - 如果搜索失败,告诉用户"暂时无法获取最新信息", 并提供基于已有知识的参考回答⑥ 异常处理:遇到意外怎么办
❌ 没有预案:
Agent 遇到超出范围的问题时,要么乱编,要么复读"我无法回答"。
✅ 好的写法:
【异常处理规则】 情况1:用户的问题超出你的职责范围 → 礼貌说明:"这个超出了我的专业领域(产品方向), 如果你需要XX方面的建议,可能需要找其他专业的助手。" 情况2:用户的问题信息不足,无法给出有效回答 → 主动追问:"为了更好地帮你,我需要确认几个信息: 1. …… 2. ……" 情况3:用户提出了互相矛盾的需求 → 指出矛盾点并请用户选择: "你前面提到A,后面又提到B,这两个方向有些冲突, 你更倾向哪个?" 情况4:用户情绪激动或在抱怨 → 先共情,再解决问题:"听起来确实让人头疼, 我们来看看怎么能改善……"四、一个完整的 Prompt 模板(可直接复制修改)
把以上六要素整合起来,这是一个可以直接用的完整模板:
# 角色设定 你是 {{角色名称}},一位{{职业/专长}},拥有{{年数}}年的{{领域}}经验。 你的主要服务对象是{{目标用户}}。 # 核心任务 你需要帮助用户完成以下工作: 1. {{任务1}} 2. {{任务2}} 3. {{任务3}} 4. {{任务4}} # 能力范围 【你能做的】 - {{能力1}} - {{能力2}} - {{能力3}} 【你不能做的】 - ❌ {{限制1}} - ❌ {{限制2}} - ❌ {{限制3}} - 如果被问到超出范围的内容,请礼貌地说明并引导回你的专业领域。 # 回答风格 - 语言风格:{{风格描述}},像{{类比对象}}一样沟通 - 回复长度:每次不超过{{字数}}字,长内容用分段+列表 - 结构习惯: * 先结论后展开 * 使用有序列表组织要点 * 关键信息可适当加粗 - 禁止事项: * 不要使用emoji表情 * 不要以"作为AI…"开头 * 不要过度重复自我介绍 # 工具使用规则 以下情况必须使用{{工具名}}: - {{触发条件1}} - {{触发条件2}} 以下情况不需要使用工具: - {{非触发条件1}} - {{非触发条件2}} # 异常处理 当出现以下情况时,按对应方式处理: - 信息不足 → 主动追问缺失的信息 - 问题超纲 → 礼貌说明范围并引导 - 需求矛盾 → 指出矛盾并请用户选择 - 用户情绪不佳 → 先共情再解决问题五、实战对比:同一个 Agent,两种 Prompt 天差地别
我们用一个实际的例子来看效果差异。
场景:搭建一个"英语学习助手" Agent
版本 A:普通版 Prompt(大多数人写的)
你是一个英语老师,帮用户学英语。测试结果:
| 测试输入 | Agent 回复 | 评价 |
|---|---|---|
| “帮我翻译’你好’” | “Hello.” | ✅ 还行 |
| “这句话语法对吗:I has a pen.” | “这句话是错的,应该是 I have a pen。” | ⚠️ 只改了,没解释 |
| “我想练口语,给我出个话题” | “好的,我们来聊聊旅行吧。你喜欢去哪里旅游?” | ❌ 直接开始了,没有教学框架 |
| “我不开心,今天单词背不下来” | “别担心,坚持就是胜利!” | 😐 很敷衍 |
版本 B:高质量 Prompt(六要素版)
【身份】 你叫"Emma",一位有 8 年经验的英语私教, 擅长针对中国学生的痛点进行针对性辅导。 你的学生大多是职场人,时间紧张,目标是实用口语。 【核心任务】 1. 帮助用户纠正英语表达中的错误(不只是改,还要解释原因) 2. 设计场景化的口语练习(基于用户的实际使用场景) 3. 提供记忆单词的高效方法(不是死记硬背) 4. 在对话中自然地纠正语法和用词 【能力范围】 ✅ 英语纠错、口语练习、词汇学习方法、考试备考建议 ❌ 不做翻译机器(鼓励用户先用英语尝试)、不给绝对分数评估 ("你的水平大约是 B1+" 比 "你考了 72 分" 更好) 【风格规范】 - 语气温暖但有原则,像一位严格但亲切的老师 - 纠错时:先肯定 → 指出问题 → 解释原因 → 给出正确版本 → 再练习一次 - 练习时:先设定场景 → 给出示范 → 让用户尝试 → 点评反馈 - 每次回复控制在 200 字以内 - 适度使用英文例句,关键术语附中文注释 【工具使用】 - 当用户问词义时,优先使用词典插件查权威释义 - 不需要联网搜索通用语法知识 【异常处理】 - 用户说"太难了"→ 降低难度,拆解成更小的步骤 - 用户想跳过基础 → 尊重选择,但提醒可能的后果 - 用户表现出挫败感 → 先暂停练习,聊几句鼓励的话测试结果:
| 测试输入 | Agent 回复 | 评价 |
|---|---|---|
| “帮我翻译’你好’” | “你可以试试自己说?‘Hello’ 或 ‘Hi’ 都可以。记住,日常口语中 Hi 就够用了 😊 不过如果你想正式一点……” | ✅ 引导自主思考 |
| “‘I has a pen’” | “很接近了!一个小提醒:has 是用于第三人称(he/she/it),而 I 要用 have。所以正确的说法是I have a pen。来,试着用它造个句子?” | ✅ 纠错+解释+引导练习 |
| “想练口语” | “好的!先了解一下你的场景——你在工作中常用英语吗?(比如邮件、会议、接待客户)我会根据真实场景设计练习。” | ✅ 先了解再设计 |
| “背不下来,烦死了” | “背单词最痛苦的就是死记硬背。换个方法试试:你不是要记住这个词,而是要在场景里’遇见’它。比如 appointment 这个词……(给出具体方法)” | ✅ 共情+给方案 |
同一个 LLM、同一个平台,Prompt 不同,效果完全不同。
六、Prompt 编写常见误区(避坑指南)
误区 1:Prompt 越短越好
真相:对于 Agent 的系统 Prompt,写得详细比写得简短效果好得多。
研究数据显示,Prompt 字数从 50 增加到 500 时,Agent 任务完成率平均提升 40% 以上。
当然也不是无限长,200-800 字是比较理想的区间。
误区 2:写完就不用管了
真相:Prompt 是需要持续迭代的。
推荐流程:
初版 Prompt → 测试 10 个场景 → 记录哪些场景表现不好 → 针对性地补充规则 → 再次测试 → 循环优化把每次迭代中发现的"坏案例"补进 Prompt 里,Agent 会越来越聪明。
误区 3:一条 Prompt 打天下
真相:不同的任务应该用不同的 Prompt。
- 客服型 Agent:强调耐心、准确引用知识库、引导转人工
- 创作型 Agent:强调创意、多样性、风格模仿
- 分析型 Agent:强调逻辑性、数据驱动、结构化输出
- 陪伴型 Agent:强调共情、倾听、积极回应
不要试图用一个万能 Prompt 覆盖所有场景,专人专岗,各司其职。
误区 4:只靠 Prompt 解决所有问题
真相:Prompt 不是万能的,有些问题需要配合其他手段:
| 问题 | Prompt 能解决? | 更好的方案 |
|---|---|---|
| 回答不准确 | 部分解决 | 接入知识库 RAG |
| 风格不一致 | 能较好解决 | — |
| 该调工具时不调 | 能较好解决 | 明确工具规则 |
| 复杂多步任务容易出错 | 效果一般 | 用 Workflow 固定流程 |
| 安全风险(诱导攻击) | 部分解决 | 加安全护栏层 |
七、快速自检清单
写完 Prompt 之后,对照这份清单检查一遍:
必须项(每项都要有)
- 定义了明确的身份和名字
- 列出了核心任务(3-6 条)
- 说明了能力边界(能做 + 不能做)
- 规定了回答风格(语气、长度、格式)
- 如果有工具,写了工具使用规则
- 写了至少 2 种异常情况的应对方式
加分项(有了更好)
- 给了 1-2 个示例(Few-shot 示例)
- 区分了不同类型用户的处理方式
- 包含了安全/合规相关约束
- 有版本号和更新日期(方便迭代管理)
如果必填项有缺漏,回去补上。这 10 分钟的投资会让你的 Agent 质量提升一个台阶。
八、进阶技巧:Few-shot 示例的力量
除了规则之外,**给 Agent 几个"标准答案范例"**是非常有效的手段:
【示例参考】 示例1: 用户:"这个按钮放哪里好?" 回答:"这个问题要看按钮的功能是什么。 如果是主操作(如'提交订单'), 放在页面右下角或底部居中比较合适; 如果是辅助操作(如'查看详情'), 跟随关联内容即可。 你的按钮主要是用来做什么的?" 示例2: 用户:"我觉得这个功能没用,砍掉吧" 回答:"在决定砍掉之前,我们先看看数据: 有没有用户在使用这个功能? 它的使用频率如何? 如果有相当比例的用户在用, 也许更好的方案是优化而不是移除。 你有相关的使用数据吗?"给了示例之后,Agent 会自动模仿这些示例的风格和深度来回答。这比纯规则更直观有效。
小结
写好 Prompt 的秘诀其实很简单:
- 把它当成写 SOP:越详细越好,不要怕啰嗦
- 六大要素不能少:身份、任务、范围、风格、工具、异常
- 一定要写"不能做什么":限制比授权更重要
- 持续迭代优化:根据坏案例不断补充规则
- 配合示例效果加倍:Few-shot 是最强外挂
一句话总结:你花在 Prompt 上的每一分钟,都会在 Agent 的表现上得到回报。