ai-robot-core/spec/intent-driven-mid-platform/design.md

148 lines
3.6 KiB
Markdown
Raw Normal View History

# 意图驱动智能体中台改造(仅中台侧)设计文档
## 1. 设计目标
围绕 `requirements.md` 中 AC-IDMP-01~10给出可实施的中台设计
- 对外协议统一
- 决策模式可治理
- 高风险场景可强接管
- 工具链路可观测、可降级
---
## 2. 总体架构
1. 请求入口层
- `DialogueController`:接收渠道请求、基础校验、注入 request_id
2. 策略路由层
- `PolicyRouter`:根据意图、风险、置信度、会话模式确定执行路径
3. 执行层
- `AgentOrchestrator`ReAct 循环与工具编排
- `MicroFlowExecutor`:高风险 SOP 微流程执行
- `FixedResponder`:固定回复
- `TransferResponder`:转人工兜底
4. 依赖适配层
- `MetadataAdapter`:意图驱动检索链路
- `MemoryAdapter`recall/update
5. 护栏与输出层
- `OutputGuardrail`:合规与承诺边界校验
- `SegmentFormatter`:统一封装 `segments[] + trace`
6. 可观测与审计
- `TraceLogger`:记录 mode、tool_calls、fallback_reason_code、generation_id
---
## 3. 关键流程
## 3.1 会话响应主流程
1. 入参校验:`session_id/user_message/history`
2. 读取会话模式BOT_ACTIVE/HUMAN_ACTIVE
3. 召回记忆(可失败降级)
4. `PolicyRouter` 决策模式
5. 执行模式链路
6. 输出护栏校验
7. 格式化并返回 `segments[] + trace`
8. 异步记录审计日志
## 3.2 打断重入流程
1. 同一 session 收到新请求,生成新 `generation_id`
2. 执行层只处理最新 generation
3. 旧 generation 结果写审计但不对外生效
## 3.3 人工模式流程
1. 模式接口将 session 置为 `HUMAN_ACTIVE`
2. 会话响应接口直接走 `transfer` 结果或返回人工处理提示
3. 仍接受消息上报,保持数据闭环
---
## 4. 数据结构设计
## 4.1 入参模型(核心)
- `session_id: string`
- `user_message: string`
- `history: Message[]`(仅已送达)
- `interrupted_segments?: Segment[]`
## 4.2 出参模型(核心)
- `segments: Segment[]`
- `segment_id`
- `text`
- `delay_after`
- `trace`
- `mode`
- `intent`
- `tools_used`
- `fallback_reason_code`
- `guardrail_triggered`
- `request_id`
- `generation_id`
---
## 5. 决策规则设计
## 5.1 PolicyRouter 决策矩阵
- 高风险命中(退款/投诉/隐私承诺/转人工)=> `micro_flow``transfer`
- 低风险且意图清晰 => `agent`
- 工具不可用或置信度低 => `fixed`
- 人工模式开启 => `transfer`
## 5.2 降级策略
- 工具超时(单工具 2s=> 降级 `fixed`
- 连续关键工具失败 => 降级 `transfer`
- 护栏拦截 => 强制 `micro_flow``transfer`
---
## 6. 检索与记忆策略
## 6.1 Metadata 检索固定链路
`intent -> target_kbs -> metadata_filter -> vector_search -> rerank`
元数据最小过滤建议:
- `grade`
- `subject`
- `scene`
- `flow_step`
- `intent_type`
- `status=active`
## 6.2 Memory 接入
- 对话前 `recall(user_id, session_id)`
- 对话后异步 `update(messages)`
- recall 失败不阻断主链路
---
## 7. 可观测与治理
必须采集:
- 会话维度:`session_id/request_id/generation_id`
- 决策维度:`mode/intent/fallback_reason_code`
- 工具维度:`tool_name/duration/result/error_code`
- 护栏维度:`guardrail_triggered/policy_code`
建议告警:
- P95 时延超阈值
- tool timeout rate 超阈值
- fallback rate 激增
- transfer rate 异常上升
---
## 8. 与 AC 的映射
- AC-IDMP-01/02`SegmentFormatter + TraceLogger`
- AC-IDMP-03/04`HistoryValidator + GenerationGuard`
- AC-IDMP-05/06`PolicyRouter + FallbackManager`
- AC-IDMP-07`TraceLogger`
- AC-IDMP-08`MessageReportController`
- AC-IDMP-09`SessionModeController`
- AC-IDMP-10`MetadataAdapter`