Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写

前言

本系列文章从最初的基础原理与入门实践切入,一直延伸到主流策略、引导策略、RAG(检索增强生成)、思维树(ToT)与避免幻觉(Hallucination)的策略这种渐进的结构方便了对初学者和进阶者的双向照顾。初学者可以先理解基本概念,然后慢慢深入;有一定经验的读者则可以快速跳到策略章节,获取更高阶的经验和方法。在熟练掌握以上技能和熟悉概念理论之后,我们需付出实践,结合场景来实际操作检验一遍,达到融会贯通。

那么本章将结合现实常见业务场景来对不同AI Agent进行定义Prompt编写,测试与Prompt调整和对比,将我们上述的一些理论和方法都实现操作一遍。

需求背景

一家名为「SparkGadgets」的B2C电商平台,主营消费电子产品,如耳机、智能手表、蓝牙音箱和家用智能设备。该公司计划在官方网站上部署一款智能客服问答系统,帮助用户快速、准确地获得产品与服务信息。传统的FAQ列表已无法满足用户的多样化需求,公司希望通过接入大型语言模型(LLM)和Prompt工程手段,建立一个智能客服Agent,为用户提供更自然的人机交互体验。

用户常见问题类型

通过将用户的常见问题类型更加细致地划分,不仅方便在编写Prompt时针对不同问题类型设定特定的回答格式和策略(例如使用RAG策略从知识库中检索保修信息、通过API查询订单物流状态,或在对比产品时使用思维树策略理清产品特性),还能够在示例中清晰展示Prompt优化的过程。例如:

  • 对“订单进度询问”类问题的Prompt示例中,可展示如何嵌入RAG策略调用物流API,并在回答中呈现结构化信息。
  • 对“故障排查问题”类可示范ToT策略,让模型在内部先列出潜在原因和解决步骤再给用户清晰回答。
  • 对“未知产品咨询”类则可演示如何通过Prompt设计减少幻觉回答,让Agent坦诚告知无此信息并给出替代性建议(如让用户查看产品目录或联系客服)。
    在这里插入图片描述

细分场景

  1. 产品使用指导类

    • 基础操作问题:如“如何为SonicBeam X耳机充电?”、“智能手表首次使用需要绑定手机吗?”
    • 功能设置问题:如“如何在智能家居音箱上设置闹钟?”、“怎么调整耳机的EQ音效模式?”
    • 故障排查问题:如“耳机配对不上怎么办?”、“我的智能手表无法接收通知,怎么解决?”
  2. 订单与物流查询类

    • 订单进度询问:如“我上周下单的SG123456订单现在到哪儿了?”、“我的包裹预计什么时候到达?”
    • 物流异常问题:如“我订单显示已发货但一直没更新物流信息,是怎么回事?”、“为什么我的订单已经超过预计时间还没到?”
  3. 售后服务与政策类

    • 退换货政策咨询:如“我不满意耳机的音质,可以7天无理由退货吗?”、“如果设备有质量问题我该怎么申请售后?”
    • 保修期问题:如“这款智能手表的保修期限是多长?”、“保修期内维修需要付费吗?”
    • 维修进度查询:如“我的耳机已寄回你们维修中心一个星期了,现在进展如何?”
  4. 支付与发票问题类

    • 支付方式咨询:如“你们支持货到付款吗?”、“能否使用Apple Pay或微信支付?”
    • 发票开具与索取:如“我购买后可以开电子发票吗?”、“发票会跟随包裹一同寄出吗?”
    • 优惠与折扣使用:如“我有一张优惠券,怎么在结账时使用?”、“有没有首购用户的专属优惠?”
  5. 促销与活动信息类

    • 当前优惠活动:如“最近有没有蓝牙音箱的促销活动?”、“双11期间有满减优惠吗?”
    • 会员与积分:如“注册会员有积分计划吗?”、“积分可以兑换哪些产品或服务?”
  6. 产品选择与比较咨询类

    • 型号对比:如“SonicBeam X和SonicBeam Pro有什么区别?”、“我应该选哪款智能手表比较适合运动?”
    • 推荐搭配:如“哪款耳机更适合和你们的智能音箱一起用?”
  7. 账号与个人信息问题类(可能较少,但仍需考虑)

    • 账号管理:如“我忘记账号密码怎么办?”、“如何更改我的收货地址?”
    • 隐私与安全:如“你们如何保护我的个人信息?”、“如何取消营销邮件订阅?”
  8. 未知与超出范围问题

    • 未售产品咨询:如“你们有没有卖叫做UltraSound 360的音箱?”(不存在的产品)
    • 政策空白点:如“能否用比特币付款?”(在现有支付政策中无相关说明)
    • 竞争对手信息:如“与你们类似的XX品牌耳机,哪个更好?”(存在一定敏感性与未知信息点)
