Agent Harness 是什么
Harness,英文原意为"马具、缰绳"。在 Agent 系统中,它是约束、驱动、承载大模型运行的中间层框架 。其本质作用是:让大模型从"只会说话"变成"能真正干活" 。
如果把 LLM 比作一匹能力强但没有方向感的马,Harness 就是套在马身上的缰绳和马具------给它方向、边界和行动能力。

为什么需要它
LLM 本质是一个纯文本推理模型 ------只能思考和生成文字,无法直接操作文件系统、调用外部工具、执行多步骤任务。Harness 的存在弥补了这些缺陷:
- 赋予行动力 :提供文件读写、终端执行、代码搜索等工具,让
LLM能直接操作开发环境 - 赋予自主性 :通过
Agent Loop让LLM具备多步推理和自主完成任务的能力 - 赋予边界感 :通过权限管控,确保
LLM的行为安全可控
核心功能模块
Agent Loop 核心引擎
LLM 单次调用只能完成"一问一答",无法自主执行多步骤复杂任务。Agent Loop 是 Harness 最核心的"发动机",驱动 Agent 自动执行完整的工作流:

终止条件:
| 条件 | 说明 |
|---|---|
| ✅ 目标达成 | 任务正常完成 |
| ❌ 发生错误 | 异常终止 |
| ⏱ 达到上限 | 步骤数 / Token 数 / 时间超限,强制终止 |
工具管理
Harness 为 LLM 提供一组结构化的环境操作工具:
| 工具 | 功能 |
|---|---|
Read |
读取文件内容(支持行偏移、PDF、md 等多种格式) |
Write |
写入 / 覆盖文件 |
Edit |
精确字符串替换编辑(需先 Read 确认上下文) |
Glob |
按 glob 模式快速匹配文件路径 |
Grep |
高性能内容搜索,支持正则、多行、类型过滤 |
Bash/Terminal |
执行终端命令 |
上下文管理
- 对话轨迹:记录每一轮对话和工具调用的完整链路
- 长期记忆:持久化的记忆系统,跨会话保留用户偏好和项目知识,无需每次重复描述
- 上下文压缩 :
LLM上下文窗口有限,对超长文本自动压缩摘要,保留关键信息,防止溢出
任务编排
- 进度保存:支持中断恢复,长时间任务不丢失进度
- 子 Agent 拆分 :将复杂任务拆解为多个子
Agent并行执行 - Multi-Agent 协作 :
Agent之间支持消息通信与结果合并
权限管控
- 操作审批:执行高风险操作(修改、删除文件)时,弹窗让用户确认
- 注入防护 :防止
Prompt注入攻击 - 输出过滤 :过滤敏感信息,限制
Agent越权行为
可观测性
- 完整日志:记录每一步的思考内容、工具调用、入参、返回结果、耗时、错误
- 回放与复盘:支持执行过程回放,便于故障定位
- 统计分析 :
Token消耗、成功率、耗时分布等关键指标
扩展系统
- Skills(技能) :预定义的任务模板/说明书,用户输入命令即可触发,无需从头描述
- Hooks(钩子) :在特定事件发生时自动触发脚本(如:执行终端命令前自动做安全检查)
一句话总结
Agent Harness=LLM的"操作系统" 。它通过Agent Loop驱动自主执行、通过工具系统赋予行动能力、通过上下文管理维持记忆、通过权限管控保障安全、通过可观测性实现透明可控------最终将一个"只会聊天"的大模型,变成一个"能真正干活的智能代理"。
用一张图概括:
