Harness多智能体框架:Planner→Builder→Evaluator三Agent协同实战解析

从面试真题看AI Agent的技术风向
在大模型应用工程化落地的浪潮中,多智能体(Multi-Agent)架构正在从概念走向企业级实践。多智能体架构的概念源自分布式人工智能领域,最早可追溯到20世纪80年代的分布式问题求解研究。但在大语言模型时代,Multi-Agent被赋予了全新含义:多个由LLM驱动的智能体各司其职、协同完成复杂任务。2023年以来,斯坦福大学的Generative Agents、MetaGPT、AutoGen等项目验证了多智能体协作的可行性。
其中,MetaGPT是由DeepWisdom团队于2023年发布的多智能体框架,其创新之处在于将软件开发中的标准化作业流程(SOP)编码为智能体协作协议,让产品经理、架构师、工程师等角色各自由独立的LLM Agent扮演,通过结构化文档进行交接。AutoGen则由微软研究院推出,强调可定制的对话式智能体编排,支持人类参与(Human-in-the-loop)和代码执行能力。这两个项目分别代表了多智能体系统的两种设计哲学:流程驱动与对话驱动,为后续的工程化框架奠定了重要的范式基础。
进入2024-2025年,企业开始将这一范式从实验室搬入生产环境,催生了对标准化框架和工程化能力的强烈需求。
一位深耕大模型面试辅导的讲师在直播中透露,其团队自大模型课程上线以来累计辅导超过1700名学员,修改了1065份简历,并整理了625份面试录音与复盘。这些一手数据揭示了一个明确的趋势:Harness(智能体运行框架)正在成为AI岗位面试的核心考点。
从学员反馈的面试真题来看,问题高度集中于Harness相关的技术细节。

企业面试官反复追问的话题包括:多智能体协同、Agent Loop的实现机制、智能体的分布式部署、工具调用错误的防护、循环调用问题的解决方案,以及尤为关键的用户隔离与安全隔离(Sandbox)。这些问题几乎无一例外地指向Harness框架的底层设计能力。
值得注意的是,Agent Loop的概念与ReAct(Reasoning + Acting)范式密切相关。ReAct由Yao等人于2022年提出,其核心思想是让大模型在推理过程中交替进行思考(Thought)、行动(Action)和观察(Observation)三个步骤,形成一个迭代循环。Agent Loop可视为ReAct在多智能体系统中的工程化延伸——不仅单个Agent内部存在思考-行动循环,多个Agent之间也形成了规划-执行-评估的外层循环。这种嵌套循环结构既赋予了系统强大的自纠错能力,也大幅增加了工程复杂度。
Harness框架为何成为技术热点
Harness之所以成为面试热点,与近期行业动态密切相关。随着DeepSeek推出的Harness公测版发布,众多技术博主和一线开发者进行了实测。讲师在评价中提到,DeepSeek Harness在灵活性上表现出色——由于支持插件的自由安装,从某种角度看甚至比Claude Code和Codex更加灵活,功能上也不逊色。

