← 返回 FEED
AGENT2026-04-27

AI Agent 的骨架:为什么你的 Agent 线上总是挂

很多人以为自己在造 AI Agent,其实只是在模型外层接了几个工具,配上 Prompt,然后管这叫"智能化"。Demo 演示完美,线上环境一跑就崩。模型"失忆"了,工具悄无声息地返回空值,上下文窗口塞满了噪音。

这时候直觉反应是:模型不行,换一个。

通常这是错误的诊断。真正的问题在模型之外,有一个名字:Agent Harness

Harness 是什么?

Agent 不是单个组件,而是一种涌现行为——多个系统协同工作时才会出现的东西。Harness 就是那套产生这种行为的机械装置。

把 LLM 拆开看,它本质上只是一个计算引擎。没有持久记忆,不和外部世界交互,也不管跨步骤的状态管理。Harness 填补了这些空白:编排、工具执行、记忆、上下文、安全、状态——全部由它负责。换句话说,它把一个无状态的模型变成了能行动的东西。

一个贴切的类比:Raw LLM 等于没有操作系统的 CPU,Harness 就是让这台 CPU 可用的 OS。

这个框架也澄清了一个常见误解:当你听说某人"做了一个 Agent",实际上他做的是一个 Harness,然后接上了一个模型。

三层工程

理解 Harness 的位置,要先分清三个层次:

  • Prompt 工程:模型收到什么指令
  • Context 工程:模型何时看到什么信息
  • Harness 工程:其余一切——编排、工具、记忆、状态、安全

大多数人的精力都花在第一层。真正有竞争力的系统都在第三层发力。Harness 不是围绕 Prompt 的薄封装,它是让迭代式、目标导向行为成为可能的底层系统。

编排循环

每个 Agent 核心都是一个循环,描述为 Thought–Action–Observation 三阶段:

  1. 组装 Prompt
  2. 调用模型
  3. 解析输出
  4. 执行工具调用
  5. 将结果填回上下文
  6. 重复,直到满足终止条件

概念上很简单,实现里往往就是一个 while 循环。真正的复杂度不来自循环本身,而来自循环必须正确管理的所有子系统。

一次循环里实际发生了什么

具体走一遍:系统先构建完整 Prompt——系统指令、可用工具、相关记忆、对话历史、当前用户请求。模型生成输出,可能是一个最终答案,也可能包含结构化的工具调用。如果涉及工具调用,Harness 要做这些事:验证输入、在受控环境执行、捕获结果,再把结果格式化成模型能理解的消息格式。系统更新上下文,进入下一轮循环,直到终止——工具调用完毕、达到最大步数、或触发安全约束。

这个看似简单的循环,实际在协调多个子系统:上下文管理、错误处理、权限控制、状态追踪。

系统真正崩在哪里

Agent 系统的失败大多不是模型推理能力的问题,而是系统设计的问题。常见失败点:

  • 上下文窗口被低信号数据填满
  • 工具返回不一致或格式错误
  • 缺乏重试或恢复机制
  • 不验证中间结果

这些问题会跨步骤叠加。即便每步只有很小的失败率,多步工作流也会整体崩溃。结论很直接:可靠性是系统工程问题,不只是模型问题。

上下文管理才是真正的瓶颈

最被低估的挑战是上下文。往 Prompt 里加越多信息,性能并不会线性提升,反而经常下降。重要细节被埋没,模型的一致性变差。

高效系统的做法:把上下文当稀缺资源,而不是往 Prompt 里倾倒所有信息。具体策略:

  • 压缩和总结历史交互
  • 仅在需要时检索相关信息
  • 分离短期记忆和长期记忆
  • 将子任务委托给更小、更专注的循环处理

目标不是更多上下文,而是更好的上下文

超越对话历史的记忆

Agent 系统里的记忆是多层的。短期记忆是当前对话,提供即时连续性。长期记忆跨会话持久化——文件、数据库或结构化存储。还有一种工作记忆:执行过程中演变的任务特定状态。

关键设计原则:记忆不能被盲目信任。强健的系统把存储信息当作参考,在行动前对照当前状态进行验证。

工具作为 Agent 的接口

工具是 Agent 与外部世界交互的方式。通常通过 Schema 定义——描述每个工具做什么、需要什么输入。模型根据这些描述决定何时调用、如何调用。

Harness 负责围绕这个决策的一切:注册可用工具、验证输入、安全执行(通常在沙箱中)、把输出格式化成循环能理解的形式。设计糟糕的工具,对系统的损害不亚于糟糕的 Prompt。

Thin Harness 与 Thick Harness

核心设计决策之一:多少控制权放在 Harness 里,多少交给模型?

  • Thin Harness:把更多决策委托给模型,更灵活但可靠性依赖模型能力
  • Thick Harness:把更多逻辑显式编码,更可靠但复杂度更高

随着模型能力增强,趋势明显向 Thin 发展——模型自身越来越擅长处理规划和执行,Harness 可以变得更简单。

核心洞察

两个系统用同一个模型,可以产生完全不同的结果。差异不在模型,在 Harness。Harness 决定了上下文如何管理、工具如何使用、错误如何处理、决策如何验证。工程杠杆的主要发力点就在这里。

结语

Agent 挂了,直觉反应是换模型。很多时候,更好的做法是检查模型周围的系统。因为模型只是故事的一部分。Harness 才是把它变成真正能跑的东西的关键。