2. 用户旅程触发边界
2.1 触发边界的概念与分类
用户旅程的触发边界定义了Agent何时启动一次交互循环。在架构层面,触发边界是信任链路的起点,也是控制流的首个决策点。错误的触发分类会导致资源浪费、安全漏洞或用户体验割裂。
按触发源与责任主体,触发边界分为四类:
| 触发类型 | 责任主体 | 典型场景 | 信任等级 |
|---|---|---|---|
| 主动触发 | 用户显式发起 | 语音唤醒“你好小布”、App内点击“开始对话” | 高(用户已认证) |
| 被动触发 | Agent自主决策 | 检测到用户犹豫超时、任务执行中断后主动询问 | 中(需校验上下文) |
| 定时触发 | 时钟事件 | 每日早8点推送日程、定期健康巡检 | 低(需权限预授权) |
| 事件触发 | 系统或运行时信号 | 传感器告警、支付成功回调、库存低于阈值 | 可变(取决于事件源可信度) |
边界设计核心原则:每类触发必须携带触发源标识+触发时间戳+上下文快照,三层缺一不可。缺少触发源标识的请求应直接落入安全沙箱处理。
2.2 触发边界的分层架构
触发边界不应平铺处理,而应按网络接入→协议解析→会话路由→意图判定进行分层。每一层只承担单一职责,避免触发条件与业务逻辑耦合。
架构提示:定时触发和事件触发建议统一走事件网关(Event Gateway),与用户触发的请求在“协议适配层”之后才合并路由,防止外部事件污染用户会话上下文。
下面给出四类触发从输入到路由的分层处理流程:
2.3 组件职责与边界规则
| 组件 | 职责 | 边界防守规则 |
|---|---|---|
| 协议适配器 | 将各类触发协议转为内部一致的事件信封 | 拒绝无法解析为“触发源+时间戳+载荷”的请求 |
| 身份提取器 | 从触发请求中提取用户/设备/服务标识 | 未提取到合法标识时,标记为anonymous |
| 限流过滤器 | 按触发类型+标识执行独立限流 | 主动触发限流阈值应高于事件触发10倍 |
| 事件分类器 | 为每条触发打上触发类别标签 | 分类信息写入上下文信封元数据 |
| 信任校验器 | 校验触发源的凭证与上下文完整性 | 定时/事件触发必须验证HMAC签名 |
2.4 数据流、控制流与信任链路
触发边界是数据流的入口,控制流的起点,信任链路的第一个验证环节。三类流在此交汇:
- 数据流:触发载荷 → 协议解析 → 上下文信封 → 路由判定 → 执行器。
- 控制流:触发到达 → 接入层校验 → 路由层决策 → 调度层排队 → 回调通知。
- 信任链路:触发源凭证 → 身份提取 → 签名校验 → 会话绑定 → 权限映射。
风险警告:若将定时触发和事件触发的信任链路与主动触发合并在同一通道,攻击者可能通过伪造事件源绕过身份校验。必须按触发类型隔离信任凭证校验策略。
2.5 选型权衡
| 决策点 | 方案A:统一网关 | 方案B:分离网关 |
|---|---|---|
| 维护成本 | 低,一组路由规则 | 高,需维护两套网关 |
| 安全隔离 | 弱,事件可能污染用户会话 | 强,完全隔离事件上下文 |
| 延迟 | 低,路径短 | 略高,多一跳转发 |
| 推荐场景 | 内网低频事件 | 公网高频事件/合规敏感业务 |
2.6 风险点与应对
- 触发风暴:事件触发大量涌入导致Agent雪崩。→ 接入层实施每事件类型独立令牌桶。
- 上下文污染:定时触发携带了过期上下文。→ 路由层强制校验上下文时间戳新鲜度(±5秒)。
- 触发源伪造:攻击者伪装成定时事件。→ 信任链路强制HMAC签名+nonce防重放。
- 被动触发循环:Agent的被动触发再次触发自身。→ 在上下文中加入“触发深度”字段,超过3层直接拒绝。
2.7 落地步骤(SOP清单)
- 定义每类触发的上下文信封Schema,包括必填字段与类型。
- 在接入层实现协议解析器,能识别4种触发类型并打上标签。
- 部署独立限流器,按触发类型配置阈值。
- 在路由层实现信任校验中间件,定时/事件触发走HMAC验证路径。
- 将触发分类信息写入控制流日志,用于后续审计与异常检测。
- 进行触发边界压力测试,模拟混合触发场景。
2.8 验收标准
| 验收条目 | 通过条件 | 验证手段 |
|---|---|---|
| 触发分类准确率 | ≥99.9% | 对1万条混合触发离线标注比对 |
| 信任校验拦截率 | 伪造事件100%被拦截 | 注入100条伪造定时/事件触发 |
| 触发隔离有效性 | 事件触发不会出现在用户会话中 | 检查路由日志中session_id归属 |
| 限流不误杀 | 正常主动触发不触发限流 | 5倍正常速率施压5分钟 |
| 上下文新鲜度校验 | 过期上下文触发被正确降级 | 推送10条超过5秒的定时触发 |
验收提示:建议在预发环境使用“触发边界质量门禁”自动化脚本,每次代码变更后自动执行验收清单,失败则阻断合并。