简介:本文聚焦AI智能体(Agent)开发中最易混淆的几组基础概念,重点剖析Harness(缰绳/执行框架)与Scaffold(脚手架/行为定义层)的本质区别与协作关系。同时拆解Model、Context Engineering、Policy、Tool Use、Sub-agents及训练侧RL Environment、Trainer、Rollout、Reward等术语的定位。通过对比分析,帮助开发者厘清架构边界,理解模型从“静态问答”到“动态执行”的进化路径,为技术选型与系统设计提供清晰依据。
在构建AI智能体(Agent)时,开发者常被一系列高度抽象且相互关联的术语包围。Model、Scaffolding、Harness、Agent、Context Engineering、Policy、Tool Use、Skills、Sub-agents,以及训练侧的RL Environment、Trainer、Rollout、Reward,这些词汇频繁出现在技术文档与架构讨论中。然而,多数资料只给出孤立定义,缺乏对彼此关系的系统阐述,导致读者理解碎片化。
本文的核心对比对象是 Harness(执行框架) 与 Scaffold(脚手架/行为定义层)。二者共同构成Agent的运行支撑,却承担截然不同的职责。理解它们的分工,是理解整个Agent架构的枢纽。同时,我们将顺带厘清其他关键术语在整体框架中的位置,帮助读者建立完整的认知地图。
1. Model(模型):即大语言模型本身,如常见的各类开源或闭源LLM。其本质是一个“文本进、文本出”的函数。模型拥有海量参数和强大的模式匹配能力,但自身是无状态的——它没有跨调用记忆,无法自主循环执行任务。模型可以表达意图,例如“我建议调用天气API”,但它不具备真正发起网络请求、解析返回值并继续下一步操作的能力。
2. Scaffolding(脚手架):这是围绕模型建立的行为定义层。它规定了模型在特定场景下“应该做什么、以什么顺序做、如何做决策”。Scaffolding包含提示词模板、上下文组装规则、决策树、输出解析逻辑等。它像施工时的外围支架,为模型的输出提供结构约束和引导,确保模型行为符合预期框架。
3. Harness(执行框架/缰绳):这是驱动模型并控制其与外部世界交互的运行时执行环境。Harness负责真正的执行动作:管理多轮对话循环、维护状态存储、调度工具调用(Tool Use)、处理异常、控制资源分配。如果说Scaffolding是“蓝图”,Harness就是“施工队”。Harness是模型能力的放大器,它赋予模型“手脚”。
4. Agent(智能体):Agent = Model + Harness。这是一个简洁且精确的公式。模型是“大脑”,Harness是“躯体与神经系统”。当模型被封装进Harness,它才从一个静态问答工具,变成一个能够感知环境、做出决策、采取行动并观察结果的自主实体。
核心区分要点:Scaffold是关于“行为逻辑”的静态定义;Harness是关于“执行机制”的动态运行。Scaffold是无状态的配置或代码,Harness是有状态、持续运行的系统进程。
| 维度 | Scaffolding(脚手架) | Harness(执行框架) |
|---|---|---|
| 核心职责 | 定义“做什么、为什么做” | 解决“如何做、如何确保做完” |
| 状态管理 | 无状态,侧重逻辑编排 | 有状态,管理会话、上下文和进度 |
| 交互对象 | 主要与模型交互(输入输出) | 与模型、外部工具、存储、网络全面交互 |
| 故障处理 | 逻辑上定义容错路径 | 物理上执行重试、超时、回退 |
| 生命周期 | 随应用启动而加载 | 随Agent会话开始而创建,结束后销毁 |
| 代码形态 | 提示词模板、逻辑函数、配置JSON | 独立运行的服务、进程、类实例 |
Harness处于更底层,它直接调用系统API、管理会话堆栈、控制并发。它可能需要维护一个消息队列或事件循环来处理工具调用的异步返回。而Scaffold更靠近模型,它通过精心构造的Prompt或逻辑分支来引导模型的推理路径。
在一个高性能Agent系统中,Harness的执行效率(如最小化工具调用延迟、高效的状态序列化)直接影响整体吞吐。Scaffold的复杂程度(如过长的上下文组装)则会消耗更多的Token和推理时间。二者的优化方向不同:Harness侧重并发优化,Scaffold侧重上下文压缩与信息检索。
Harness是安全策略的执行点。它应该强制实施Tool Use的权限清单、数据脱敏规则、操作审计日志。Scaffold则更关注如何通过提示词约束模型不产生有害输出。安全设计上,Harness是“护栏”,Scaffold是“引导线”。
为了彻底扫清迷雾,我们需区分推理时(Inference-time)架构与训练时(Training-time)流程。
关键区别:推理时的Harness生产“服务”,训练时的RL Environment生产“数据”。两者虽然都涉及“环境交互”,但目的截然不同。
从“新项目启动”角度:
从“迁移和改造”角度:
| 对比维度 | Scaffolding | Harness |
|---|---|---|
| 本质 | 行为契约、智能策略 | 物理执行、系统控制 |
| 故障表现 | 模型输出不合理、逻辑跑偏 | 程序崩溃、接口超时、状态丢失 |
| 调试方式 | 调整提示词、优化示例、修改逻辑树 | 查看日志、断点调试、检查资源水位 |
| 扩展重点 | 增加上下文压缩策略、改进决策分支 | 增加工具适配器、提升并发处理能力 |
最终决策思路:先用优秀工程手段强化Harness(稳),再用精妙逻辑设计简化Scaffold(准)。二者不是竞争关系,而是不同层面的必备设施。理解它们的差异,意味着你已经掌握了构建复杂AI应用最关键的架构判断力——这是从“调用API”到“设计系统”的分水岭。在规划下一阶段Agent能力升级时,建议优先审视你的Harness是否足够“结实”,再去追求Scaffold的“巧妙”。