mcpField
C
cs-chatbot-design

cs-chatbot-design

github.com/asgard-ai-platform开发24340 次安装21 周前更新
代码仓库

关于 cs-chatbot-design

用于规划聊天机器人的设计技能,覆盖意图识别、槽位提取、对话管理和回复生成。它提供多轮对话模式、设计指标及处理兜底与人工转接的建议。

主要功能

  1. 01规划意图分类与槽位提取
  2. 02设计对话管理流程
  3. 03构建单轮及多轮对话
  4. 04制定回复设计原则
  5. 05跟踪意图与解决指标

适用场景

  1. 01设计预约信息收集对话
  2. 02规划订单管理意图
  3. 03构建人工转接流程
  4. 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。确认吗?”
转接机器人无法处理请求“我来帮您联系人工客服”
回复设计原则
  1. 先确认需求:“明白了,您想查询订单状态。”
  2. 简洁明了:回答问题后就此打住,不要添加不必要的信息。
  3. 提供后续步骤:“还有什么我可以帮您的吗?”或建议相关操作。
  4. 使用快捷回复/按钮:减少输入,引导对话。
  5. 设定个性:定义一致的语气(友好、专业、随意),并始终保持一致。
指标
指标定义目标
意图准确率正确分类的意图占比> 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