大模型工程三要素:环境、反馈与流程
2026/8/13 4:34:11 网站建设 项目流程

s前言

Harness 决定模型在什么环境中工作,Loop 决定它如何根据反馈持续改进,Graph 决定任务接下来可以流向哪里。最简单的记忆方式是:环境、反馈、流程。

Agent Harness Engineering、Loop Engineering 和 Graph Engineering 经常出现在同一场讨论中。

它们都围绕大模型构建,都可能包含工具调用、状态管理与循环,因此很容易被当成三个近义词。

但当 Agent 离开演示页面,开始读写文件、调用 API、联系客户或修改生产代码时,这种混淆就会导致错误的架构决策。

三者解决的是不同问题:

    Harness:模型凭什么完成工作?Loop:结果不合格后,系统如何继续?Graph:当前状态下,哪个组件可以接着运行?

    更直观地说:

      Harness = 工作环境Loop = 反馈机制Graph = 流程拓扑

      它们相互嵌套,却不能彼此替代。🧭


      一、为什么现在必须区分这三层?

      一个原始语言模型本身不能稳定完成以下工作:

        跨会话保存项目状态;访问文件、数据库和浏览器;调用 Shell 与外部 API;运行测试并读取结果;控制权限、成本与执行时间;在任务失败后恢复;等待人工审批;记录完整执行轨迹。

        这些能力并不来自模型参数,而来自模型外部的工程系统。

        随着 Agent 开始承担长期任务,一套相对清晰的结构逐渐形成:

          Harness 提供上下文、工具、状态和权限Loop 负责执行、检查、反馈和有限重试Graph 组织多步骤、多角色和多分支流程

          实际系统中,Graph 由 Harness 执行,其中部分节点包含 Loop;Harness 则持续为两者提供工具、状态和安全边界。

          区分三层的目的不是创造术语,而是让系统出错时,能够修改真正拥有问题的那一层。🧩


          二、Harness Engineering:为模型建设工作环境

          Agent Harness 是包裹在模型外部的运行系统。

          Agent 不只是一个模型:

            Agent= 模型+ 上下文+ 工具+ 状态+ 执行控制+ 权限+ 可观测性

            两个团队即使采用同一款基础模型,也可能得到完全不同的结果。

            一方提供结构清晰的工具、稳定的工作区、最小权限和可恢复状态;另一方只有模糊提示词与不稳定的 API。模型能力可能接近,工作条件却完全不同。

            当 Agent 出现以下问题时,应优先检查 Harness:

              无法安全访问必要数据;工具参数模糊,频繁调用错误;新会话开始后忘记进度;拥有超出任务需要的权限;环境变化后行为不一致;任务中断后无法恢复;无法追踪它执行过什么。

              长期编码任务尤其依赖 Harness。仅扩大上下文通常不够,还需要初始化说明、进度文件、Git 历史和检查点,让新的上下文知道已经完成什么、接下来要做什么。

              Harness Engineering 关注的不是让模型想得更聪明,而是让它在稳定、受控、可恢复的环境中工作。🏗️


              三、Loop Engineering:设计可验证的反馈循环

              几乎所有能够调用工具的 Agent,内部都有一个基础循环:

                调用模型→ 选择动作→ 执行工具→ 返回结果→ 继续或结束

                Loop Engineering 不只是写一个 while 循环,而是有意识地设计执行后的反馈机制。

                常见循环包括:

                • 验证循环:生成结果、运行测试、根据错误修复;

                • 事件循环:收到定时任务、Webhook 或新文件后启动;

                • 改进循环:分析失败,调整指令或工具,再运行回归测试;

                • 审批循环:准备方案,等待人类反馈后继续;

                • 恢复循环:失败后根据错误类型重试、降级或升级。

                一个完整 Loop 至少要回答七个问题:

                要素

                核心问题

                触发

                什么会启动下一轮?

                目标

                什么状态才算成功?

                状态

                下一轮需要保留什么?

                权限

                Agent 可以修改或调用什么?

                证据

                用什么证明结果正确?

                反馈

                失败后返回什么信息?

                停止

                何时成功、超时或交给人?

                最重要的原则是:

                不要围绕信心循环,要围绕证据循环。

                Prompt 规定模型在一次调用中应该做什么;Loop 则规定回答之后,系统如何观察结果、生成反馈、决定继续还是停止。

                每轮重试都会增加成本和延迟。只有当失败成本高于验证成本时,增加 Loop 才值得。

                好的 Loop 不是让 Agent 一直尝试,而是让每一轮获得新证据,并在明确边界内接近终点。🔄


                四、Graph Engineering:让执行路径显式可控

                Graph Engineering 关注的是:

                当前节点完成后,哪些组件可以继续运行?

                图中的节点可以是:

                  普通代码函数;一次模型调用;专业 Agent;确定性验证器;人工审批步骤;外部服务请求。

                  边则表示允许发生的状态转移,

                  Graph 可以表达顺序、条件分支、并行分发、多路汇合、有限循环、人工中断和异常恢复。

                  设计 Graph 时,需要确定六件事:

                    节点边界:哪些任务交给代码、模型、专业 Agent 或人类?状态结构:每个节点可以读取和修改什么?路由条件:哪些证据让任务前进、返回或升级?并发关系:哪些任务可以并行,哪些资源不能同时修改?循环出口:最多重试几次,什么情况必须停止?持久恢复:在哪些节点保存检查点,中断后从哪里继续?

                    Graph 的价值,是把原本隐藏在临时代码和对话中的分支、并行、审批与恢复路径,变成可以检查的系统结构。

                    Graph Engineering 管理的不是模型如何思考,而是系统允许工作向哪里流动。🕸️


                    五、三层如何组成一个真实系统?

                    假设要构建一个“研究并发布行业简报”的 Agent。

                    Harness 提供能力:

                      搜索和浏览工具;文件工作区;来源数据库;凭据代理;权限控制;运行日志;成本和超时限制;人工审批接口。

                      Graph 定义流程:

                        接收主题并行研究汇总去重事实验证├── 通过 → 撰写简报├── 失败 → 返回研究└── 冲突 → 人工复核发布审批

                        Loop 改进节点结果:

                        研究节点可能反复检索,直到获得足够来源;写作节点可能生成草稿、运行事实检查、接收反馈并有限修订;发布节点则等待人工批准。

                        三层的嵌套关系可以概括为:

                          Harness 承载运行环境└── Graph 组织任务路径└── Loop 在部分节点内反复改进

                          Harness 让系统能够工作,Loop 让结果能够改进,Graph 让复杂流程能够被控制。⚙️


                          六、五种常见的昂贵错误

                          1. 不了解工作就先画巨型 Graph

                          先使用简单 Harness 收集真实运行轨迹,识别稳定路径后,再将其固化为 Graph。

                          2. 让同一个模型既写又评

                          优先使用确定性测试。需要模型评审时,应使用独立上下文;高影响操作仍需人工批准。

                          3. 把“继续尝试”当作 Loop

                          无限重试只是费用泄漏。每个循环都需要目标、证据、最大次数、预算和升级路径。

                          4. 把 Harness 变成工具垃圾场

                          工具过多会增加选择错误,噪声记忆会干扰判断,宽泛权限会扩大事故范围。

                          5. 用 Graph 掩盖 Harness 缺陷

                          流程图无法修复陈旧数据、不可靠工具和缺少权限控制的问题。Graph 只能安排路径,不能替代底层运行质量。

                          架构复杂度应该来自已经观察到的真实需求,而不是来自对“高级 Agent”的想象。🚧


                          七、最合理的建设顺序

                          生产系统可以按照以下顺序演进:

                          • 第一步:建立可靠 Harness

                          • 第二步:为高价值失败增加 Loop

                          • 第三步:将稳定的复杂路径固化为 Graph

                          优先建设 Harness,解决工具、状态、权限、恢复和可观测性。

                          当单次结果经常接近正确,却需要测试和修订才能稳定交付时,再增加 Loop。

                          只有任务出现明确分支、并行工作、多个专家、人工审批和恢复路径时,才值得引入 Graph。

                          上线前至少检查:

                            工具是否职责单一、参数明确?状态能否跨会话保存?权限是否遵循最小化原则?什么证据能够证明成功?最多重试多少次?哪些任务可以并行?哪些资源不能并发修改?人工审批位于哪里?是否监控成本、延迟、失败率和人工介入率?

                            最成熟的架构,不是三层都做到最复杂,而是每一层只承担它真正需要解决的问题。✅


                            结语:环境、反馈、流程

                            记住三者的最简单方式:

                              Harness Engineering:建设工作环境,给模型能力和边界Loop Engineering:设计反馈循环,给执行过程反馈和终点Graph Engineering:控制执行流程,给复杂任务清晰、可检查的路径

                              它们不能互相替代。

                              没有持久状态和安全工具,再漂亮的 Graph 也无法稳定运行;没有外部证据与停止规则,再好的 Harness 也可能让 Agent 不断消耗预算;当分支、并行和审批藏在临时代码里时,再精心设计的 Loop 也会难以调试。

                              下一次 Agent 出现故障时,不要先问“是不是模型不够强”。

                              先问三个更准确的问题:

                              它缺少正确的工作环境吗?
                              它缺少基于证据的反馈循环吗?
                              它的执行路径是否需要显式控制?

                              找到拥有问题的那一层,才是 Agent 工程真正开始的地方。🚀

                              需要专业的网站建设服务?

                              联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

                              立即咨询