掌握Harness,让大模型能力倍增:为程序员打造实用指南(含收藏)

张开发
2026/4/17 10:32:24 15 分钟阅读

分享文章

掌握Harness,让大模型能力倍增:为程序员打造实用指南(含收藏)
大模型虽强但“裸模型”存在无记忆、无法执行代码、知识过时、无工作环境四大硬伤。Harness通过文件系统、沙箱、记忆机制、Web SearchMCP、上下文工程、编排Hooks六大组件有效弥补这些缺陷使模型变得实用。文章详细解析了Harness的各个组件及其作用强调了System Prompt的重要性并指出Harness才是AI Agent竞争的关键。对于程序员而言构建高效的Harness至关重要它直接影响AI Agent的性能和实用性。1、Agent Model Harness一个被忽视太久的公式在正式拆解 Harness 之前我们需要先厘清一个最基础的认知框架。1.1 什么是 AgentAgent这个词在 2024 年被用滥了。每一个能调用 API 的聊天机器人都自称 Agent每一个加了 RAG 的问答系统都宣称自己是 Agent。但如果我们回到最朴素的定义——Agent 是一个能够自主感知环境、做出决策、执行行动并从结果中学习的智能体。注意这里的四个关键动词感知、决策、执行、学习。裸模型能做到哪个严格来说它只能做决策这一步——给定输入产出输出。它不能主动感知外部世界没有眼睛和耳朵不能真正执行行动没有手和脚更不能持久化地学习没有长期记忆。所以一个真正的 Agent 必须是这样的结构Agent Model HarnessModel 是大脑负责想。Harness 是大脑之外的一切——感官系统、运动系统、记忆系统、能量系统——负责让想变成做。1.2 Harness 到底是什么Harness 这个词的英文原意是挽具就是套在马身上、让马的力量转化为拉车动力的那套装备。类比非常精准模型是马Harness 是挽具Agent 是马挽具车的整体系统。更技术化地说Harness 是模型之外的一切工程基础设施。它包括但不限于模型如何接收输入上下文构建模型的输出如何被解析和执行工具调用、代码执行模型如何获取外部信息搜索、API模型如何记住之前发生的事记忆机制模型如何与其他模型或子系统协作编排以及贯穿所有环节的安全、格式、质量约束HooksHarness 不是一个单一的组件而是一个系统。这也是为什么搭建一个真正好用的 Agent 如此之难——你不是在调一个参数你是在设计一整套工程架构。下面这张架构图展示了 Model 与 Harness 的关系以及 Harness 内部六大组件的整体布局这张图传达了三个关键信息第一Model 处于中心但它被 Harness 包围和支撑第二六大组件各司其职但彼此协同第三System Prompt 贯穿所有组件它是 Harness 的神经系统。2、裸模型的四个硬伤为什么光有聪明的大脑远远不够要理解 Harness 的价值我们必须先直面一个残酷的现实裸模型Raw Model有四个致命的硬伤。所谓裸模型就是没有任何外部工具、没有文件系统、没有搜索能力、没有持久化记忆的纯粹大语言模型。你可以把它想象成一个被关在密闭房间里的天才——智商极高但看不见外面的世界记不住昨天的对话说了话也没人去执行。2.1 硬伤一无法维持跨会话状态这是最容易被感知的痛点。你跟一个裸模型聊了两个小时讨论了一个复杂的系统架构画了流程图定了技术方案。然后你关掉窗口第二天回来——它什么都不记得了。这不是记忆力差的问题这是根本没有记忆机制的问题。裸模型的每一次对话都是一个全新的开始前一轮的所有上下文在会话结束的瞬间灰飞烟灭。对于简单的问答场景这无所谓。但对于任何需要持续推进的工作——写一本书、开发一个项目、管理一个流程——这个硬伤是致命的。你需要每次都从头解释背景每次都重新建立共识每次都把之前的结论手动灌进去。这不是在用 AI 协作这是在训练一个每天都失忆的实习生。2.2 硬伤二无法执行代码裸模型可以写代码但它不能跑代码。它可以生成一段 Python 脚本但它无法验证这段代码是否能正确运行。它可以告诉你算法的时间复杂度但它不能在真实数据集上跑一遍来证明自己的分析。这意味着什么意味着裸模型的代码输出没有自我验证能力。它可能写出语法正确但逻辑错误的代码可能忽略边界条件可能对库的版本做出错误假设。而这一切错误只有在人类手动复制粘贴到本地环境运行之后才会暴露。更深层的问题是没有代码执行能力模型就失去了写→跑→看→修→再来的自我验证循环。而这个循环恰恰是优秀程序员最核心的工作方式。一个不能运行自己代码的 AI 编程助手就像一个只能在纸上画图纸但从来不去工地的建筑师——理论上无懈可击实践中漏洞百出。2.3 硬伤三无法获取实时知识大语言模型的知识有一个截止日期。截止日期之后发生的一切——新发布的 API 文档、最新的安全漏洞、上周刚更新的框架版本、今天的新闻——它统统不知道。在技术领域这个问题尤其严重。前端框架半年一个大版本云服务商每季度更新一次产品线开源库的 Breaking Change 防不胜防。你问裸模型React 19 的 use() Hook 怎么用它可能给你一个基于 React 18 的回答甚至虚构一个根本不存在的 API。这就是所谓的幻觉Hallucination的一个重要来源不是模型故意胡说而是它的知识库里根本没有正确答案于是它基于过时信息或模式匹配推理出了一个看起来合理但实际上错误的答案。2.4 硬伤四无法搭建工作环境裸模型没有文件系统没有工作空间没有项目目录。它不能创建文件不能组织代码结构不能管理依赖不能运行构建工具。这意味着它无法完成任何工程级的任务。写一个单独的函数可以。搭建一个完整的项目脚手架、配置 CI/CD 流水线、管理多个微服务之间的依赖关系不可能。工程不是写代码工程是在正确的位置写正确的代码并确保它与其他代码正确协作。没有工作环境工程就无从谈起。2.5 四个硬伤的本质如果你仔细看这四个硬伤会发现它们恰好对应了一个完整智能体所需的四种基础能力硬伤缺失的能力Harness 的对应组件无法维持跨会话状态长期记忆文件系统 记忆AGENTS.md无法执行代码行动能力Bash 沙箱无法获取实时知识感知能力Web Search MCP无法搭建工作环境环境操控文件系统 上下文工程 编排每一个不能都是 Harness 里的一个组件。 Harness 不是锦上添花它是对裸模型致命缺陷的系统性补救。没有 Harness 的 Model就像没有身体的大脑——它可以思考但无法存在于这个世界。3、组件一文件系统——最基础的原语在 Harness 的六大组件中文件系统排在第一位不是因为它最炫酷恰恰相反——它最朴素也最基础。基础到很多人压根没意识到它是一个组件。但正是这个最朴素的组件决定了 Agent 能力的上限。3.1 为什么文件系统是最基础原语想一想人类程序员是怎么工作的。打开电脑第一件事是什么打开 IDE加载项目目录。所有的代码文件、配置文件、文档、测试用例、构建脚本……都以文件的形式存在于一个结构化的目录树中。文件系统是一切工程活动的地基。没有文件系统代码无处存放中间结果无法持久化多步骤任务无法衔接多 Agent 之间无法协作对于 AI Agent 来说文件系统的意义甚至比对人类更大。因为人类有大脑记忆可以记住一些中间状态。但 Agent 的上下文窗口是有限的——即使是 200K token 的上下文对于一个真实项目来说也远远不够。文件系统就是 Agent 的外部大脑是它突破上下文窗口限制的唯一途径。3.2 文件系统的三大核心能力第一工作空间与中间结果存储。Agent 在执行复杂任务时会产生大量的中间产物——分析报告的草稿、代码的半成品、数据处理的中间结果、与用户确认的决策记录。这些中间产物需要一个地方存放以便后续步骤引用。没有文件系统Agent 必须把所有中间产物都塞进上下文窗口——这既浪费 token又容易超出上下文长度限制。有了文件系统Agent 可以把中间产物写入文件需要时再读取实现按需加载。第二Agent 协作的基础。当一个任务复杂到需要多个 Agent 协同工作时文件系统就成了它们之间的共享白板。Agent A 把分析结果写入文件Agent B 读取文件并在此基础上继续工作。这种基于文件的异步协作模式简单、可靠、可追溯。第三版本追踪与错误回滚。这一点经常被忽略但它可能是文件系统最有价值的能力之一。当文件系统与 Git 集成后Agent 的每一步操作都可以被记录、追溯、回滚。为什么这很重要因为 Agent 会犯错。它可能在重构代码时引入 Bug可能在修改配置时破坏了系统。如果没有版本追踪错误就像雪球一样越滚越大直到系统彻底崩溃。有了 GitAgent或者监督它的人类可以随时回到之前的安全状态甚至可以开分支做实验——失败了就丢弃分支成功了就合并。以下是文件系统在 Agent 工作流中的角色示意这里有一个关键洞察文件系统 Git 给了 Agent 试错的能力。 没有这个能力Agent 只能小心翼翼地一步步走不敢冒险。有了这个能力Agent 可以大胆尝试——反正随时可以回滚。这极大地释放了模型的创造力。3.3 文件系统的设计原则在实际工程中为 Agent 设计文件系统需要注意几个原则目录结构要清晰且约定俗成。 Agent 不擅长处理混乱的文件组织。使用标准化的目录结构如前端项目的 src/components、src/utils 约定能显著降低 Agent 的认知负担。文件粒度要适中。 太大的文件几千行代码会超出 Agent 的处理能力太小的文件每个函数一个文件会增加文件管理的复杂度。一般来说一个文件对应一个模块或职责单元是比较好的粒度。元数据要丰富。 文件名要有意义目录要有 README关键决策要有 ADRArchitecture Decision Records。这些元数据是 Agent 理解为什么这样组织的线索。4、组件二Bash 沙箱——让 Agent 从说到做如果说文件系统给了 Agent 一个工作台那么 Bash 沙箱就给了它一双手。4.1 从生成代码到执行代码的质变裸模型只能生成代码文本。但文本不是程序——程序是被执行的文本。在生成和执行之间存在一条巨大的鸿沟。一个终端Bash环境意味着 Agent 可以运行它自己写的代码安装依赖包执行构建命令运行测试套件查看运行时错误并调试这从根本上改变了 Agent 的工作模式。没有 BashAgent 是一个提建议的顾问有了 BashAgent 是一个动手做的工程师。4.2 自我验证循环写→跑→看→修→再来这是 Bash 赋予 Agent 的最核心能力——自我验证循环。这个循环看起来简单但它的意义是革命性的。没有这个循环Agent 的输出质量完全依赖于模型的一次性生成能力——模型推理正确就对了推理错误就全错。有了这个循环Agent 拥有了自我纠错能力它可以从自己的错误中学习至少在单次会话内。实际测试数据表明在编程任务中具备自我验证循环的 Agent 的任务完成率比一次性生成的方式高出 40%–60%。这个差距不是来自更好的模型而完全来自 Harness 层的 Bash 能力。4.3 为什么必须是沙箱有了 Bash 就够了吗不还需要安全隔离。Agent 执行的代码不一定是安全的。它可能无意中执行了 rm -rf /可能下载了恶意包可能发起了未授权的网络请求。如果 Agent 的代码执行环境是宿主机本身后果不堪设想。沙箱Sandbox提供了一个隔离的执行环境资源限制 CPU、内存、磁盘空间都有上限防止死循环或内存泄漏拖垮系统。网络隔离 默认禁止外部网络访问或只允许白名单内的地址防止数据泄露或恶意攻击。文件系统隔离 Agent 只能访问自己的工作目录不能接触宿主机的敏感文件。超时机制 执行时间超过阈值自动终止防止资源被长期占用。沙箱不是一个可选的安全加固措施它是 Bash 能力的必要前提。没有沙箱你不敢让 Agent 执行代码不敢让 Agent 执行代码Agent 就失去了自我验证能力失去了自我验证能力Agent 的输出质量就会大打折扣。4.4 沙箱技术的选择在工程实践中常见的沙箱方案包括Docker 容器 最主流的方案隔离性好生态成熟镜像管理方便。大多数 Agent 框架如 Devin、OpenHands都采用 Docker 作为沙箱。gVisor / Firecracker 更轻量的虚拟化方案启动速度快毫秒级适合需要频繁创建/销毁沙箱的场景。WebAssemblyWASM 在浏览器端或边缘计算场景中有潜力但目前对系统调用的支持还不够完善。Nix / 纯函数式环境 通过声明式的环境定义确保每次执行的环境完全一致杜绝在我机器上能跑的问题。选择哪种方案取决于你的具体需求但核心原则只有一条在保证安全的前提下给 Agent 尽可能大的自由度。5、组件三记忆AGENTS.md——不改权重也能给模型加知识这是 Harness 六大组件中最容易被低估但可能最具长期价值的一个。5.1 模型的失忆症我们在前文讨论过裸模型无法维持跨会话状态。每次对话结束所有的上下文都会消失。但在真实的工作场景中Agent 需要记住大量信息项目的技术栈和架构决策用户的偏好和工作习惯之前犯过的错误和学到的教训团队的编码规范和设计模式业务领域的专有知识传统的做法是把这些信息写进 System Prompt——但 System Prompt 的长度是有限的塞太多信息会稀释重要指令的权重甚至导致模型注意力分散。AGENTS.md 提供了一个优雅的解决方案把知识写入文件在需要时自动注入上下文。5.2 AGENTS.md 的工作机制AGENTS.md 的设计理念可以用一句话概括工作中写入知识存文件下次自动注入。具体来说写入阶段 当 Agent 在工作过程中产生了有价值的知识比如发现某个 API 有一个未文档化的限制或者确定了某种架构方案的优劣它会把这些知识以结构化的方式写入 AGENTS.md 文件。存储阶段 AGENTS.md 文件存放在项目的文件系统中通常是根目录或各子目录下。它本质上就是一个 Markdown 文件人类可以直接阅读和编辑。注入阶段 下一次 Agent 启动或切换到新的工作上下文时Harness 会自动读取相关的 AGENTS.md 文件并将其内容注入到 Agent 的上下文中。5.3 “上下文注入 不改权重给模型加知识”这个等式是 AGENTS.md 最深刻的洞察。传统上要给模型加知识你需要微调Fine-tuning——修改模型的权重参数。这个过程成本高、周期长、且存在灾难性遗忘的风险。AGENTS.md 提供了一条捷径不碰模型权重只通过上下文注入来添加知识。 模型仍然是原来的模型但它看到的信息变了因此它的行为也变了。这就像是一种即插即用的知识扩展机制——今天你发现了一个新的最佳实践写进 AGENTS.md明天 Agent 就自动具备了这个知识。不需要重新训练不需要等模型供应商更新不需要任何机器学习的专业知识。这也解释了为什么 AGENTS.md 被称为记忆组件——它让 Agent 拥有了跨会话的长期记忆而且这种记忆是透明的人类可以阅读和编辑、可控的可以随时增删改、可审计的配合 Git 可以追溯每一次知识变更。5.4 AGENTS.md 的最佳实践在实际项目中AGENTS.md 的组织方式通常遵循以下原则层次化存放。 根目录的 AGENTS.md 存放全局知识项目概述、核心架构决策、团队规范子目录的 AGENTS.md 存放局部知识该模块的特殊约定、已知问题、接口规范。Agent 在进入某个目录工作时会同时加载全局和局部的知识。结构化书写。 好的 AGENTS.md 不是随意的笔记而是有明确结构的知识库。常见的分类包括项目架构、技术约束、编码规范、已知陷阱Gotchas、决策记录ADR等。定期清理。 过时的知识比没有知识更危险。随着项目演进某些早期的约束可能已经不再适用某些技术决策可能已经被推翻。定期审查和清理 AGENTS.md 是保持其有效性的关键。双向可编辑。 AGENTS.md 不仅是 Agent 写给自己的备忘录也是人类与 Agent 之间的知识契约。人类可以直接编辑 AGENTS.md 来向 Agent 传达偏好“我不喜欢使用三元表达式”、约束“所有 API 必须使用 REST 风格”、甚至个人工作习惯“代码审查时请重点关注错误处理”。6、组件四Web Search MCP——突破知识的时间牢笼裸模型的第三个硬伤是无法获取实时知识。Web Search MCP 就是针对这个硬伤的解药。6.1 AGENTS.md 的最佳实践每个大语言模型都有一个知识截止日期。这个日期之后的世界对模型来说是一片空白。这在日常闲聊中可能无伤大雅但在专业工作场景中这是一个严重的限制。想象一下这些场景你让 Agent 帮你调试一个 bug而这个 bug 的修复方案在模型训练之后才被社区发布你让 Agent 写一个集成方案而目标 API 在上个月做了 Breaking Change你让 Agent 分析竞品动态而竞品昨天刚发布了新产品在这些场景中裸模型不仅帮不了你还可能用过时的信息自信地给出错误的答案——这比不知道更危险。6.2 Web Search打开信息的大门Web Search 赋予 Agent 搜索互联网的能力让它能够访问训练数据之后的新信息。这从根本上解决了知识过时的问题。但 Web Search 不仅仅是接个搜索 API那么简单。一个好的 Web Search 组件需要解决以下问题查询构建 模型的自然语言表述不一定是好的搜索查询。Harness 需要帮助模型把模糊的意图转化为精准的搜索关键词。结果筛选 搜索引擎返回的结果质量参差不齐。Harness 需要帮助模型过滤低质量来源优先使用权威文档如官方文档、RFC、知名技术博客。内容提取 网页内容通常包含大量无关信息广告、导航栏、侧边栏。Harness 需要提取核心内容并以模型友好的格式呈现。信息整合 当 Agent 需要综合多个来源的信息时Harness 需要帮助它处理信息冲突、去重、排序。6.3 MCP从搜索到连接如果说 Web Search 让 Agent 能看互联网那么 MCPModel Context Protocol让 Agent 能触互联网。MCP 是 Anthropic 在 2024 年底推出的一个开放协议它定义了 AI 模型与外部工具、数据源之间的标准化交互方式。你可以把它理解为AI 世界的 USB 接口——只要工具遵循 MCP 规范就可以即插即用地接入任何支持 MCP 的 Agent。MCP 的意义在于它把 Agent 的感知范围从公开互联网扩展到了任何可编程的数据源和服务。数据库、内部 Wiki、项目管理工具Jira、Linear、代码仓库GitHub、监控系统Datadog、Grafana……只要有 MCP 接口Agent 就能直接访问。6.4 Web Search MCP 的协同效应Web Search 和 MCP 单独使用都有价值但它们的组合才是真正强大的。举个例子Agent 需要修复一个生产环境的 Bug。MCP 连接监控系统 → 获取错误日志和堆栈信息MCP 连接代码仓库 → 查看相关代码和最近的变更历史Web Search 搜索错误信息 → 查找社区中是否有类似问题的解决方案MCP 连接项目管理工具 → 检查是否有相关的已知问题Agent 综合所有信息 → 生成修复方案并提交 PR整个流程中Agent 像一个经验丰富的 SRESite Reliability Engineer在多个信息源之间穿梭快速定位和解决问题。这种能力不来自于更强的模型而来自于 Harness 层的 Web Search MCP。7、组件五上下文工程——对抗 AI 系统的熵增如果说前四个组件是给 Agent 装上四肢和感官那么上下文工程就是在管理它的大脑如何高效运转。这是 Harness 中最软的一个组件——它不涉及具体的工具或协议而是关于如何构建和维护模型的输入上下文。但恰恰是这个软组件在实践中对 Agent 表现的影响最大。7.1 Context Rot上下文的腐烂在长时间运行的 Agent 会话中一个普遍但很少被讨论的问题是 Context Rot上下文腐烂。随着对话的进行上下文窗口中会积累越来越多的信息——早期的指令、中间的讨论、工具调用的输入输出、错误信息和修复过程……这些信息像沉积物一样不断堆积导致几个严重的问题信噪比下降。 真正重要的信息被大量冗余内容淹没。模型的注意力被分散关键指令的执行质量下降。矛盾信息累积。 早期做出的决定可能已经被推翻但旧信息仍然留在上下文中。模型可能在新旧信息之间摇摆不定产出不一致的结果。Token 浪费。 大量无用的历史信息占据了宝贵的上下文窗口空间留给真正有用信息的空间被压缩。推理质量退化。 研究表明当上下文中充斥大量无关信息时即使相关信息就在上下文中模型的提取和推理能力也会显著下降——这就是所谓的大海捞针Needle in a Haystack问题的实践版。Context Rot 不是一个理论问题它是每一个长时间运行的 Agent 都会遇到的实际挑战。如果你用过 Agent 做复杂任务你一定有过这样的体验一开始 Agent 的表现很好但随着对话变长它开始变笨——遗忘之前的约定重复之前犯过的错误甚至对同一个问题给出前后矛盾的回答。这就是 Context Rot 在起作用。7.2 上下文工程的核心策略对抗 Context Rot 的技术手段统称为上下文工程Context Engineering它包含以下几个关键策略压缩Compression。 定期对历史上下文进行摘要压缩。把冗长的工具调用记录替换为简洁的结果摘要把详细的讨论过程替换为最终结论。这就像是给上下文做垃圾回收。工具输出卸载Tool Output Offloading。 工具调用的输出特别是大段的代码、日志、搜索结果是上下文膨胀的主要来源。上下文工程会把这些输出存储到文件系统中在上下文中只保留摘要和文件引用。需要详细信息时Agent 可以随时重新读取文件。Skills 渐进加载。 不同的任务阶段需要不同的知识和能力。上下文工程会根据当前任务阶段动态加载和卸载相关的 Skill 定义。例如在需求分析阶段加载产品相关知识在编码阶段加载技术栈相关知识避免一次性把所有信息都塞进上下文。分层上下文结构。 把上下文分为核心层System Prompt、关键约束始终保留、“工作层”当前任务相关信息按需更新、“历史层”已完成任务的摘要逐渐压缩。不同层的信息有不同的生命周期和更新策略。7.3 上下文工程是 Harness 的元能力上下文工程有一个特殊的地位——它不是 Harness 的一个独立功能模块而是影响所有其他组件的元能力。文件系统的读写操作需要上下文工程来决定读什么和什么时候读。记忆的注入需要上下文工程来决定注入多少和注入哪些。Web Search 的结果需要上下文工程来决定保留什么和丢弃什么。编排中的子 Agent 通信也依赖上下文工程来构建高效的信息传递格式。可以说Harness 本质上就是好的上下文工程的交付机制。 Harness 的每一个组件归根结底都是在解决同一个问题如何在正确的时间、以正确的方式、把正确的信息送到模型面前。这也是为什么上下文工程这个概念在 2025 年底开始取代Prompt 工程成为 AI 工程领域的核心话题。Prompt 工程关注的是怎么写指令上下文工程关注的是怎么构建模型看到的全部信息——后者的范围大得多影响也深远得多。8、组件六编排 Hooks——让单兵作战变成集团军最后一个组件是编排Orchestration Hooks。如果说前五个组件是在增强单个 Agent 的能力那么这个组件是在把多个 Agent 组织成一个协同作战的系统。8.1 为什么需要编排当任务复杂度超过单个 Agent 的处理能力时你需要把任务分解为多个子任务分配给不同的子 Agent处理然后把结果汇总。这就是编排。编排解决的核心问题包括子 Agent 调度。 哪个子任务应该分配给哪个 Agent它们之间的依赖关系是什么哪些可以并行哪些必须串行任务分发。 如何把一个模糊的大任务拆解为明确的小任务如何确保每个子 Agent 得到足够的上下文来完成它的子任务模型路由。 不是所有的子任务都需要最强也最贵的模型。简单的格式转换可以用小模型复杂的架构设计需要大模型。编排器需要根据任务复杂度选择合适的模型在成本和质量之间取得平衡。结果聚合。 当多个子 Agent 返回结果后如何检查一致性、解决冲突、合并为最终输出8.2 Hooks注入确定性编排解决了谁做什么的问题Hooks 则解决了做得对不对的问题。在软件工程中Hook 是一种在特定事件发生时自动触发的回调机制。在 Agent Harness 中Hooks 的作用类似——在 Agent 行为的关键节点插入确定性检查确保输出符合预期。Hooks 的典型应用场景包括Lint 检查。 Agent 生成代码后自动运行 linter 检查语法和风格是否符合项目规范。不符合的话自动要求 Agent 修复。续接Continuation。 当 Agent 的单次输出因为 token 限制被截断时Hook 自动检测截断并触发续接请求确保输出的完整性。格式约束。 确保 Agent 的输出符合特定的格式要求——JSON Schema 验证、Markdown 结构检查、API 响应格式校验等。安全过滤。 在 Agent 执行敏感操作如文件删除、数据库写入、外部 API 调用前Hook 进行权限检查和安全审计。成本控制。 监控 token 消耗和 API 调用频率在接近预算上限时发出警告或限制。Hooks 的核心价值在于它们用确定性的规则约束了概率性的模型输出。 模型的输出本质上是概率性的——它可能生成正确的代码也可能犯错。Hooks 在模型输出的出口设置了一道关卡用确定性的规则如 lint 规则、格式校验把不合格的输出拦截下来要求重新生成。这种概率性生成 确定性校验的组合模式是当前 Agent 工程中最有效的质量保障策略之一。它既充分利用了模型的创造力和灵活性又通过工程手段兜住了质量底线。8.3 编排模式的演进Agent 编排的方式在过去两年经历了快速演进线性管道Sequential Pipeline。 最简单的编排方式Agent A 的输出直接作为 Agent B 的输入依次传递。适用于步骤明确、依赖关系清晰的任务。DAG 编排Directed Acyclic Graph。 用有向无环图定义任务之间的依赖关系支持并行执行没有依赖关系的任务。比线性管道更灵活高效。动态编排Dynamic Orchestration。 不预定义完整的任务图而是由编排器 Agent 根据上一步的结果动态决定下一步做什么。最灵活但也最难控制质量和成本。层级编排Hierarchical Orchestration。 编排器本身也可以层级嵌套——一个高层编排器管理几个中层编排器每个中层编排器又管理几个执行 Agent。适用于超大规模的复杂任务。选择哪种编排模式取决于任务的复杂度、确定性程度和实时性要求。但无论选择哪种模式Hooks 都是不可或缺的质量保障机制。9、System Prompt贯穿所有组件的神经系统在讨论完六大组件后还有一个贯穿始终的要素值得单独讨论——System Prompt。System Prompt 不是 Harness 的第七个组件但它是贯穿所有六个组件的神经系统。它在 Harness 架构中扮演着四个关键角色9.1 定义角色边界System Prompt 告诉模型你是谁和你不是谁。这不是简单的角色扮演而是在定义 Agent 的能力边界和行为约束。例如你是一个前端开发 Agent专注于 React 生态系统。当用户提出后端相关需求时建议他们使用专门的后端 Agent。这样的定义帮助 Agent 聚焦在自己擅长的领域避免在不擅长的领域产出低质量结果。注入领域知识System Prompt 是零成本知识注入的第一入口。项目背景、技术栈选型、核心业务逻辑——这些信息直接写在 System Prompt 中确保 Agent 从第一轮对话开始就具备必要的领域知识。当然正如前文讨论的System Prompt 的容量有限。当领域知识量超过 System Prompt 能承载的范围时AGENTS.md 就接管了这个职责。两者是互补关系System Prompt 装必须知道的AGENTS.md 装最好知道的。约束安全规则System Prompt 是 Agent 安全策略的第一道防线。哪些操作是允许的哪些是禁止的哪些数据可以读取哪些是敏感的遇到不确定的情况应该怎么处理——这些安全规则通过 System Prompt 直接刻进 Agent 的行为模式。贯穿所有组件System Prompt 的影响范围不限于模型本身它通过定义 Agent 的行为模式间接影响了所有 Harness 组件的工作方式影响文件系统定义文件的组织规范和命名约定影响 Bash 执行限制可执行的命令范围影响记忆写入规定知识记录的格式和标准影响搜索行为设置搜索的优先来源和可信度标准影响上下文管理定义信息的优先级和压缩策略影响编排逻辑规定任务分解的粒度和协作规范在这个意义上写 System Prompt 就是在设计 Harness 的行为规范。一个好的 System Prompt 就像一部好的公司章程——它不直接做任何事但它决定了所有事怎么做。结语你就是 Harness 的一部分让我们回到文章开头的那个公式Agent Model Harness如果你是一名 AI 工程师、产品经理、技术负责人——如果你不是模型本身——那你就是 Harness 的一部分。你写的 System Prompt 是 Harness 的神经系统。你搭建的工具链是 Harness 的四肢。你设计的记忆机制是 Harness 的长期记忆。你优化的上下文策略是 Harness 的注意力管理。你编写的 Hook 规则是 Harness 的质量底线。过去两年行业的聚光灯一直打在模型身上——参数规模、基准分数、推理能力。但真正在生产环境中创造价值的往往不是那个最强的模型而是那个最好的 Harness。模型会继续进步但进步的速度在放缓。与此同时Harness 的工程空间还几乎没有被充分探索。文件系统怎么设计才能最大化 Agent 的效率上下文工程有没有最优的压缩算法编排模式怎样才能在成本和质量之间取得完美平衡记忆机制能否实现真正的终身学习这些问题的答案不在模型的论文里而在 Harness 的工程实践中。模型决定了 Agent 能力的下限Harness 决定了 Agent 能力的上限。下一次当你在调试 Agent 的表现时不要急着换一个更强的模型。先看看你的 Harness文件系统完善吗沙箱安全吗记忆机制在工作吗上下文腐烂了吗编排合理吗Hooks 在兜底吗也许答案就在那里。最后对于正在迷茫择业、想转行提升或是刚入门的程序员、编程小白来说有一个问题几乎人人都在问未来10年什么领域的职业发展潜力最大答案只有一个人工智能尤其是大模型方向当下人工智能行业正处于爆发式增长期其中大模型相关岗位更是供不应求薪资待遇直接拉满——字节跳动作为AI领域的头部玩家给硕士毕业的优质AI人才含大模型相关方向开出的月基础工资高达5万—6万元即便是非“人才计划”的普通应聘者月基础工资也能稳定在4万元左右。再看阿里、腾讯两大互联网大厂非“人才计划”的AI相关岗位应聘者月基础工资也约有3万元远超其他行业同资历岗位的薪资水平对于程序员、小白来说无疑是绝佳的转型和提升赛道。对于想入局大模型、抢占未来10年行业红利的程序员和小白来说现在正是最好的学习时机行业缺口大、大厂需求旺、薪资天花板高只要找准学习方向稳步提升技能就能轻松摆脱“低薪困境”抓住AI时代的职业机遇。如果你还不知道从何开始我自己整理一套全网最全最细的大模型零基础教程我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的大模型学习资源希望能帮到你。扫码免费领取全部内容1、大模型学习路线2、从0到进阶大模型学习视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、 入门必看大模型学习书籍文档.pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里4、AI大模型最新行业报告2026最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5、面试试题/经验【大厂 AI 岗位面经分享107 道】【AI 大模型面试真题102 道】【LLMs 面试真题97 道】6、大模型项目实战配套源码适用人群四阶段学习规划共90天可落地执行第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容3、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多文章