> 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-er-bu-fen-harness-he-xin-zi-xi-tong/04_runtime.md).

# 第四章：运行时引擎

## 章引言

运行时引擎是整个 Harness 系统的心脏。如果说架构与原理是智能体系统的“骨架”，那么运行时引擎就是“血液循环系统”——它驱动智能体的每一个思考、决策、行动的周期，协调组件间的协作，管理系统资源的分配，处理边界情况与故障恢复。

在传统的编译原理中，运行时执行程序的代码并管理其生命周期；在 AI 智能体系统中，运行时执行智能体的一轮轮推理与行动循环，并管理整个会话的生命周期。

本章深入 Harness 运行时引擎的设计与实现，涵盖以下核心专题：

1. **智能体循环的工程实现**——从“思考-行动-观察”的概念模型到代码级的流程控制
2. **消息与状态管理**——类型系统设计与不可变状态模式
3. **流式处理与事件驱动**——为什么工具输入应在流式响应中解析、输入完整后立即调度，而非等整条消息后再后处理
4. **错误处理与恢复**——工具故障、API 超时、输出截断的应对策略
5. **漂移检测与纠正**——长时任务如何保持目标对齐
6. **Token预算管理**——有限上下文下的动态调度与压缩
7. **MiniHarness 实现**——用 Python 从零实现一个完整的智能体运行时

## 为什么需要深入理解运行时

运行时引擎决定了系统的以下关键属性：

* **可靠性**——错误恢复策略决定任务成功率
* **吞吐量**——流式处理与并发执行设计决定响应延迟
* **可观测性**——事件发射与日志设计决定问题诊断能力
* **资源利用**——Token预算与内存管理决定成本与规模
* **安全性**——权限检查、工具验证、输出治理都在运行时执行

两个参考系统展现了不同的设计哲学：

**Claude Code 的异步生成器**：基于 QueryEngine.submitMessage() 的异步生成器循环，StreamingToolExecutor 并发工具执行，上下文缓存与动态边界，追求低延迟与高吞吐，适合任务型的交互式场景。

**OpenClaw 的线性流水线**：顺序执行 intake → context assembly → inference → tool execution → streaming → persistence，单线程会话模型，强调确定性与可追踪性，适合长运行的自驱型智能体。

本章将对两种模式进行对比分析，并在 MiniHarness 实现中融合两者的优点。

## 本章结构

* 4.1：智能体循环的工程实现
* 4.2：消息类型系统与状态管理
* 4.3：流式处理与事件驱动架构
* 4.4：错误处理与故障恢复
* 4.5：长时任务的漂移检测与纠正
* 4.6：Token预算与上下文动态管理
* 4.7：实战——MiniHarness 运行时实现
* 4.8：实时控制平面
