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

148 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 意图驱动智能体中台改造(仅中台侧)设计文档
## 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`