You are the SparkGadgets official virtual assistant. Your tone is friendly, professional, and concise. Always follow SparkGadgets policies, and provide step-by-step guidance where appropriate. If uncertain, admit it and guide the user to contact human support.
Context Prompt(上下文补充)
  • 根据用户问题的类型对接相应的资料检索模块(RAG)。例如,当用户询问退换货政策时,系统自动检索知识库中的政策文档,将结果注入Context Prompt。

  • 包含来自知识库的相关文本片段、订单状态API查询结果、常见问题解答片段。

  • Return policy: Customers can return products within 7 days if unsatisfied…

  • Current order status (Order SG123456): Shipped, expected delivery in 3 days.

User Prompt(用户输入)
  • 用户每一轮对话的实际输入。例如:
"我想知道耳机SonicBeam X的配对方法,以及如果不满意能不能退货?"
Chain-of-Thought(ToT)Internal Reasoning Prompt(模型内部思考)
  • 在最终回答用户前,模型根据System Prompt和Context Prompt在内部生成一段思维链(用户不可见),梳理逻辑、选择正确的资料来源、处理信息可信度。
  • 示例(模型内部,用户不可见的思考过程):
The user asks about how to pair SonicBeam X and about return policy. From knowledge base: SonicBeam X pairing steps: ... Return policy: 7-day return if unsatisfied. Check no hallucination needed: all info available. Final answer: Provide pairing steps and confirm return policy conditions.

整体Prompt

# 角色 你是SparkGadgets智能客服助理,简称“Spark客服”,是品牌官方认证的虚拟客服代表,也是公司售前售后客户支持团队的一部分。你的任务是提供专业、快速、礼貌的客户支持。 ## 身份定位 - **角色**:SparkGadgets品牌的智能客服助理。 - **职责**:专注于为用户提供售前咨询、售后支持、物流信息查询等服务。 - **专业领域**- 熟悉公司产品(耳机、智能手表、蓝牙音箱、智能家居设备)及其功能特点。 - 掌握售后政策(如保修、退换货标准)、物流与订单处理流程。 ## 目标 - 快速、准确地回答用户问题。 - 引导用户完成问题解决(如设备设置、退货流程、联系客服)。 - 提升用户体验,减少疑惑,增强用户对品牌的信任。 ## 沟通风格 ### 语气特点 - **友善亲和**:用温暖的语言拉近距离,让用户感觉被重视。 - **专业可信**:清晰、有条理地回答问题,不出现错别字和冗长解释。 - **耐心包容**:面对重复或复杂问题不表现不耐烦。 ### 语言风格 - **简洁直观**:必要时用项目符号列出步骤。 - **人性化表达**:使用诸如“抱歉给您带来不便”或“让我看看怎么帮您”的表达方式,避免生硬的机器式回答。 - **适时突出产品优势**:避免强推销售,但在适当时候突出产品的优势。 ## 品牌一致性与行为准则 ### 品牌调性 - **核心价值观**:创新、可靠、用户至上,在回答中体现这些价值观。 ### 合规性 - **遵循售后政策和法规**:不提供虚假或误导信息。 - **对于不明确的问题**:建议用户联系客服或查看官网。 ## 技能 ### 技能1:售前咨询 - **任务**:解答用户关于产品功能、规格、适用场景等问题。 - 详细解释产品的特性和优势。 - 根据用户需求推荐合适的产品。 ### 技能2:售后支持 - **任务**:处理用户的售后问题,包括保修、退换货、故障排查等。 - 解释售后政策和流程。 - 提供故障排查步骤和解决方案。 - 引导用户完成退换货流程。 ### 技能3:物流信息查询 - **任务**:提供订单状态、发货时间、配送进度等物流信息。 - 查询并告知用户最新的物流状态。 - 解释可能的延迟原因,并提供解决方案。 ### 技能4:设备设置指导 - **任务**:指导用户完成设备的初始设置和日常使用。 - 提供详细的设置步骤。 - 解答用户在设置过程中遇到的问题。 ## 限制 - **只讨论与SparkGadgets产品和服务相关的话题**- **始终以用户的需求和体验为优先**- **提供的信息必须基于公司的政策和规定**- **对于不确定的问题,建议用户联系客服或查看官网**

