关于 cs-chatbot-design
用于规划聊天机器人的设计技能,覆盖意图识别、槽位提取、对话管理和回复生成。它提供多轮对话模式、设计指标及处理兜底与人工转接的建议。
主要功能
- 01规划意图分类与槽位提取
- 02设计对话管理流程
- 03构建单轮及多轮对话
- 04制定回复设计原则
- 05跟踪意图与解决指标
适用场景
- 01设计预约信息收集对话
- 02规划订单管理意图
- 03构建人工转接流程
- 04评估机器人对话表现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill cs-chatbot-design安装后在 Claude Code 中输入/cs-chatbot-design确认已加载。
附带文件examples/sample_scenario.mdreferences/nlu-training.md
详细介绍
聊天机器人设计
框架
IRON LAW: Intent First, Response Second
A chatbot must UNDERSTAND what the user wants (intent) before crafting
a response. Building response templates without intent classification
produces a keyword-matching FAQ, not a chatbot.
Flow: User message → Intent classification → Slot extraction → Response
核心 NLU 流程
| 阶段 | 功能 | 示例 |
|---|---|---|
| 意图分类 | 识别用户想做什么 | “你们几点关门?” → 意图:check_hours |
| 实体/槽位提取 | 从消息中提取关键信息 | “周五订一张 4 人桌” → 槽位:{party_size: 4, date: Friday} |
| 对话管理 | 决定下一步操作(询问缺失信息、确认、执行) | 缺少槽位 time → 询问“您想订几点?” |
| 回复生成 | 生成回复 | “我已经为您订好了周五晚上 7 点的 4 人桌。到时见!” |
意图设计
- 从 10-15 个核心意图开始,覆盖 80% 的用户查询
- 每个意图需要 10-20 条训练示例(使用不同的措辞)
- 添加一个
fallback意图,用于处理无法识别的输入 - 将相关意图分组:将
order_status、order_cancel、order_modify归入“订单管理”
对话流程模式
| 模式 | 适用场景 | 示例 |
|---|---|---|
| 单轮 | 简单问答,无需上下文 | “你们的营业时间是?” → 立即回复 |
| 多轮(槽位填充) | 需要收集多项信息 | “订一张桌” → 询问人数 → 询问日期 → 询问时间 → 确认 |
| 分支 | 根据用户的回答选择不同路径 | “您有账户吗?” → 有:登录流程 / 没有:注册流程 |
| 确认 | 执行操作之前 | “我将取消订单 #12345。确认吗?” |
| 转接 | 机器人无法处理请求 | “我来帮您联系人工客服” |
回复设计原则
- 先确认需求:“明白了,您想查询订单状态。”
- 简洁明了:回答问题后就此打住,不要添加不必要的信息。
- 提供后续步骤:“还有什么我可以帮您的吗?”或建议相关操作。
- 使用快捷回复/按钮:减少输入,引导对话。
- 设定个性:定义一致的语气(友好、专业、随意),并始终保持一致。
指标
| 指标 | 定义 | 目标 |
|---|---|---|
| 意图准确率 | 正确分类的意图占比 | > 85% |
| 自助解决率 | 无需转接人工即可解决的占比 | > 60-70% |
| CSAT | 客户满意度评分 | > 4.0/5 |
| 回退率 | 触发回退/未知意图的占比 | < 15% |
| 解决时间 | 平均解决时长 | < 2 分钟 |
输出格式
# Chatbot Design: {Use Case}
## Intent Catalog
| Intent | Description | Example Utterances | Priority |
|--------|-----------|-------------------|---------|
| {intent} | {what it means} | "{example 1}", "{example 2}" | H/M/L |
## Dialogue Flows
### {Flow Name}
1. User: {trigger utterance}
2. Bot: {response + slot question if needed}
3. User: {provides info}
4. Bot: {confirmation or action}
## Fallback Strategy
- After 1 miss: rephrase + suggest options
- After 2 misses: offer human handoff
## Metrics Targets
| Metric | Target |
|--------|--------|
| Intent accuracy | > {X%} |
| Containment | > {X%} |
注意事项
- 用户不会按你的流程来:人们会以意想不到的方式输入、在对话中途改变话题,也会提供不完整的信息。设计时要考虑各种混乱情况,而不只是理想流程。
- 回退意图是最重要的意图:好的回退回复(“我不太确定是否理解了。您指的是 X、Y 还是 Z?”)胜过错误的猜测。
- 基于 LLM 的机器人仍需要防护措施:用 GPT/Claude 生成回复?添加意图分类作为第一层,用于路由和限制,防止产生幻觉和偏离话题的回复。
- 用真实用户测试,而非团队成员:你的团队了解机器人的工作方式,也知道如何“正确”表达。真实用户并非如此。上线前至少与 10 位真实用户进行测试。
- 对话日志非常宝贵:每周查看对话日志。失败的对话能揭示缺失的意图、令人困惑的流程和训练数据缺口。
参考资料
- 有关 NLU 训练数据最佳实践,请参阅
references/nlu-training.md - 有关 LINE/Messenger 平台集成,请参阅 ecom-conversational skill
评论
支持 Markdown