Agent Harness 核心概念

笔记/AI编程/Agent Harness工程/Agent Harness 核心概念

背景与动机#

LLM 擅长生成和推理,但它本身不会天然拥有文件系统、命令行、外部 API、任务队列和权限控制。Agent 的工程化问题,就是把模型能力放进一个可执行、可观察、可控制的系统里。

Harness 可以理解为 Agent 的“执行外壳”:它负责给模型提供工具、上下文、环境、事件流和安全边界。

img
img

从 LLM 到 Agent#

最简单的 LLM 调用是:

输入 prompt -> 得到文本输出

Agent 则多了循环:

理解目标 -> 选择工具 -> 执行动作 -> 观察结果 -> 继续决策

这个循环让模型不只是回答问题,而是能完成任务。

为什么需要 Harness#

如果没有 Harness,Agent 会遇到几个问题:

  • 工具调用不可控。
  • 上下文来源混乱。
  • 权限边界不清楚。
  • 错误无法恢复。
  • 执行过程不可观察。
  • 多轮任务难以持久化。

Harness 的目标是把这些问题工程化。

大脑和双手的解耦#

可以把 Agent 系统拆成两部分:

大脑:模型、推理、计划、选择下一步
双手:工具、命令、文件、API、环境

解耦后,模型不需要直接拥有所有权限,而是通过受控接口使用工具。这样更容易做权限管理、日志记录、测试和替换。

实战关注点#

设计 Agent Harness 时,优先考虑:

  • 工具是否有清晰 schema。
  • 每次动作是否有日志。
  • 失败后是否能重试或回滚。
  • 哪些操作必须人工确认。
  • 上下文压缩后是否还能保持目标一致。

Harness 最小心智模型#

模型负责判断下一步。
工具负责把下一步变成动作。
环境负责限制动作发生在哪里。
事件负责记录动作发生了什么。
Session 负责保存任务状态。

只要这五件事没有拆清楚,Agent 系统就很容易变成一个不可调试的长提示词。

一句话总结#

Agent Harness 的核心是把模型推理放进一个有工具、有环境、有权限、有观察能力的工程系统里。

文章目录

文章目录