90 lines
2.2 KiB
Markdown
90 lines
2.2 KiB
Markdown
# 中台智能体运行时加固(MARH)设计文档
|
||
|
||
## 1. 设计目标
|
||
|
||
围绕 AC-MARH-01~12,构建中台运行时加固层,确保输出可控、打断可消费、检索可依赖、时延可治理、节奏可调优。
|
||
|
||
---
|
||
|
||
## 2. 架构改造点
|
||
|
||
## 2.1 对话主链路增强
|
||
在 `respond` 主流程增加以下阶段:
|
||
1. `interrupt_context_enricher`:消费 `interrupted_segments`
|
||
2. `kb_default_tool_stage`:Agent 默认检索工具尝试
|
||
3. `output_guardrail_stage`:输出前强制过滤
|
||
4. `segment_humanizer`:语义+长度分段与 delay 计算
|
||
5. `runtime_observer`:补齐 trace 与 metrics
|
||
|
||
## 2.2 超时统一治理
|
||
- ReAct 最大循环:3~5
|
||
- 单工具超时:<=2000ms
|
||
- 全链路超时:<=8000ms
|
||
- 超时均落 `fallback_reason_code`
|
||
|
||
---
|
||
|
||
## 3. 关键流程
|
||
|
||
## 3.1 正常响应流程
|
||
1. 收到请求并校验已送达历史
|
||
2. 若存在中断片段则做语义去重标记
|
||
3. policy_router 决策
|
||
4. Agent 模式默认调用 KB 工具(可降级)
|
||
5. 生成候选文本
|
||
6. 输出护栏强制过滤
|
||
7. 分段拟人策略生成 `segments[]`
|
||
8. 输出 trace(guardrail/interrupt/kb_hit/timeouts/segment_stats)
|
||
|
||
## 3.2 打断重入流程
|
||
1. 新请求带 `interrupted_segments`
|
||
2. 重规划时避开被打断语义
|
||
3. 若中断信息异常则兜底继续
|
||
|
||
---
|
||
|
||
## 4. 数据结构与字段补充
|
||
|
||
新增或强化 trace 字段:
|
||
- `guardrail_triggered`
|
||
- `guardrail_rule_id`
|
||
- `interrupt_consumed`
|
||
- `kb_tool_called`
|
||
- `kb_hit`
|
||
- `segment_stats`
|
||
- `timeout_profile`
|
||
|
||
---
|
||
|
||
## 5. 组件职责
|
||
|
||
- `OutputGuardrailExecutor`
|
||
- 强制执行输出过滤
|
||
- 返回 blocked/filtered_text/rule_id
|
||
|
||
- `InterruptContextEnricher`
|
||
- 将中断片段转成重规划上下文
|
||
- 提供异常兜底
|
||
|
||
- `DefaultKbToolRunner`
|
||
- Agent 默认 KB 检索
|
||
- 失败时返回降级信号
|
||
|
||
- `SegmentHumanizer`
|
||
- 文本分段与 delay 生成
|
||
- 支持租户覆盖配置
|
||
|
||
- `RuntimeObserver`
|
||
- 汇总 trace 与 metrics
|
||
|
||
---
|
||
|
||
## 6. 与 AC 映射
|
||
|
||
- AC-MARH-01/02:`OutputGuardrailExecutor`
|
||
- AC-MARH-03/04:`InterruptContextEnricher`
|
||
- AC-MARH-05/06:`DefaultKbToolRunner`
|
||
- AC-MARH-07/08/09:`TimeoutGovernor + Orchestrator`
|
||
- AC-MARH-10/11:`SegmentHumanizer`
|
||
- AC-MARH-12:`RuntimeObserver`
|