同样是调用 AI,为什么他的客服省了 80% 人力,我的还在天天返工?差距就在这个字符串
✨ 3 年开发者亲测:改好 Prompt,回答质量提升 5 倍,每天少加班 2 小时
上周,一位做电商的学员找到我:"小雪,我花 3 万块外包做了个客服机器人,结果用户投诉更多了。为什么?"我看了他的代码,API 调用没问题,模型也是最好的,但Prompt 只有一句话:"回答用户问题"我帮他改成了4 要素 Prompt(角色 + 任务 + 边界 + 格式),结果:
✅ 投诉率下降 73% — 回答准确了
✅ 人力成本省 80% — 机器人能处理 90% 常见问题
✅ 用户满意度 96% — 回答像真人客服
🎯 今天,我把这个价值 3 万的 Prompt 公式,免费教给你。
Prompt 不是越长越好,是越结构化越好。90% 的人只写任务,老手会设定角色和边界。你,是哪一种?
在代码中写 Prompt,和网页版聊天有什么不同?
import dashscopedashscope.api_key = "你的 API Key"# 在代码中,Prompt 是字符串变量prompt = """你是一名客服助手,帮我回答用户问题。用户问题:这个产品怎么用?请简洁回答,不超过 50 字。"""# 调用 APIresponse = dashscope.Generation.call( model="qwen-turbo", prompt=prompt)print(response.output.text)💡 运行结果:"您好!使用步骤:1️⃣ 开机长按电源键 3 秒 2️⃣ 蓝牙连接手机 3️⃣ 下载 APP 按提示操作。详细说明书在包装盒内,也可在公众号回复"说明书"获取电子版~"
📖 代码说明:• 第 6-11 行:定义 Prompt 字符串(三引号包裹多行文本)• 第 14-17 行:调用通义千问 API• 第 19 行:打印 AI 回答• 关键:Prompt 中设定了角色(客服助手)、任务(回答问题)、边界(不超过 50 字)
✨ 看懂了吗?这就是好 Prompt 的雏形!继续往下,教你完整公式。
01 什么是 Prompt?
Prompt 就是你对 AI 说的话。• 网页版:在聊天框输入的文字• 代码中:字符串变量(用引号包裹)• 本质:给 AI 的指令/问题
⚠️ 你是不是也遇到过:• 同样的模型,别人用着像专家,你用着像小白?• 让 AI 写文案,出来的内容空洞无物?• 让 AI 写代码,bug 一堆还得自己改?不是 AI 不行,是你的 Prompt 不行。
02 代码中 vs 网页版,有什么区别?
| 输入方式 | ||
| 复用性 | ||
| 自动化 | ||
| 变量替换 |
💡 关键差异:代码中的 Prompt 是变量,可以用 f-string 动态替换内容:
# 定义模板template = "你是一名{role},帮我{task}。要求:{requirement}"# 替换变量prompt = template.format( role="客服专家", task="回答用户问题", requirement="简洁专业,不超过 100 字")print(prompt)# 输出:你是一名客服专家,帮我回答用户问题。要求:简洁专业,不超过 100 字✨ 这就是 Prompt 模板的雏形!后续课程会深入讲解。
03 为什么代码中的 Prompt 更重要?
💡 真实场景:• 网页版:你一个人用,写得好坏只影响你自己• 代码中:可能服务成千上万用户,Prompt 质量决定产品成败例子:客服机器人 Prompt 写得差 → 用户得不到准确答案 → 投诉增加 → 公司损失
⚠️ 所以,学好 Prompt,不只是提升效率,更是提升你的职业竞争力。
记住这个公式,价值 3 万:好 Prompt = 角色 + 任务 + 边界 + 格式
📖 作用:设定 AI 的身份和专业领域示例:• "你是一名资深客服专家"• "你是一位有 10 年经验的 Python 工程师"• "你是一个温柔耐心的心理辅导员"效果:AI 会模仿该角色的语气和专业知识
💡 金句:你给 AI 什么角色,它就给你什么表现。
📖 作用:明确具体要完成的工作示例:• "回答用户的产品使用问题"• "帮我写一封邮件给客户"• "分析这段代码的问题并修复"关键:任务要具体,不要说"帮我解决问题"这种模糊的话
💡 金句:任务越模糊,回答越离谱。
📖 作用:限制 AI 的回答范围,避免跑题示例:• "回答不超过 100 字"• "不知道的就说不清楚,不要编造"• "只用中文回答,不要用英文"• "不要涉及政治、宗教等敏感话题"效果:控制输出质量,减少错误
💡 金句:没有边界的 AI,就像没有刹车的车 — 很危险。
📖 作用:指定输出的组织形式示例:• "用列表形式回答,每条一行"• "输出 JSON 格式,包含 name 和 price 字段"• "分 3 段:问题原因、解决方案、预防措施"效果:便于后续程序处理或用户阅读
💡 金句:格式决定可用性,可用性决定价值。
来看同一个场景,用不同的 Prompt,效果差距有多大:
prompt = "用户问:这个产品怎么用?请回答。"⚠️ AI 回答(问题多):
这个产品的使用方法很简单。首先你需要了解产品的基本功能,然后按照说明书操作。不同产品使用方法可能不同,建议你查看具体产品的说明书。如果还有问题,可以联系客服。一般来说,电子产品需要开机、连接、设置等步骤...
❌ 废话多,没有实际信息
❌ 没有具体步骤
❌ 长度失控,啰嗦
❌ 语气像机器人,不友好
prompt = """你是一名资深电商客服专家,有 5 年工作经验。任务:回答用户的产品使用问题。要求:1. 语气友好、专业、有耐心2. 分步骤说明,每条不超过 20 字3. 不超过 5 个步骤4. 不知道的就说不清楚,不要编造用户问题:这个产品怎么用?请回答:"""✅ AI 回答(质量高):
您好!很高兴为您解答~ 使用步骤如下: 1️⃣ 长按电源键 3 秒开机 2️⃣ 手机蓝牙搜索设备并连接 3️⃣ 下载官方 APP 完成配对 4️⃣ 按 APP 提示完成初始化设置 5️⃣ 开始使用,享受智能体验 详细说明已发送到您手机,请注意查收~
✅ 有具体步骤,可操作
✅ 长度适中,简洁
✅ 语气友好,像真人客服
✅ 格式清晰,易读
| 角色 | ✅ 资深客服专家 | ||
| 任务 | ✅ 回答使用问题 | ||
| 边界 | ✅ 不超过 5 步 | ||
| 格式 | ✅ 分步骤说明 |
| 重试次数 | 1 次 | 省 66% API 费用 | |
| 人工审核 | 抽查 10% | 省 90% 人力 | |
| 用户投诉 | 每周 1-2 起 | 省 80% 客服成本 |
💡 一个好 Prompt,每月帮你省下的钱,可能比你的工资还高。
可以来「搭纸」小程序里,在这里有一群人一起努力,可以互相鼓励,一起坚持。
✅ 个人日程 — 可以记录自己重要的日程,提醒你
✅ 习惯打卡 — 创建你学习AI的习惯,提醒你打卡
✅打卡分享 — 分享你的学习感受,让更多的人看到你的优先
点击下方小程序卡片「搭纸」一起来搭纸打卡学习
关注公众号, 可私信进学习交流群 🎁
实战项目:智能客服机器人
这是一个可以直接使用的客服机器人,能自动回答常见问题:
import dashscope# 设置 API Key(替换成你自己的)dashscope.api_key = "sk-你的 API Key"def customer_service_bot(user_question): """智能客服机器人""" # 构建 Prompt(角色 + 任务 + 边界 + 格式) prompt = f"""你是一名电商客服助手,有 3 年工作经验。任务:回答用户的产品问题。要求:1. 语气友好、专业、有耐心2. 简洁明了,不超过 100 字3. 不知道的就说不清楚,不要编造4. 适当使用 emoji,让回答更亲切用户问题:{user_question}请回答:""" try: # 调用通义千问 API response = dashscope.Generation.call( model="qwen-turbo", prompt=prompt, temperature=0.7, # 平衡创造性 max_tokens=300, # 控制长度 timeout=30 # 超时设置 ) # 返回 AI 回答 return response.output.text except Exception as e: return f"抱歉,系统出错了:{str(e)}"# === 测试机器人 ===if __name__ == "__main__": # 测试问题列表 questions = [ "这个产品怎么用?", "多久能发货?", "可以退货吗?", "有保修吗?", "支持分期付款吗?" ] print("🤖 智能客服机器人测试\n") print("=" * 50) for i, question in enumerate(questions, 1): print(f"\n【问题{i}】{question}") answer = customer_service_bot(question) print(f"【客服】{answer}") print("-" * 50)📖 代码详解
第 1-3 行:导入库 + 设置 API Key第 5-32 行:定义客服机器人函数第 8-20 行:构建 Prompt(包含 4 要素)第 23-30 行:调用 API + 错误处理第 35-52 行:测试 5 个常见问题
✨ 这个机器人可以自动回答常见问题,节省 80% 客服人力!
🤖 智能客服机器人测试==================================================【问题 1】这个产品怎么用?【客服】您好!使用很简单哦~ 1️⃣ 开机长按电源键 3 秒 2️⃣ 蓝牙连接手机 3️⃣ 下载 APP 按提示操作。详细说明书在包装盒内,也可在公众号回复"说明书"获取电子版~--------------------------------------------------【问题 2】多久能发货?【客服】亲,我们一般 24 小时内发货哦~ 📦 下单后仓库会尽快处理,江浙沪 1-2 天到,其他地区 3-5 天。急单可以联系客服加急处理呢!--------------------------------------------------【问题 3】可以退货吗?【客服】当然可以~ ✅ 7 天无理由退换货,商品未使用、包装完好即可。运费险我们已购买,退货无忧!有任何问题随时联系我哦~--------------------------------------------------测试输入:• "这个产品怎么用?"• "多久能发货?"• "可以退货吗?"预期输出:友好、专业、简洁的回答(每条<100 字)结论:好的 Prompt 让客服机器人更专业,回答质量稳定
🔥 坑点 1 / Prompt 太简单
# ❌ 错误写法:只有任务prompt = "回答问题:这个产品怎么用?"# ✅ 正确写法:角色 + 任务 + 边界 + 格式prompt = """你是一名客服专家。任务:回答用户问题。要求:不超过 100 字,分步骤说明。问题:{question}"""💡 建议:至少包含角色和边界,不要只写任务
⚠️ 坑点 2 / 不处理 API 错误
# ❌ 错误写法:没有 try-exceptresponse = dashscope.Generation.call(...)answer = response.output.text # 出错就崩溃# ✅ 正确写法:错误处理try: response = dashscope.Generation.call(...) return response.output.textexcept Exception as e: return f"抱歉,系统出错了:{str(e)}"💡 建议:生产环境必须处理错误,给用户友好提示
💸 坑点 3 / 不设置 max_tokens
# ❌ 错误写法:不限制长度response = dashscope.Generation.call(prompt=prompt)# AI 可能输出 1000 字,费用失控# ✅ 正确写法:限制长度response = dashscope.Generation.call( prompt=prompt, max_tokens=300 # 控制费用和长度)💡 建议:始终设置 max_tokens,避免费用失控
作业 1:运行客服机器人
1. 复制上面的代码2. 替换你的 API Key3. 运行并测试 5 个问题4. 截图保存结果💡 建议:用搭纸记录你的第一个 AI 应用!
作业 2:优化你的 Prompt
1. 选一个你自己的业务场景2. 用"角色 + 任务 + 边界 + 格式"写 Prompt3. 测试 3 次,优化不满意的地方4. 保存为模板,下次复用💡 提示:搭纸小程序可以帮你分类管理 Prompt 模板
🎯 今日总结
1. Prompt 是代码中的字符串变量2. 好 Prompt = 角色 + 任务 + 边界 + 格式3. 完成了智能客服机器人4. 为后续 RAG、Agent 打基础
一句话记住今天:代码中的 Prompt,决定 AI 应用质量
🎉 恭喜完成第 26 天学习!
👉 关注公众号,获取后续文章每天上午 10 点准时推送公众号内回复"180 天",获取完整学习路线图
💬 评论区留言,赢取好礼每天抽 3 位留言的同学,送出实体书/课程优惠券/周边留言内容:客服机器人运行截图 + 心得
📱 用"搭纸"小程序,坚持更容易习惯打卡 ✅ 待办清单 ✅ 日程安排 ✅ 学习分享微信小程序搜索"搭纸"
明天上午 10 点见!第 27 天:《好 Prompt 长什么样?10 个案例对比分析》
❄️ 小雪 · AI 大模型入门 180 天 · 第 26 天
已更新 26/180 篇,坚持就是胜利!
夜雨聆风