那么本章内容就到此结束,下一次Prompt将结合Sora一同展现,将更加具体。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac系统vsCode中使用Better Comments在.vue文件里失效

问题:关于Better Comments默认在html、TS、JS中有效,在vue中无效,需要单独进行配置 windows系统可以参考友链Better Comments(注释高亮)在vue文件里失效的问题 关于Better Comments电脑的配置路径: Windows系统&…

探索 JavaBean(实体类)的奇妙世界

目录 一、啥是 JavaBean(实体类) (一)定义与特点 (二)为啥要用 JavaBean 二、动手写一个 JavaBean(实体类) (一)创建一个简单的用户 JavaBean &#xf…

mac中idea中英文版本切换

1.快捷键command,或者 2.找到插件(plugins),搜索chinese,安装 第一次安装好点击应用会提示重启,直接重启就好了,如果已经安装过,只需要切换中英文 3.中英文切换 外观与行为&#xf…

单片机库函数-io输出操作

1、需要使用模块 使用库函数做跑马灯,要用到: misc.h misc.c 时钟模块: stm32f10x_rcc.h stm32f10x_rcc.c gpio模块: 头文件:stm32f10x_gpio.h 源文件:stm32f10x_gpio.c 2、库函数 2.1、初始化GPIO void GPIO_Init(GPIO_TypeDef* …

贝叶斯神经网络(Bayesian Neural Network)

最近在研究贝叶斯神经网络,一些概念一直搞不清楚,这里整理一下相关内容,方便以后查阅。 贝叶斯神经网络(Bayesian Neural Network) 贝叶斯神经网络(Bayesian Neural Network)1. BNN 的核心思想2. BNN 的优化目标3. BNN 的结构与特点4. BNN 的训练过程5. BNN 的优缺点6. …

预计5.2.1版本的SharedingSphere Hint指定数据库未生效问题

配置文件展示 shardingsphere:props:sql-show: falsedatasource:names:datacenter1,datacenter2,datacenter3rules:sharding:tables:shape:actual-data-nodes: datacenter$->{1..3}.shape$->{0..7}key-generate-strategy:column: idkey-generator-name: snowflaketable-s…

【Spring】基于注解的Spring容器配置——@Scope注解

在使用Spring框架时,理解Bean的作用域(Scope)是非常重要的。Bean的作用域决定了Spring容器如何创建和管理Bean的生命周期。正确地使用作用域可以提高应用的性能和资源利用率,同时也能确保应用的正确性。 在大型企业级应用中&…

关于Promise的小测验

关于Promise的小测验 题目 // 编码挑战 #1 /* 在这个挑战中,你将构建一个函数 ‘whereAmI’,该函数仅基于 GPS 坐标显示国家信息。为此,你将使用第二个 API 来对坐标进行地理编码。 以下是你的任务: 第一部分 创建一个函数 ‘whe…

“邂逅”良渚遗址 “巧造”苏绣非遗 《牧神记》焕新有“玄机”

由bilibili与玄机科技联合出品的动画番剧《牧神记》自10月27日上线以来,累计收获了1.2亿播放量、超150万用户追番,B站评分9.7分,多次入选豆瓣口碑华语剧集周榜的动画冠军。放眼今年的国产新番,成绩相当可观。巧妙融合诸多传统元素…

AI文献阅读ChatDOC 、ChatPDF 哪个好?

作为AI产品的深度使用者,基本每天都在使用AI。AI诞生后仿佛给所有的产品打开了新世界大门。当然AI在文献阅读方面自然也不会缺席。 先来简单对比一下ChatDOC vs ChatPDF 从表格里可以看到ChatDOC与ChatPDF都是基于GPT的产品,但在功能上ChatDOC还是比Chat…

Flutter DragTarget拖拽控件详解

文章目录 1. DragTarget 控件的构造函数主要参数: 2. DragTarget 的工作原理3. 常见用法示例 1:实现一个简单的拖拽目标解释:示例 2:与 Draggable 结合使用解释: 4. DragTarget 的回调详解5. 总结 DragTarget 是 Flutt…

【Rhino】【Python】将beam线的端点沿着自身方向移动到column轮廓线上

#codingutf-8 import rhinoscriptsyntax as rs import Rhino.Geometry as rgdef extend_lines_to_columns():print("开始运行脚本...")# 定义要处理的图层名称beam_layer "Make2D::Visible::Curves::02 STR. SOLID MAMBER::1*.1.BEAM MAIN (UNIONED)"colu…

Huggingface数据集采样之后得到的arrow文件无法用Dataset.load_from_disk加载解决方法

问题起源 我现在有数据集 我想要采样1/10构成一个新的数据集。起初我只是简单的使用save_to_disk保存,如下代码: from datasets import Dataset import os# 原数据集路径 source_dataset_path "~/.cache/huggingface/datasets/allenai___tulu-3-…

js版本之ES6特性简述【Proxy、Reflect、Iterator、Generator】(五)

目录 Proxy Reflect 静态方法 部分实例 Iterator 实际开发迭代器的使用实例 迭代器(Iterator)应用 Generator Proxy Proxy 是 ES6 中新增的对象 Proxy 是JavaScript中的内置对象,它提供了一种机制,可以拦截并自定义各种…

React 组件通信完整指南 以及 自定义事件发布订阅系统

React 组件通信完整指南 1. 父子组件通信 1.1 父组件向子组件传递数据 // 父组件 function ParentComponent() {const [data, setData] useState(Hello from parent);return <ChildComponent message{data} />; }// 子组件 function ChildComponent({ message }) {re…

mac中idea菜单工具栏没有git图标了

1.右击菜单工具栏 2.选中VCS&#xff0c;点击添加 3.搜索你要的工具&#xff0c;选中点击确定就添加了 4.回到上面一个界面&#xff0c;选中你要放到工具栏的工具&#xff0c;点击应用就好了 5.修改图标&#xff0c;快捷键或者右击选中编辑图标 6.选择你要的图标就好了

Linux实验报告7-文件管理

目录 一&#xff1a;实验目的 二&#xff1a;实验内容 (1)查看/etc/inittab文件的权限属性&#xff0c;并指出该文件的所有者以及文件所属组群。 (2)新建文件test&#xff0c;设置文件权限为r--r-----。 (3)新建文件test2&#xff0c;设系统中有用户study和用户组studygr…

CPT203 Software Engineering 软件工程 Pt.4 软件设计(中英双语)

文章目录 6. 设计概念6.1 Principle6.2 Concepts6.2.1 General design concepts&#xff08;常见的设计概念&#xff09;6.2.1.1 Abstraction&#xff08;抽象&#xff09;6.2.1.2 Modularity&#xff08;模块化&#xff09;6.2.1.3 Functional independence&#xff08;功能独…

JSON 系列之4:JSON_VALUE

JSON_VALUE的作用&#xff0c;简单来说&#xff0c;就是从JSON到SQL&#xff1a; SQL/JSON function JSON_VALUE selects JSON data and returns a SQL scalar or an instance of a user-defined SQL object type or SQL collection type (varray, nested table) 所以&#xff…

[wzoi]Help Bubu

题目描述: Bubu的书架上乱成一团了&#xff01;请帮助他一下吧&#xff01; 他的书架上一共有n本书。我们定义混乱值是连续相同高度书本的段数。例如&#xff0c;如果输的高度是30,30,31,31,32&#xff0c;那么混乱值为3,30,32,32,31的混乱度也是3&#xff0c;但31,32,31,32,…