这一趋势带来的直接影响是:越来越多的企业开始考虑基于Harness来构建自己的智能体系统。对于程序员而言,这意味着掌握Harness的内部实现原理,不仅是面试加分项,更是工程落地的硬性能力要求。
Planner→Builder→Evaluator:三Agent协同的核心范式
在多智能体架构中,一种经典且高效的协同模式是Planner→Builder→Evaluator三段式流水线。理解这一范式,是从零实现Harness多智能体框架的基础。这一模式借鉴了软件工程中「设计-实现-测试」的经典流程,将其映射到智能体的自动化协作中。
Planner(规划器):任务理解与分解
Planner负责接收用户的原始需求,并将其拆解为可执行的子任务序列。它的核心职责是「理解意图」与「任务分解」。一个优秀的Planner需要判断哪些任务可以并行、哪些存在依赖关系,从而构建出合理的执行计划(DAG,有向无环图)。
DAG是图论中的基础概念,指不存在环路的有向图。在任务编排领域,DAG被广泛用于描述任务之间的依赖关系——节点代表子任务,有向边代表执行顺序的约束。Apache Airflow、Prefect等工作流编排工具均以DAG为核心抽象。在多智能体系统中,Planner将用户需求分解为DAG结构,意味着系统能够识别哪些子任务之间存在前后依赖(必须串行执行),哪些彼此独立(可以并行调度),从而最大化执行效率并避免资源浪费。
Builder(执行器):工具调用与任务执行
Builder根据Planner输出的任务清单,逐一调用工具、编写代码或调用其他子智能体来完成具体工作。在这个环节,工具调用的准确性成为关键挑战。当系统中集成了大量工具时,如何防止智能体调用错误的工具,是面试中的高频难题。常见解法包括:
- 工具描述的语义优化
- 基于Schema的参数校验
- 引入工具路由(Tool Routing)机制来缩小候选范围
工具描述的语义优化是Function Calling准确性的基石。Function Calling是OpenAI在2023年6月引入的能力,允许模型根据自然语言指令选择并调用预定义的函数。模型的选择依据主要来自每个函数的name、description和parameters三个字段。实践表明,对description进行精细化语义工程——包括明确使用场景、列举典型输入示例、标注与相似工具的区别——能显著降低工具误调用率。Schema校验则通过JSON Schema对输入参数进行类型检查和约束验证,防止模型生成格式错误或越界的参数值。
工具路由借鉴了信息检索和语义匹配的思路:先通过embedding向量检索或分类器对用户意图进行预判,缩小候选工具范围至3-5个,再交由LLM进行精确选择。这类似于搜索引擎的召回-排序两阶段架构,在降低延迟的同时显著提升了工具调用的准确率。部分框架还引入了工具分组(Tool Namespace)的概念,按业务域对工具进行逻辑分区,进一步降低选择空间的复杂度。
Evaluator(评估器):质量校验与闭环反馈
Evaluator对Builder的产出进行质量校验与结果反馈。如果结果不符合预期,它会将信息回传给Planner或Builder,形成一个闭环的Agent Loop。这一循环机制既是多智能体系统能够自我纠错的核心,也带来了新的工程隐患——循环调用问题。
关键技术难点:循环调用防护与安全隔离
如何避免Agent Loop中的循环调用
在Agent Loop中,若Evaluator持续判定结果不合格,系统可能陷入无限循环,导致Token消耗暴涨、响应时间失控。
要理解这一问题的严重性,需要认识到Token在大模型应用中的成本含义。在大模型应用中,Token既是计算资源的度量单位,也是直接的成本来源。以GPT-4o为例,输入Token价格约为每百万Token 2.5美元,输出Token约10美元。在多智能体系统的Agent Loop中,每一轮迭代都意味着至少一次完整的LLM推理调用——包含系统提示、历史上下文、工具描述和当前任务的全部Token。如果循环失控执行10轮以上,单次请求的成本可能飙升数十倍。因此,Token预算管理(Token Budget)已成为生产级Agent系统的标配功能,通常包括上下文窗口压缩、历史对话摘要、以及按迭代轮次递减的上下文策略。
工程上通常通过以下策略规避循环调用问题:
- 设置最大迭代次数硬性上限
- 引入循环检测机制(如状态哈希比对)
- 为每轮迭代设定明确的收敛条件
其中,状态哈希比对是一种源自程序分析和模型检验领域的经典技术。其原理是在Agent Loop的每一轮迭代中,将当前系统状态(包括任务描述、中间产出、工具调用参数等关键信息)计算为一个哈希值,并与历史迭代的哈希值进行比对。如果连续若干轮的状态哈希完全一致或高度相似(可通过SimHash等近似哈希算法实现模糊匹配),则判定系统已陷入无效循环并触发熔断机制。这一方法的优势在于计算开销极低(哈希计算为O(n)),且能检测出非平凡的循环模式,例如两个状态之间的振荡。
控制Token开销、缩短响应时间,是评价一个多智能体系统是否成熟的重要指标。
Sandbox安全隔离与多租户用户隔离
面试官反复强调的Sandbox(沙箱)安全隔离,本质上是要解决多用户、多租户场景下的资源与数据隔离问题。当智能体需要执行用户提交的代码或访问敏感资源时,必须通过沙箱环境限制其权限边界,防止越权访问和数据泄露。这也是企业级Harness框架相比玩具级Demo的核心区别所在。
在工程实现上,Sandbox有多种技术路径。最常见的是基于容器化技术(如Docker、gVisor)为每个用户或每次代码执行创建独立的运行环境,通过namespace和cgroup限制其CPU、内存、网络和文件系统的访问权限。其中,gVisor是Google开源的容器运行时沙箱,与传统Docker容器共享宿主内核不同,gVisor通过在用户态实现一个独立的内核(Sentry)来拦截系统调用,提供了比namespace/cgroup更强的隔离保障,特别适合执行不可信代码的场景。更轻量的方案包括WebAssembly(Wasm)沙箱,它能在接近原生的性能下实现内存安全隔离,近年来在边缘计算和插件系统中得到广泛采用。Wasm通过线性内存模型和严格的类型系统,确保沙箱内的代码无法访问宿主进程的内存空间,同时通过WASI(WebAssembly System Interface)精细控制对文件系统、网络等系统资源的访问权限。对于多租户SaaS场景,还需要在数据层面实现租户隔离——通常通过独立数据库schema、行级安全策略(RLS)或加密隔离来保证不同用户的数据互不可见。选择何种隔离粒度,取决于安全性要求和性能开销之间的权衡。
A2A协议与SubAgent内部智能体交接的选型策略
关于智能体之间的通信方式,讲师给出了一个务实的判断:A2A(Agent-to-Agent)协议在企业内部用得并不多,SubAgent的调用方式更为普遍。

