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