Table of Contents
背景
AI Agent领域发展迅猛,新术语层出不穷,但不同框架和文档对同一术语的使用往往大相径庭。例如,“harness”在Claude Code的文档中被定义为“代理框架”,而在其他语境中却被视为更底层的执行组件。ICLR 2026期间,有研究者提问:“harness和scaffold在代理语境下到底是什么意思?我听到了很多解释,但始终无法达成一致。”这种混乱不仅困扰新手,也导致资深从业者在交流时产生误解。
为此,Hugging Face的开发者Sergio Paniego和Aritra Roy Gosthipaty撰写了一份实用的术语指南,旨在澄清那些经常被混淆或解释不清的概念。该指南并非百科词典,而是聚焦于最常引发歧义的核心术语。
核心内容分析
指南共涵盖以下几组关键概念:
-
模型(Model):指纯粹的LLM,接收文本输入,输出文本。模型自身没有记忆(每次调用独立),也没有循环能力。它可以表达调用工具的意图,但需要执行层来完成实际调用。模型回答一个提示后就停止,仅当被封装进脚手架和框架后才成为代理。
-
脚手架(Scaffolding):围绕模型的行为定义层,包括系统提示、工具描述、响应解析方式、跨步记忆(上下文管理)等。脚手架塑造模型看待世界和行动的方式,无论是在训练还是推理阶段都适用。像Claude Code、Codex等产品有时将整个系统称为“harness”,而脚手架实际上是其中一部分。
-
框架(Harness):指南指出,这是一个被广泛但不同地使用的词。在Claude Code的语境中,“harness”指代包含脚手架、执行环境和模型在内的完整代理系统。而在学术研究或某些框架中,“harness”特指执行任务的环境和工具调用接口。指南建议区分:如果“harness”指的是运行代理的整个系统,那么它包含了脚手架;如果指的是执行层,则与脚手架是平行概念。为减少混淆,指南建议明确说明具体指代。
-
代理(Agent):许多定义强调“使用工具”和“自主决策”。指南提供了一种实用定义:“能够感知环境、做出决策并采取行动以达到目标的系统。”在LLM语境中,代理 = 模型 + 脚手架 + 框架,且通常包含循环和记忆。
-
上下文工程(Context Engineering):指设计和管理代理所看到的上下文(例如对话历史、检索结果、工具输出),以引导模型行为。不同于提示工程(只关注输入格式),上下文工程更关注动态信息管理和记忆窗口。
-
策略(Policy):在训练语境中,策略指模型决定如何行动的函数。在推理时,策略就是模型+脚手架的组合,决定每步选择哪个动作。
-
工具使用(Tool Use):指代理调用外部API或函数的能力。工具通常通过自然语言接口(模型生成工具调用指令)或结构化格式(JSON)定义。
-
技能(Skills):可复用的高级行为模式,通常由多个工具调用组成。例如“搜索网页”技能可能包含调用搜索引擎、解析结果、提取信息等步骤。
-
子代理(Sub-agents):代理内部调用的其他代理,用于分解复杂任务。子代理拥有自己的脚手架和策略,可以向主代理返回结果。
-
训练相关术语:包括RL环境(RL Environment,代理交互的世界)、训练器(Trainer,计算梯度更新权重的组件)、推出(Rollout,代理在环境中生成轨迹的过程)、奖励(Reward,评估输出质量的信号)等。
指南强调,这些定义并非强制标准,而是提供一个实用的思维模型,帮助团队成员在讨论时避免歧义。
行业影响/专业点评
这项术语工作看似基础,实则对社区发展至关重要。AI Agent领域百花齐放,但术语不一致导致沟通成本高昂、工具互操作性差。例如,一个框架的“harness”可能与另一个框架的“scaffold”含义重叠,开发者迁移学习时会产生困惑。
通过厘清这些概念,作者为行业提供了共同语言的基础。尤其值得注意的是,他们区分了“模型”与“代理”的根本差别:模型是被动响应者,代理是主动行动者。这对于设计正确的系统架构至关重要。许多初学者认为“用LLM就是代理”,但实际上缺乏脚手架和框架的LLM只是工具,而非代理。
此外,指南明确指出“上下文工程”是独立于“提示工程”的新方向,这反映了代理系统对动态、长程信息管理的需求日益增长。未来,随着代理复杂性提升,这些概念有望进一步标准化,甚至推动开发工具和平台的统一。