a13nDocs

Harness

可嵌入应用的 Python SDK,用于构建 Agent、接入工具与环境,并从保存的状态继续执行。

Harness(a13n-harness)在你的进程内运行 Agent,也支持流式输出。当前凭据由应用提供,哪些内容需要持久化也由应用决定。Harness UI 是交互式的本地 Host;Service 则负责管理和运行托管 Agent。

从一个简单的 Agent 开始

离线快速入门会构建并运行一个 Agent,无需凭据或外部服务:

构建一次,即可在之后的每次执行中传入当前输入。保存返回的状态,就能在线程中继续工作。

按功能了解 Harness

任务指南
构建、运行、流式输出与结果处理Agent 与执行
选择模型并配置认证模型和模型认证
添加函数工具与应用依赖工具与依赖
提出结构化问题并提供人工反馈人机协作工具
接收媒体输入并返回指定类型的输出输入与输出
选择可选能力Capabilities
管理模型上下文和工作状态上下文
添加超出单个线程生命周期的文件记忆或记录记忆记忆
操作文件、shell 和多个环境环境
保存、恢复与分叉线程状态与恢复
接入 MCP 工具MCP
理解图像、音频和视频多媒体理解
运行子 Agent 或用受限 Python 编排任务委派与 CodeAct
发现并读取操作指引Skill
设置预算并检查用量用量与限制
跟踪执行并流式接收观测事件观测
添加中间件和环境集成插件
在应用中嵌入 Harness 并持久化状态托管与嵌入
无需 provider 凭据进行测试测试

Harness 负责什么

AgentSpec 和 HarnessBuilder 用于定义并构建 ExecutableAgent。每次执行都会创建 AgentContext,并返回事件、结果、用量和 HarnessState。Harness 负责进程内的执行;嵌入它的 Host 负责用户管理、持久化和恢复策略。

SDK 接受 Pydantic AI 原生的模型、消息、工具和输出类型。Harness UI 的 YAML 是 Host 配置,并不是 AgentSpec 的 schema。

配置应该放在哪里

  • 定义(AgentSpec 和 builder 参数):指令、输出类型和稳定的 Capabilities。
  • 调用(RunBindings、Environment 和输入):当前身份、客户端、工具和访问策略。
  • 继续执行的状态(HarnessState):消息和可移植的 Capability 状态,不包含凭据或运行中的资源。

可运行的应用示例

版本与适用范围

这些指南对应 main 分支的源码 API。Harness 和 Stream Protocol 以完全相同的版本号发布;Harness UI 独立发布。架构约定请参阅已接受的规范。

本页目录