简介:围绕模型、脚手架、缰绳、智能体、上下文工程、策略、工具调用、技能、子智能体及训练侧环境、训练器、采样、奖励等术语,本文从底层机制出发,解释各模块如何协作、状态如何流转、边界如何界定,帮助开发者建立清晰的Agent架构认知,避开常见理解误区。
当开发者第一次接触AI Agent相关文档时,往往会被一串术语淹没:模型、脚手架、缰绳、智能体、上下文工程、策略、工具调用、技能、子智能体,以及训练侧的强化学习环境、训练器、采样、奖励……这些词看起来彼此独立,实际上描述的是同一套系统中不同层次的职责。本文从原理角度出发,逐个拆解这些概念,并说明它们如何协作,让一个只会“吃文本、吐文本”的模型,变成能连续执行任务的智能体。
大语言模型本质上是一个函数:接收一段文本,输出一段文本。它没有跨调用的记忆,也没有循环执行的能力。它可以在输出中表达“我要调用某个工具”的意图,但真正去执行、把结果拿回来、再继续下一步,需要外部系统驱动。
因此,Agent要解决的核心问题是:如何让一个无状态、单步的模型,表现出有状态、多步的任务执行能力。
答案可以概括为一个关系式:
Agent = Model + Harness
其中,Model是模型本身,Harness是驱动模型循环运行、连接工具与环境的“缰绳”。而Scaffold(脚手架)则是Harness中承担结构化组织职责的部分。理解Harness与Scaffold的区别,是理解整个Agent架构的关键。
模型就是LLM本身,负责文本进、文本出。业界常见的各类大模型,本质上都是这一类组件。模型的能力边界决定了Agent的“智力上限”,但模型本身不具备:
模型可以输出“请调用某工具”这样的结构化意图,但执行动作必须由外部系统完成。
Scaffold是围绕模型构建的结构化框架,负责组织提示词、定义输出格式、管理上下文窗口、规定工具描述格式等。它回答的是“模型看到什么、以什么形式回答”。
典型职责包括:
Scaffold是相对静态的组织结构,决定了模型单次调用的“输入形态”。
Harness是驱动模型循环运行的执行框架,负责“让模型动起来”。它回答的是“模型输出之后发生了什么、下一步怎么走”。
典型职责包括:
Harness是动态的执行引擎,Scaffold是它的组成部分之一。可以这样理解:
Harness = Scaffold + 执行循环 + 工具调度 + 状态管理
Agent是最终呈现出来的系统形态:模型被Harness包裹后,能够接收任务、规划步骤、调用工具、观察结果、继续执行,直到任务完成或达到终止条件。
上下文工程是决定“每一步模型看到什么信息”的机制。由于模型上下文窗口有限,且无关信息会干扰推理,上下文工程需要:
它是Harness中影响效果的关键环节。
策略描述“在某个状态下选择什么动作”的规则。在Agent中,策略可以来自模型本身的推理能力,也可以由外部规则约束(如“不允许调用某类工具”)。策略决定了Agent的行为倾向。
工具调用是Agent与外部世界交互的方式。模型输出结构化的调用意图,Harness解析后执行真实动作,再将结果返回模型。工具可以是检索、计算、API调用等通用能力。
技能是对工具或动作的高层封装,通常表现为“完成某类任务的可复用流程”。例如“查询天气并生成出行建议”可以是一个技能,内部可能包含多次工具调用和模型推理。
子智能体是将复杂任务拆解后,由独立Agent实例处理子任务。主Agent负责任务分解与结果汇总,子Agent负责具体执行。这种结构能降低单次上下文压力,提高并行度。
环境是Agent训练时与之交互的世界,提供状态、接收动作、返回奖励。它模拟了真实任务场景,让Agent在试错中学习策略。
训练器负责驱动整个训练流程:采样、计算奖励、更新模型参数。它协调环境与模型之间的交互。
Rollout指Agent在环境中完整执行一次任务的过程,产生一条轨迹(状态-动作-奖励序列)。这些轨迹是训练的数据来源。
奖励是环境对Agent动作的反馈信号,用于指导策略优化。奖励设计直接影响训练效果,需要平衡稀疏性与引导性。
以“查询某数据并生成报告”为例:
Agent的本质是“模型+缰绳”:模型提供推理与生成能力,Harness提供循环执行、工具调度与状态管理。Scaffold负责单次调用的输入组织,Harness负责多步执行的动态控制。上下文工程、策略、工具调用、技能、子智能体各自承担不同职责,训练侧的环境、训练器、采样与奖励则支撑能力迭代。理解这些术语的层次与协作关系,才能真正掌握Agent架构的运行原理。