在本课中,我们将致力于构建客户支持聊天机器人提示。
我们的目标是为一家名为 Acme Software Solutions 的虚构公司构建一个名为“Acme Assistant”的虚拟支持机器人。这家虚构的公司销售一款名为 AcmeOS 的软件,聊天机器人的工作是帮助回答客户有关安装、错误代码、故障排除等方面的问题。
为了简单起见,我们将通过单轮交流测试我们的提示,尽管该提示也应该适用于多轮聊天机器人对话。
在现实世界中,我们可能会将 RAG 作为此过程的一部分:我们将拥有一个非常大的数据库,其中包含有关 AcmeOS 的相关客户支持信息,我们可以在回答问题时有选择地从中提取这些信息。
为了使事情变得简单并更专注于提示,我们将使用一组预定义的 AcmeOS 上下文,我们将在每个请求中将其传递给提示。
这是我们的提示将使用的 AcmeOS 上的上下文:
context = """
<topic name="系统要求">
AcmeOS 至少需要 4GB RAM、64GB 存储空间和双核处理器。为获得最佳性能,我们建议使用 8GB RAM、256GB SSD 和四核处理器。AcmeOS 与 2015 年后生产的大多数 x86 和 x64 硬件兼容。
</topic>
<topic name="安装">
要安装 AcmeOS:
1. 从 acme.com/download 下载安装程序
2. 使用 AcmeOS Boot Creator 工具创建可启动的 USB 驱动器
3. 从 USB 驱动器启动计算机
4. 按照屏幕上的说明进行安装
5. 首次连接互联网时自动激活
如果安装失败,请检查硬件兼容性并确保至少有 10GB 的可用空间。
</topic>
<topic name="软件更新">
AcmeOS 默认自动更新。要手动检查更新:
1. 打开 Acme Control面板
2. 单击“系统和更新”
3. 单击“检查更新”
更新通常需要 10-15 分钟才能安装。更新期间请勿关闭计算机。
</topic>
<topic name="常见错误代码">
- 错误 1001:网络连接问题。请检查您的互联网连接和路由器设置。
- 错误 2002:磁盘空间不足。请释放至少 5GB 空间,然后重试。
- 错误 3003:驱动程序冲突。请更新或重新安装您的设备驱动程序。
- 错误 4004:系统文件已损坏。运行 Acme 系统文件检查器工具。
</topic>
<topic name="性能优化">
要提高 AcmeOS 性能:
1. 删除不必要的启动程序
2. 定期运行 Acme 磁盘清理工具
3. 保持系统更新
4. 使用内置的 Acme 优化器工具
5. 如果您经常使用内存密集型应用程序,请考虑升级 RAM
</topic>
<topic name="数据备份">
AcmeOS 包含 AcmeCloud,提供 5GB 免费云存储。要设置自动备份:
1. 打开 Acme 控制面板
2. 单击“备份和恢复”
3. 选择“启用 AcmeCloud 备份”
4. 选择要备份的文件夹
默认情况下,备份每天进行一次,但可以在设置中自定义。
</topic>
<topic name="安全功能">
AcmeOS 包括:
- AcmeGuard 防火墙:默认始终开启
- AcmeSafe 防病毒软件:每日扫描,实时保护
- 安全启动:防止未经授权的引导加载程序
- 加密:提供全盘加密
要访问安全设置,请转到 Acme 控制面板 > 安全中心。
</topic>
<topic name="辅助功能">
AcmeOS 提供各种辅助功能:
- 屏幕阅读器:按 Ctrl+Alt+Z 激活
- 高对比度模式:在显示设置中激活
- 屏幕键盘:在辅助功能设置中找到
- 语音控制:在 Acme 控制面板 > 辅助功能 > 语音中启用
可以为不同的用户创建和保存自定义辅助功能配置文件。
</topic>
<topic name="Troubleshooting">
对于一般问题:
1. 重启计算机
2. 运行 Acme 诊断工具(位于 Acme 控制面板中)
3. 检查系统更新
4. 验证所有驱动程序是否为最新版本
5. 使用 AcmeSafe Antivirus 运行完整系统扫描
如果问题仍然存在,请访问 support.acme.com 获取更详细的指南或联系我们的支持团队。
</topic>
<topic name="许可证和激活">
AcmeOS 许可证与您的 Acme 帐户绑定。要检查您的许可证状态:
1. 打开 Acme 控制面板
2. 单击“系统和更新”
3. 选择“激活”
如果您的系统显示为未激活,请确保您已登录 Acme 帐户并连接到互联网。要将许可证转移到新设备,请先通过同一菜单在旧设备上停用。
</topic>
"""
我们的目标是创建一个提示,帮助用户回答诸如“如何激活我的许可证?”或“如何让 AcmeOS 运行得更快,它现在有点慢。”之类的问题。
制作初始提示 #
我们将从编写提示的初稿开始。接下来,我们将对其进行测试并进行迭代以改进任何缺点。
对于客户支持提示,通常从系统提示开始是有意义的,因为我们需要 Claude 扮演非常具体的角色。这是一个潜在的系统提示,它为 Claude 提供了特定的角色:
最终总结 #
在整个课程中,我们不断改进客户支持聊天机器人提示。以下是一些关键总结:
- 结构化输出:我们实施了 XML 标签系统 () 来构建模型的输出。
- 严格的响应指南:我们为助手不应提供答案的情况创建了一个特定的“反对短语”,并明确了其使用条件。这有助于保持对离题或不适当查询的一致响应。
- 上下文引用消除:我们明确指示助手不要在最终答案中提及其上下文或信息来源,将信息视为常识。这创造了一种更自然、更像人类的互动。
- 两步思考过程:通过将思考阶段与最终答案分开,我们允许助手在尝试回答之前推断它是否有足够的信息。这使我们能够为模型提供“思考空间”,同时控制用户看到的内容,并防止不必要的解释或对机器人知识库的引用。
- 重点范围:我们强化了助手作为 AcmeOS 支持机器人的角色,确保它只回答相关问题,而不会尝试处理不相关的查询。
这些改进使客户支持助手更加可控、一致且专注,并且保持在有关 AcmeOS 的定义知识范围内。
注意:虽然此提示演示了创建客户支持聊天提示的有效技术,但必须强调的是,这不是可用于生产的聊天提示。它尚未在真实用户输入上进行测试,也未经过严格的质量保证流程或评估。在实际场景中,在部署此类系统之前,需要对各种用户输入、极端情况和潜在的误用场景进行广泛的测试。