Buda LogoBuda

Chat Session 会话机制

理解 Buda 中 Chat Channel、Chat Session 的概念与隔离机制

Chat Session 会话机制

核心概念

概念说明
Chat Channel一个接入渠道,例如一个 WhatsApp 账号、一个 Telegram Bot、一个 Discord 频道。Channel 绑定到某个 Agent,负责接收和发送消息。
Chat Session(会话)一次独立的对话上下文。每个用户与 Agent 的对话都是一个独立的 Session,上下文彼此隔离。

会话隔离

一个 Chat Channel 可以承载无数个并发 Session。

以 WhatsApp 客服为例:

WhatsApp Channel(账号 A)
├── Session:用户甲  ← 独立上下文
├── Session:用户乙  ← 独立上下文
├── Session:用户丙  ← 独立上下文
└── ...(可扩展到百万级)
  • 用户甲和用户乙的对话历史完全隔离,互不可见
  • Agent 在回复用户甲时,不会"记得"用户乙说过什么
  • 同一个用户发起新对话时,可以创建新的 Session,与历史 Session 上下文隔离

Session 的生命周期

用户首次发消息 → 自动创建 Session → 对话进行中 → Session 保持活跃

                                              用户长时间不活跃 → Session 进入休眠

                                              用户再次发消息 → 恢复同一 Session(上下文保留)

用户也可以主动开启新 Session,此时旧 Session 的上下文不会延续到新 Session。

与 Discord / Telegram 的对比

不同渠道的 Session 划分逻辑略有不同:

渠道Session 划分规则
WhatsApp 私聊每个用户手机号 = 一个 Session
WhatsApp 群聊每个群 = 一个 Session(群内所有成员共享上下文)
Telegram 私聊每个用户 = 一个 Session
Telegram 群组每个群 = 一个 Session
Discord每个频道(channel)= 一个 Session

在客服场景中的意义

客服场景下,Session 隔离是核心保障:

  • 隐私:用户 A 的订单信息不会出现在用户 B 的对话里
  • 准确性:Agent 只根据当前用户的上下文回答,不会混淆
  • 扩展性:无论同时有多少用户在聊,每个 Session 独立处理,互不影响

On this page