A2A(Agent-to-Agent)协议由Google于2025年4月正式发布,旨在建立跨平台智能体互操作的开放标准。其核心机制包括Agent Card(智能体名片,用JSON格式描述智能体的能力、端点和认证方式)、Task对象(定义交互的生命周期和状态机)以及基于HTTP+SSE/JSON-RPC的通信层。A2A的设计理念类似于微服务架构中的服务发现与API网关——在异构系统间建立统一的对话契约。它与MCP(Model Context Protocol)形成互补:MCP解决的是模型与工具之间的连接,A2A解决的是智能体与智能体之间的协作。
深入理解这一互补关系有助于把握整个智能体生态的技术全景。MCP(Model Context Protocol)由Anthropic于2024年11月发布,是一个用于标准化LLM与外部工具、数据源之间连接的开放协议。MCP采用客户端-服务器架构,通过JSON-RPC 2.0进行通信,定义了Resources(数据访问)、Tools(功能调用)和Prompts(提示模板)三类核心原语。可以将MCP理解为智能体的「手」——让Agent能够操作外部世界,而A2A则是智能体的「嘴」——让Agent之间能够对话协作。在完整的企业级智能体架构中,两者通常同时存在:每个Agent通过MCP连接各自的工具链,同时通过A2A(或SubAgent机制)与其他Agent进行任务交接和结果传递。
其原因在于,A2A协议天然是跨网络、跨进程的设计。它适用于两个不同平台、不同团队、甚至采用不同技术栈开发的智能体之间的交接与交付。在这种「没有共识」的场景下,A2A几乎是唯一选择。
然而,如果整个多智能体系统都由同一团队自主设计——比如内部包含七八个子智能体——那么在系统内部使用A2A就成了「大炮打蚊子」。跨网络传输、卡片发现(Agent Card)、卡片读取等环节都会消耗额外时间。讲师给出了一个直观的量化对比:一个设计良好的内部多智能体系统响应时间应在1秒以内,而引入A2A后至少需要2秒,用户体验明显下降。
相比之下,SubAgent(子智能体)调用是一种进程内或同一运行时环境中的智能体编排方式。与A2A的跨网络通信不同,SubAgent之间通过函数调用、消息队列或共享内存直接传递数据,省去了HTTP序列化/反序列化、网络延迟和认证鉴权等开销。在OpenAI的Agents SDK、LangGraph等主流框架中,SubAgent通常被建模为一个可被父Agent调用的工具(Tool)或节点(Node),其执行上下文由编排层统一管理。
LangGraph是LangChain团队于2024年推出的有状态智能体编排框架,基于图(Graph)的抽象来定义Agent的状态转移和执行流程。与传统的链式(Chain)调用不同,LangGraph支持条件分支、循环、并行执行等复杂控制流,并内置了持久化状态管理(通过Checkpointer机制实现)。开发者可以将每个SubAgent建模为图中的一个节点,通过边(Edge)定义它们之间的数据流和控制流。LangGraph还支持Human-in-the-loop——在关键决策节点暂停执行并等待人类审批。这使得它特别适合构建需要人机协作的生产级多智能体系统。
SubAgent模式的优势在于低延迟和高可控性,劣势在于耦合度较高,不适合跨团队、跨组织的智能体协作场景。因此,内部智能体交接更适合采用SubAgent这类轻量方式。
给求职者与工程师的Harness实践建议
结合当前的面试趋势与技术演进,掌握Harness框架应从以下几个维度入手:
- 理解三Agent协同范式:能够清晰阐述Planner、Builder、Evaluator各自的职责与协作流程,并理解其与传统软件工程中设计-实现-测试流程的映射关系
- 掌握Agent Loop的闭环设计:包括反馈机制、收敛条件与循环防护,同时关注Token预算管理对系统可持续运行的影响。理解ReAct范式如何在单Agent层面和多Agent层面分别形成内外两层循环
- 重视工程细节:工具调用防错、Token成本优化、响应时间控制,尤其是工具路由机制在大规模工具集成场景下的必要性。深入掌握Function Calling的语义工程技巧,包括工具描述优化和Schema校验的最佳实践
- 深入安全隔离:理解Sandbox在多租户场景下的必要性与实现思路,掌握容器化隔离(Docker/gVisor)、Wasm沙箱、数据层RLS等不同粒度方案的适用场景与安全边界差异
- 辨析通信协议:清楚A2A与SubAgent的适用边界,避免盲目套用——A2A用于跨组织异构协作,SubAgent用于团队内部高效编排。同时理解MCP与A2A的互补关系,把握智能体生态中「工具连接」与「智能体协作」两个层面的协议分工
随着DeepSeek Harness等开源框架的成熟,从零实现一套多智能体协同框架已不再是遥不可及的目标。对于希望在AI工程领域立足的开发者而言,深入理解Harness的内部机制,将是最具价值的技术投资之一。
核心要点
核心要点
相关推荐

Anthropic招聘直问金钱观:AI安全公司如何筛选价值观
Anthropic在招聘中直接询问候选人的金钱观,通过价值观对齐筛选真正认同AI安全使命的人才。本文解析这一做法背后的逻辑及对AI行业人才竞争的深远影响。

AureaCam:实时构图评分工具,用三分法和黄金比例训练摄影直觉
AureaCam 是一款基于三分法和黄金比例的实时构图评分工具,通过0-100分即时反馈帮助摄影初学者快速建立构图直觉。PWA形态免安装,打开浏览器即可使用。

MiniMax H3提示词怎么写?一个Skill搞定
MiniMax H3视频模型提示词不会写?本文拆解H3提示词六大核心要素:人物、场景、动作、镜头、时间轴、声音,并介绍ProMate Skill工具,一句话自动生成专业分镜级提示词,附A/B实测对比效果。