一次搞懂Harness、Scaffold和那些让人头疼的AI Agent术语

发布时间:2026/6/8 21:46:54

一次搞懂Harness、Scaffold和那些让人头疼的AI Agent术语 AI Agent领域每天都在冒新词Harness、Scaffold、Policy、Rollout一个比一个玄乎听的人是一头雾水。Harness和Scaffold到底什么区别为什么每个人解释都不一样这篇就帮你把这些容易混淆的概念一次性理清楚。全文围绕Model、Scaffolding、Harness、Agent、Context Engineering、Policy、Tool Use、Skills、Sub-agents以及训练侧的RL Environment、Trainer、Rollout、Reward逐个拆解。Agent Model Harness而Harness和Scaffold的区别是理解整个Agent架构的关键。模型、脚手架与缰绳Model模型就是LLM本身吃进文本吐出文本。Claude、Qwen、GPT、Kimi、DeepSeek都是模型。模型自身没有跨调用的记忆也没有循环执行的能力。它可以表达调用工具的意图但要真正执行需要一个Harness来驱动。模型回答一个提示词就停了把它包上Scaffolding和Harness它才变成一个Agent。理解这一点很要紧模型本身是静态的、无状态的单独拿出来只能一问一答。Scaffolding脚手架是围绕模型的行为定义层。系统提示词、工具描述、模型输出怎么解析、跨步骤记什么内容都属于脚手架。它决定了模型如何看待世界、如何在其中行动。脚手架在训练和推理阶段都在起作用。你可以把它理解成给模型配的一套行为规则告诉它该干什么、有哪些工具可用、输出要遵循什么格式。换个脚手架同一个模型的表现可以判若两人。有趣的是Claude Code自己的文档写得很直白Claude Code serves as the agentic harness around Claude。很多产品把脚手架和Harness混在一起统称Harness即模型之外的所有东西。脚手架和Harness的区分在训练流水线里需要单独分析它们时才显得重要。也有人把脚手架用得更宽泛涵盖Harness依赖的任何基础设施钩子、运行时配置甚至目录结构。有些产品比如Claude Code和Codex跟自家模型绑定很紧。另一些比如Antigravity CLI和Hermes Agent允许你插任何模型进来。绑定紧的好处是可以深度优化灵活的好处是用户有选择权两种路线各有利弊。Harness是Agent内部的执行层。它调用模型处理工具调用决定什么时候停下来。脚手架是模型工作所依据的内容指令、工具、格式Harness是让整个系统跑起来的引擎。打个比方脚手架是剧本和道具Harness是导演和舞台监督把一切串起来执行。Harness Engineering是设计好这一层的学问Agent什么时候该停错误怎么处理防护栏怎么设置。这一层设计得好不好直接决定Agent跑起来是靠谱还是失控。Addy Osmani的文章和OpenAI关于用Codex构建产品的分享都从推理侧讨论了这个问题。 https://www.oreilly.com/radar/agent-harness-engineering/ https://openai.com/index/harness-engineering/Harness工程的核心挑战在于平衡自主性和可控性给Agent足够的自由度完成任务又要防止它跑偏。评估阶段同样有Eval Harness的概念区别在于它跑一组固定场景记录指标不更新权重。可以把它理解成考试模式同样的考卷只打分不学习。有些框架用Orchestrator编排器指代更上层的控制器协调多个Agent之间的工作。Harness驱动单个模型走执行循环Orchestrator把Agent当作单元来管理每个Agent跑自己的Harness。Agent到底是什么Agent智能体这个词来自强化学习。在强化学习里Agent就是一个函数接收观察返回动作环境接收动作后返回新的观察循环往复。LLM Agent的核心仍然是这个循环。理解了这一点后面很多概念就顺了。在LLM的世界里这个词的含义拓宽了。Agent是模型加上让它能行动而非仅仅响应的所有东西。它把原始的文本生成变成可以在循环中行动的系统接收信息决定做什么对结果采取行动。模型只会回答问题Agent会持续工作直到任务完成。拿编程Agent举例。系统提示词、工具描述、模型遵循的输出格式构成脚手架。调用模型、处理工具调用、决定何时停止的循环是Harness。训练时Harness还会并行跑很多这样的循环把结果反馈回来更新模型。推理时Harness只跑一条路径执行完就结束。下图清晰展示了Agent内部的结构关系。社区里通常的说法是Agent Model Harness。如果你不是模型你就是Harness。Harness和Scaffold之间微妙的区分正是多数混淆的来源。简单判断脚手架是信息模型能看到Harness是逻辑模型看不到但驱动它运行。人们聊Claude Code、Codex、Cursor这些产品时说的是特定Harness搭在特定模型上一起设计和优化的结果。两个产品用同一个底层模型体验可以完全不同因为Harness做了不同的选择。同一个Harness换一个更好的模型体验也会变。模型、Harness、产品是三件不同的事。搞混这三者就容易在讨论中对牛弹琴。上下文、策略与工具Context Engineering上下文工程是设计Agent上下文窗口里放什么的过程模型每一步看到什么系统提示词、工具描述、对话历史、检索到的知识。这不是一次性决定模型运行过程中前面的轮次会塑造后面调用里放什么Harness在整个运行过程中持续管理这些内容。上下文工程在训练和推理阶段都适用搞错的代价差别很大。训练时模型看到什么决定了学到什么搞错了得重新训练。推理时只是文本改个提示词重新部署就行。所以推理侧可以快速迭代训练侧得格外谨慎。记忆是上下文工程的一部分。Short-term Memory短期记忆是单次运行中留在上下文窗口里的内容对话历史、工具结果、之前的推理。Long-term Memory长期记忆跨会话持久存在存储在外部按需检索相关时注入回上下文。短期记忆受窗口大小限制长期记忆理论上可以无限扩展但检索的精准度是关键挑战。Policy策略是Agent遵循的行为方式。给定任何情况策略定义采取每个可能动作的概率。在LLM系统里策略的一部分学在模型权重里行为还取决于周围的脚手架和Harness。同一个模型配不同的提示词、工具、记忆和执行循环行为可以大不相同。同样的底层模型不同产品的表现差异大根源就在策略不同。策略和Agent容易混为一谈。策略定义行为Agent是在环境中行动的完整系统。把一个检查点包上脚手架和Harness部署出去得到一个Agent它的行为就是策略。策略可以调整Agent可以替换组件两者各有各的变化维度。Tool Use工具使用是Agent与外界交互的方式API、代码解释器、数据库、网页搜索、文件系统。模型以结构化格式表达使用工具的意图现代推理API把工具调用作为一等对象呈现Harness直接接收并路由到正确的函数结果反馈回上下文循环继续。工具让Agent从只能说话变成能做事从纸上谈兵变成动手操作。Skill技能是可复用的、结构化的知识包支持多步骤任务。工具是一个动作运行某条命令技能是把完成一个目标所需的一切打包调查某个Bug、提出假设、写修复代码。技能可以跨Agent移植按需加载。工具、技能、子Agent之间的界限在不同框架里有所偏移大体上是从简单到复杂的光谱工具最轻技能居中子Agent最重。Sub-agent子智能体是被另一个Agent调用来处理特定子任务的Agent。它有自己的模型和脚手架独立推理返回结果。调用方不需要知道它内部怎么工作。子Agent和工具的区别在于工具是函数调用技能是打包的知识子Agent本身能推理、能用工具、能调更下层的子Agent。调用方有时被称为Orchestrator。子Agent的好处是模块化坏处是通信开销和协调成本用不用子Agent取决于任务的复杂度是否值得。训练侧的那些事上面的概念在训练和部署时都适用。接下来这四个概念是训练专用的Agent跑任务、被打分、模型权重被更新。所有LLM的RL训练系统都围绕同一条流水线构建。RL Environment强化学习环境是你能与之交互的任何东西一个有状态的对象接收动作作为输入更新内部状态返回观察。在LLM场景下动作通常是工具调用。文件系统是个简单的例子执行touch foo.txt这个动作更新了状态观察就是更新后的文件列表。环境可以是沙盒也可以是真实系统不同框架对环境的定义有所差异但核心机制都是一样的动作进观察出。Trainer训练器让Agent变得更好它跑很多Agent回合对结果打分用打分结果更新内部模型的权重。TRL的GRPOTrainer就是一个具体例子单个类处理回合生成、奖励评分和权重更新。训练器是整个RL训练循环的调度中心把环境、策略、奖励串在一起形成闭环。Rollout展开是一次完整的Agent运行从头到尾Agent看到了什么、做了什么、每一步得到了什么奖励。也叫Trajectory轨迹或Trace追踪取决于上下文。这是RL算法学习的原始数据没有Rollout训练器就没有素材来更新权重。一次训练通常需要成千上万个Rollout才能收敛。Reward奖励是告诉训练算法模型是否在变好的分数。可以是Verifiable可验证的测试通过或失败、答案是否匹配也可以是Learned学习型的基于人类偏好或LLM当裁判。可以是Sparse稀疏的一个回合结束才给一个分也可以是Dense密集的每一步都有分。训练器用奖励来更新内部模型的权重。稀疏奖励简单但收敛慢密集奖励信号丰富但设计成本高两种选择各有利弊。Rubric评分细则把奖励拆成多个显式维度并赋权重不是一个总分。OpenEnv和Verifiers把评分细则实现为可组合的对象支持WeightedSum加权求和、Sequential顺序执行、Gate门控等组合方式。评分细则的好处是灵活可以精细地告诉模型哪个方面做得好、哪个方面需要改进而不是只给一个笼统的分数。把这些术语理清之后Agent的世界就不再是一团迷雾了。你对哪个概念的理解跟之前不一样了参考资料https://huggingface.co/blog/agent-glossary

相关新闻