跳转到内容
搜索文档

Harness(控制循环)

最后更新 查看 MarkdownAgent 设置

Harness 是让 Agent 表现得像 Agent 而非单次模型调用的循环。

它负责模型周围的逐轮工作:构建 prompt、加载内存、选择工具、处理工具结果、流式返回响应、持久化消息,以及决定 Agent 是否继续或停止。

你可以在 Agents SDK 运行时 上自行构建此循环,或使用开箱即用的 harness,例如 Project Think

Harness 的定位

Harness 位于 Agents SDK 运行时之上:

运行时回答「此 Agent 驻留何处以及如何保持持久化?」Harness 回答「此 Agent 在每一轮做什么?」

选择方案

当你需要对模型调用、消息格式、工具循环或 UI 协议进行完全控制时,请自行构建 harness。当你希望直接使用 Agents SDK 的低级 API 进行组合时,这是合适的选择。

当你需要开箱即用的聊天 Agent harness,并具备内存、工作区工具、流式传输、生命周期钩子、子 Agent RPC 和持久化聊天恢复的默认配置时,请使用 Project Think。

当前 harness

Project Think

开箱即用的聊天 Agent harness,内置工具、持久化内存、生命周期钩子、流式传输和子 Agent RPC。

Harness 通常负责的内容

Harness 通常负责:

  • 提示词构建 — 系统提示词、内存、检索上下文以及每轮指令。
  • 模型执行 — 对 Workers AI、OpenAI、Anthropic、Gemini 或其他提供商的调用。
  • 工具编排 — 服务端工具、客户端工具、MCP 工具、审批流程,以及工具结果后的继续执行。
  • 消息持久化 — 用户、助手和工具消息的保存与重放方式。
  • 流式传输与恢复 — 响应如何流式传输到客户端,以及如何在断开连接或 Durable Object 驱逐后恢复。
  • 扩展点 — 轮次、步骤、工具调用和恢复事件前后的 hook。

相关资源

Session

跨轮次存储对话上下文和内存。

这篇文档对您有帮助吗?