The Anatomy of an Agent Harness
你构建了一个聊天机器人。你添加了一些工具和一个简单的循环。它在演示时运行良好。但当你尝试投入生产时,一切都崩溃了。
模型会忘记之前的步骤。工具调用在没有任何警告的情况下失败。上下文窗口充满了无用数据。
问题不在于你的模型,而在于围绕它的基础设施。
这种基础设施被称为 Agent Harness。
Agent 是行为,Harness 是机器。如果你不是模型,那你就是 Harness。
将原始 LLM 想象成一个 CPU。它没有 RAM、没有磁盘,也没有 I/O。Harness 就是操作系统。它提供内存、工具和逻辑,使模型变得有用。
一个生产级的 Harness 包含十二个核心组件:
• Orchestration Loop(编排循环):这是心跳。它管理“思考-行动-观察”(Thought-Action-Observation)循环。 • Tool Layer(工具层):这是双手。Harness 处理工具的注册、验证和执行。 • Memory(记忆):包括短期历史记录和跨会话的长期持久化。 • Context Management(上下文管理):通过压缩或总结数据来防止上下文退化(context rot)。 • Prompt Assembly(提示词组装):构建模型在每一步看到的精确输入。 • Output Classification(输出分类):决定模型是想要对话还是使用工具。 • State Management(状态管理):允许 Agent 在发生错误或中断后恢复工作。 • Error Handling(错误处理):捕获失败,防止错误累积。 • Guardrails(护栏):充当触发器,以阻止不安全或错误的行动。 • Permission Enforcement(权限执行):将模型“想要做的事”与“被允许做的事”区分开来。 • Verification Loops(验证循环):让模型检查自己的工作以提高质量。 • Agent Handoffs(智能体交接):管理一个 Agent 如何将工作传递给另一个 Agent。
优秀工程的目标是尽可能保持 Harness 的轻量化。随着模型变得越来越聪明,你需要的脚手架(scaffolding)应该越来越少。
当你的 Agent 失败时,不要责怪模型。检查你的 Harness。
Source: https://dev.to/aniruddhaadak/the-anatomy-of-an-agent-harness-1n1j
Optional learning community: https://t.me/GyaanSetuAi
