AI in Harness(四)
来源:互联网
时间:2026-07-11 07:23:18
Harness 的本质是什么?
说白了,Harness 就是一套工程化的方法:让大语言模型(LLM)在一轮又一轮的交互中,自主挑选合适的工具,并在严格受控的框架下完成工作。它解决的不是“能不能调用工具”,而是“如何安全、高效、可扩展地调用工具”。

如何理解 Harness 各个模块?
我们可以把 Harness 想象成一个完整的智能工作台——每个模块都是为了解决 LLM 在实际落地中碰到的具体痛点。下面逐个拆解:
- 首先,LLM 得知道自己有什么工具可用。所以需要一套 ,负责维护工具清单,并把每个工具的名字和功能描述告诉模型。
工具管理模块
- 工具不能随便用,尤其是高风险操作(比如删除文件、转账)。因此需要 ,让关键操作必须经过用户确认。
权限管理模块
- 光有工具还不够,很多时候需要在工具调用前后加点“私货” —— 比如记录日志、做数据转换。于是有了 机制,类似 Ja va 的 AOP 切面,可以在工具执行前后扩展能力。
钩子(Hook)
- 复杂任务需要分步骤执行,不能一股脑儿塞给模型。Harness 引入了 ,让 LLM 先制定计划,再按部就班干活。
Todo Write 工具 + 任务系统
- 子任务最好有个独立的工作间,避免污染主 Agent 的上下文。于是设计了 ,每个子 Agent 都有干净的上下文环境。
SubAgent
- 有些场景需要多个工具按固定流程搭配使用,比如“先查库存再下单”。Harness 把这些领域知识封装成 ,相当于给 LLM 提供了一本“操作说明书”。
Skill 系统
- 多轮对话后上下文会越变越长,很容易让模型“看花眼”。所以提供了 能力,定期“瘦身”,缓解注意力分散问题。
上下文压缩
- LLM 有时需要记住关键信息并在不同会话间共享,比如用户的偏好或历史操作。Harness 增加了 来做这件事。
Memory 模块
- 工具列表、Skill 说明、Memory 内容……这些信息怎么告诉 LLM?统一通过 来注入,保证模型一上来就拿到所有必要背景。
System Prompt 系统
- 大模型是远程调用,网络波动、token 超限、返回格式异常……各种故障都可能发生。Harness 专门设计了 ,让 Agent 能在出错后自动恢复,不至于一崩到底。
异常处理与恢复机制
- 有些工具执行时间很长(比如生成一份100页的报告)。Harness 支持把这类任务丢到 里异步执行,不阻塞主 Agent 的响应。
后台任务
- 结合后台任务和 ,就能实现
定时触发器
,让 Agent 按计划自动运转,比如每天早晨6点自动整理数据。Cron 定时任务
- 单兵作战效率有限,Harness 引入了 机制,多个 Agent 可以像团队成员一样分工协作。
多 Teammate 协作
- 多个 Teammate 之间怎么沟通?需要约定 ,比如消息格式、任务指派方式,这样才能配合顺畅。
交流协议
- Teammate 干完活后不会傻等,可以到 自主领取新任务,实现“流水线式”的工作模式。
任务板
- 多个 Teammate 同时干活容易“撞车”或相互干扰,于是有了 ,每个工作区彼此隔离,各干各的。
Worktree Isolation