ai-robot-core/spec/mid-agent-runtime-hardening/design.md

90 lines
2.2 KiB
Markdown
Raw Permalink 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.

# 中台智能体运行时加固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. 输出 traceguardrail/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`