> For the complete documentation index, see [llms.txt](https://yeasy.gitbook.io/harness_engineering_guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yeasy.gitbook.io/harness_engineering_guide/di-san-bu-fen-xi-tong-ji-cheng-yu-gong-cheng-shi-jian/11_reliability/summary.md).

# 本章小结

本章从可观测性、反馈循环、容错模式和幻觉防护四个维度，系统地探讨了如何构建一个可靠的智能体系统。以下是核心知识点的概览。

## 核心知识点

### 11.1 可观测性体系

**三大支柱**：

1. **Metrics（指标）**：计数器、仪表、直方图
   * 工具调用指标：成功率、延迟、Token消耗
   * 系统指标：吞吐量、错误率、资源使用
2. **Logs（日志）**：结构化日志
   * JSON格式便于解析
   * 包含上下文信息(agent\_id、trace\_id)
   * 不同日志级别(DEBUG/INFO/WARNING/ERROR/CRITICAL)
3. **Traces（追踪）**：分布式追踪
   * 追踪ID跟踪单个请求
   * Span记录操作和时间
   * 支持嵌套和因果关系

### 11.2 反馈循环

**人在环(HITL)模式**：

* Agent做重大决定前需要审批
* 构建审批工作流
* 权限验证和升级

**用户反馈采集**：

* 一阶反馈：用户直接评分/评论
* 二阶反馈：通过指标和日志推断
* 学习：从反馈中改进系统

**权限解释器**：

* LLM生成风险说明
* 向用户解释为什么需要审批

### 11.3 容错模式

**四大模式**：

1. **熔断器(Circuit Breaker)**
   * 故障检测：连续失败触发断开
   * 快速失败：断开后直接返回错误
   * 自动恢复：定期尝试重新连接
2. **隔舱(Bulkhead)**
   * 资源隔离：为不同工具分配独立线程池
   * 故障隔离：一个故障不影响其他
3. **超时(Timeout)**
   * 工具超时：单个工具调用超时
   * 任务超时：整个任务超时
   * Agent超时：整个会话超时
4. **重试(Retry)**
   * 指数退避：1秒→2秒→4秒
   * 幂等性：确保重复安全
   * 限制：最多重试N次

**应用示例**：

```python
@circuit_breaker(failure_threshold=5)
@retry(max_attempts=3, backoff="exponential")
@timeout(seconds=30)
async def call_tool(tool_name, args):
    return await registry.call_tool(tool_name, args)
```

### 11.4 幻觉防护

**幻觉检测**：

* 工具验证：调用真实工具验证输出
* 一致性检查：多次询问相同问题
* 置信度评估：LLM输出的自信度
* 外部验证：与真实数据比较

**防护策略**：

1. **检测阶段**：识别可能的幻觉
2. **标记阶段**：标注不确定性
3. **降级阶段**：使用更保守的模型
4. **人工审核**：高风险输出交由人工

**实现示例**：

```python
async def verify_tool_call(tool_name, arguments, result):
    # 1. 用不同的提示词再次查询
    # 2. 如果结果不一致,标记为低置信度
    # 3. 如果是高风险操作,申请人工审批
    pass
```

### 11.5 MiniHarness可靠化

实现了完整的可靠性保障，包括：

* 完整的可观测性(metrics、logs、traces)
* 基本的容错模式（重试、超时）
* 工具调用验证
* 人工审批流程

## 可靠性指标的生产目标

| 指标                 | 目标值     | 检查方法     |
| ------------------ | ------- | -------- |
| Availability       | 99.9%   | 正常运行时间统计 |
| MTBF               | >1000小时 | 故障日志分析   |
| MTTR               | <5分钟    | 从故障到恢复   |
| Error Rate         | <0.1%   | 错误请求比例   |
| Tool Success Rate  | >99.5%  | 工具调用成功次数 |
| P99延迟              | <10秒    | 延迟百分位数   |
| Hallucination Rate | <1%     | 幻觉输出比例   |

## 容错系统的设计检查清单

### 可观测性

* [ ] 收集关键指标（延迟、成功率、成本）
* [ ] 结构化日志（JSON格式）
* [ ] 分布式追踪（trace\_id贯穿）
* [ ] 实时仪表板

### 容错能力

* [ ] 熔断器保护关键服务
* [ ] 隔舱隔离故障
* [ ] 合理的超时设置
* [ ] 指数退避重试

### 反馈机制

* [ ] 高风险操作需要审批
* [ ] 用户反馈机制
* [ ] 自动告警系统
* [ ] 事后分析(post-mortem)

### 幻觉防护

* [ ] 工具验证输出
* [ ] 多次确认重要决定
* [ ] 置信度评估
* [ ] 人工审核的触发条件

## 与其他章节的关联

* ← 第10章的特性门控用于控制容错策略
* ← 第9章的MCP工具可靠性依赖容错设计
* ← 第8章的任务编排需要考虑故障恢复

## 常见问题

### Q1: 如何在快速迭代和系统稳定性间平衡？

**答**：

1. 使用特性门控进行灰度发布
2. 从1%用户开始
3. 有明确的自动回滚条件
4. 监控关键指标变化

### Q2: 幻觉多频繁？如何知道何时需要人工审核？

**答**：

* 在生产中通常<1%
* 对于高风险操作（删除、转账），设置为0%容限
* 对于低风险操作（查询），可以接受<0.5%

### Q3: 重试策略应该如何设计？

**答**：

* 最多3-5次重试
* 指数退避：1、2、4、8秒
* 某些错误（无效参数）不应重试
* 添加随机抖动避免雷鸣群问题

## 扩展方向

### 短期优化

1. 完整的熔断器实现
2. 自适应重试策略（根据故障类型）
3. 智能降级（选择更廉价的模型）
4. 异常检测（无监督异常识别）

### 长期规划

1. AIOps（AI运维）：自动故障诊断和恢复
2. 混沌工程：定期注入故障进行演练
3. 零信任：假设所有组件都可能故障
4. 自愈系统：自动恢复和优化

## 本章总结

第十一章从可观测性、反馈循环、容错模式和幻觉防护四个维度，系统地探讨了如何构建一个可靠的智能体系统。

**关键成果**：

* 完整的可观测性体系使问题可见
* 反馈循环确保人类保持控制
* 容错模式提高系统的容错能力
* 幻觉防护确保输出的正确性

**重要数据**：

* 99.9%可用性（日均停机<1.5分钟）
* 工具调用>99.5%成功率
* 幻觉率<1%

这些可靠性保障使得Harness能够在生产环境中安全运行，即使在部分组件故障的情况下也能继续提供服务。

从第8章的架构设计，到第9章的工具生态，再到第10章的生产优化，最后到第11章的可靠性保障，我们已经构建了一个完整、健壮的AI 智能体系统。
