简介:本文系统性梳理AI Agent的核心架构与高频术语,深度剖析Agent=Model+Harness的底层逻辑。文章重点区分了Scaffolding(脚手架)与Harness(缰绳)的本质差异,并延伸解读上下文工程、策略、工具调用及RL训练侧等关键概念,助开发者彻底厘清Agent技术边界与构建原理。
深入理解AI Agent架构:Harness与Scaffold核心术语解析
在当前的AI开发与工程实践中,“AI Agent”无疑是最受关注的技术范式。然而,随着讨论的深入,大量源自学术界与工程界的术语(如Scaffolding、Harness、Context Engineering等)被混用,导致开发者对Agent架构的理解产生偏差。要构建一个真正可用的智能体,仅仅拥有大语言模型是远远不够的。
本文将从技术定义出发,逐层拆解AI Agent的核心架构与相关术语,重点厘清Scaffolding(脚手架)与Harness(缰绳)的本质区别,并扩展至训练侧与工程侧的关键概念,帮助开发者建立清晰的Agent技术认知框架。
从工程视角的严谨定义来看,AI Agent = Model + Harness。
Model(模型)即大语言模型(LLM)本身,它是一个静态的、无状态的神经网络。它的核心能力是“接收文本输入,并预测输出文本”。无论是开源还是闭源的主流大模型,其底层逻辑都是基于概率的Token预测。模型自身不具备跨调用的持久记忆,没有自主循环执行的能力,也缺乏与外部世界交互的物理通道。它可以表达“我需要调用某个工具”的意图,但要真正执行这个动作,必须依赖外部驱动。
因此,单独的Model只是一问一答的引擎。当我们把Model包裹上Scaffolding(脚手架)和Harness(缰绳),使其具备感知、记忆、规划和执行能力时,它才真正演化为一个Agent。
理解Agent架构的关键,在于深刻区分Scaffolding和Harness。这两个概念经常被混淆,但它们在工程实现中处于完全不同的层次。
Scaffolding是围绕模型构建的“行为定义层”。它类似于建筑工地的脚手架,为模型的输出提供结构化的约束和引导。Scaffolding定义了Agent“应该做什么”以及“以什么格式做”。
在技术实现上,Scaffolding通常表现为:
Scaffolding本质上是静态的规则与模板,它告诉模型如何扮演一个Agent,但不负责具体的执行。
如果说Scaffolding是剧本,那么Harness就是导演和执行剧组。Harness是真正驱动Agent运转的运行时系统,它负责控制执行循环、管理状态并处理与外部环境的交互。
Harness的核心职责包括:
简而言之,Scaffolding决定了Agent的“逻辑结构”,而Harness提供了让这个结构动起来的“动力与控制系统”。
在构建Agent的过程中,除了Scaffolding和Harness,还有几个高频的工程概念需要厘清:
上下文工程是提示词工程的进阶阶段。在Agent多轮循环执行中,上下文窗口会迅速膨胀。上下工程关注如何动态管理这些信息,包括历史对话压缩、关键记忆向量检索、环境观测结果注入等,确保模型在每一步推理时都能获得最相关、最精简的信息。
面对复杂任务时,单个Agent可能受限于上下文长度或专业能力。Sub-agents架构允许主Agent将任务分解,派发给专门负责特定领域的子Agent执行。这需要Harness具备多智能体通信与结果汇聚的能力。
在Agent语境下,Policy通常指模型在面对多种可能行动时的决策倾向。它可以通过系统提示词中的规则软性约束,也可以在模型微调阶段通过强化学习硬性植入。
Agent的强大不仅依赖于工程侧的Scaffolding和Harness,也依赖于模型本身是否具备良好的“Agent基因”。这就涉及训练侧的几个关键概念:
通过在RL Environment中进行大量Rollout并获取Reward反馈,模型(Model)能够学会更准确地输出工具调用意图,从而大幅减轻Harness的解析压力。
为了更直观地理解上述组件如何协同工作,以下是一个简化的Agent运行循环伪代码:
# 1. 初始化Scaffolding (定义行为框架)system_prompt = "你是一个数据分析助手,请按JSON格式输出行动指令。"context = [system_prompt]# 2. 启动Harness (运行时驱动)while not task_completed:# Model: 接收当前上下文,输出文本意图model_output = llm.predict(context)# Harness: 拦截并解析意图if is_tool_call(model_output):tool_name, params = parse_tool_call(model_output)# Harness: 执行真实动作observation = execute_tool(tool_name, params)# Context Engineering: 将结果注入上下文context.append({"role": "assistant", "content": model_output})context.append({"role": "tool", "content": observation})else:# 任务完成或给出最终回答task_completed = True
AI Agent并非玄学,其本质是Agent = Model + Harness架构的工程实践。Model提供了认知与推理的基础能力,Scaffolding定义了其行为的结构与规则,而Harness则是驱动这一切运转的核心引擎。理解这三者的边界,并辅以完善的上下文工程与RL训练机制,开发者才能构建出逻辑严密、运行稳定且安全可控的智能体应用。