DeepSeek Harness 架构拆解(二):概念地图
一场对不上频道的讨论聊 Agent 架构时这几个词总是同时出现ReAct、Agent Loop、Harness、Loop Engineering、Graph Engineering大多数人会下意识地把它们排成一个从小到大的同心圆ReAct 最里面外面套 Agent Loop再外面套 Harness最外面是 Loop Engineering。这个排法是错的。而且错得很隐蔽——它看起来很整齐但会让两个人在讨论架构时一直对不上频道。真正的原因是这些词根本不在同一个分类轴上。它们分别是一个模式、一个程序、一个系统、两个工程方法。你没法把菜谱、厨师、餐厅、管理方法排成大小顺序——它们压根不是同类东西。先看这张表概念它是什么类型一句话ReAct模式推理 → 行动 → 观察再根据观察继续推理Agent Loop程序真正去调模型、执行工具、回填结果、管生命周期的那段代码Harness系统包含 Agent Loop再加上模型、工具、状态、权限、沙箱、存储、界面Loop Engineering工程方法怎么把一个循环设计得可靠触发、目标、验证、重试、预算、停止Graph Engineering工程方法怎么把多个工作单元连成图节点、边、共享状态看清类型这一列混乱就消失了大半。用一家餐厅讲清楚上一篇用公司理解 Harness 的部件这一篇换个更贴切的比喻——餐厅ReAct 菜谱 做这道菜的思路先尝味道再决定加什么 Agent Loop 厨师 按菜谱真正动手的那个人 Harness 整个餐厅 厨房、仓库、门禁、订单系统、前台缺一不可 Loop Eng. 厨师的工作规程 做失败了重做几次谁来验菜超时怎么办 Graph Eng. 后厨的流水线设计 配菜 → 炒制 → 摆盘 → 质检谁接谁失败退回哪一步菜谱比厨师小吗—— 这个问题本身就不成立。它们不是一个维度的东西。ReAct一种工作节奏经典的 ReAct 长这样想得先看看登录代码 做read(login.ts) 看文件里 Token 没有设过期时间 想需要改一下再测 做edit(login.ts) 看改好了 做test 看测试通过 答问题已修复有个容易误会的点现代模型不需要真的输出想/做/看这些标签。在 DeepSeek Harness 里它表现为模型请求 → 结构化的 tool-call → 系统执行 → tool-result → 新的模型请求所以准确的说法是ReAct 风格——描述的是行为结构不代表系统里实现了一套独立的 ReAct 协议层。Agent Loop把节奏跑起来的那段程序它回答的是一个很具体的问题谁负责真正调用模型、收集工具调用、执行工具、决定要不要再问一次模型除了这条主线它还管待办队列、轮次和步骤、流式输出、工具并行与结果顺序、取消和错误收敛、事件边界。DeepSeek Harness 里这个程序的类名就叫ReactLoopAgent——名字本身就说明了它和 ReAct 的关系它是 ReAct 风格的一个实现不是 ReAct 的子模块。Harness让循环能真实、安全、可恢复地跑Harness 回答的是另一个问题要让这个循环在真实世界里跑起来还缺什么缺的东西相当多模型适配器、工具注册表、提示词组装、会话日志、持久化、审批与沙箱、上下文压缩、子 Agent 与工作流、各种入口网页 / 终端 / SDK。厨师会做菜 ≠ 你有一家餐厅。还得有厨房、进货、门禁、订单和前台。唯一严格的包含关系这些概念之间只有一条是严格的软件结构关系Harness ──包含──► Agent Loop一个插件 Agent Loop ──实现──► ReAct 风格 ← 这是采用不是包含 Loop / Graph Engineering ┄┄分析和设计┄┄► 上面这些 不是代码里的模块三条线三种关系别混包含Harness 里真的有 Agent Loop 这个插件可以在插件清单里找到实现Agent Loop 采用了 ReAct 这种行为模式但 ReAct 不是一个能被卸载的服务分析Loop / Graph Engineering 是你用来设计和评价这套系统的思维工具代码里没有同名的东西最后一条特别重要因为它最容易被当成系统里的一层Loop Engineering 和 Graph Engineering 不是运行时抽象是行业讨论和教学用的术语。你在源码里搜不到LoopEngineering这个类因为它本来就不该在那儿。Loop Engineering到底在问什么既然它不是代码那它是什么它是一组你必须回答的设计问题问题在问什么Trigger什么事件触发一次工作Goal目标是什么、怎么保持不跑偏Gate谁来判断真的完成了State跨轮次的进度存在哪Retry失败了退回到哪一步Budget最多几轮、多少 token、多少钱、多长时间Stop什么时候强制停下、或者交给人一句话概括两者分工Agent Loop 解决这一轮里模型下一步做什么。Loop Engineering 解决这一轮结束后要不要再来一轮、谁来验收。用修 Bug 举例最清楚Agent Loop 负责让同一个 Agent 读文件、改代码、跑测试Loop Engineering 负责规定测试必须由独立程序判定、失败最多重启 5 轮、超过 30 分钟就停下报告后面那句是部署者的流程设计不是循环本身自带的保证。这里有个特别值得注意的现实DeepSeek Harness 提供了一些搭外循环的积木连续轮次、子 Agent 轮次、工作流编排、定时触发但这些积木不自动等于一套好的 Loop Engineering。比如有的多轮工具是否完成主要靠执行者自己上报缺少独立评估器和完整的费用/时间预算。积木是系统给的怎么搭是你的事。这也是为什么它叫工程方法而不是功能。Graph Engineering多个单元怎么连如果说 Loop 关注一个单元怎么反复改进Graph 关注的是多个单元怎么连。它只有三个概念概念是什么餐厅里对应Node节点干活的单元配菜工、炒锅、质检员Edge边干完之后去哪配好菜送去炒炒糊了退回重来State状态大家共享的档案订单、当前进度、返工次数、预算关键一点节点不一定是 Agent。它可以是普通函数、自动化测试甚至是人工审批这一步。需求分析 ─┬─► 前端 Agent ─┐ └─► 后端 Agent ─┴─► 合并 ─► 自动测试 ─┬─ 通过 ─► 人工审批 ─► 发布 ▲ │ └── 失败退回 ─┘什么时候用 Loop什么时候画 Graph一个很实用的判断标准情况选什么为什么下一步取决于探索结果单个 Agent Loop比如查一个未知的 Bug——读完才知道下一步查哪画不出图流程能稳定画在白板上Graph比如需求 → 两路实现 → 合并 → 测试 → 审批路线固定图更可控而且大多数真实系统是混着来的外层用 Graph 规定节点之间的路线每个复杂节点内部跑一个 Loop。顺便破一个迷思Graph 不一定比自由发挥的 Agent更先进。稳定、可审计的流程适合画成显式图高度探索性的任务反而应该让 Agent 自己决定下一步。顺带澄清DAG 和那个DCGDAG Directed Acyclic Graph有向无环图箭头有方向且沿箭头走不回原点。一个常见误解是DAG 只能是一条直线——错的DAG 完全可以分支和并行需求 ─┬─► 前端 ─┐ └─► 后端 ─┴─► 合并 ─► 测试 ─► 发布这依然是 DAG。无环限制的是回路不是分支。但 Agent 的工作经常需要回路编码 ──► 测试 ▲ │ └── 失败 ─┘ 通过 ──► 发布这就是一张有环的有向图。这里有个术语上的坑值得提醒DCG不是有向有环图的通用标准缩写。它在不同领域可能指别的东西。想表达图里允许有环最稳妥的说法就是直说允许环的有向图别用未定义的缩写。还有一点有环 ≠ 一定死循环。工程上必须补退出规则——测试通过、达到最大尝试次数、超时、预算耗尽、用户取消、或者转人工。这又绕回 Loop Engineering 了。五个常见误解误解实际ReAct 就是 React.js毫无关系只是名字像Agent Loop 就是整个 HarnessAgent Loop 只是 Harness 里的一个插件Loop / Graph Engineering 是系统里的一层是分析设计方法代码里没有同名模块Graph Engineering 是 Loop Engineering 的下一代不是替代关系关注轴不同可以组合图一定是 DAGAgent 的图经常包含受限的重试环下一篇《DeepSeek Harness 架构拆解三Agent Loop》会钻进那个厨师内部Turn 和 Step 到底怎么划分、待办队列怎么工作、历史是怎么每次重新拼出来的、工具并行执行时结果怎么保证不乱序。

相关新闻

海外媒体发布新闻稿有哪些渠道?4大标杆真实测评

海外媒体发布新闻稿有哪些渠道?4大标杆真实测评

中国品牌出海,正在跑出加速度。海关总署2026年7月14日发布的最新数据显示:上半年中国货物贸易出口14.73万亿元,同比增长13.4%,已连续11个季度保持增长;其中高技术产品出口增长39%,自主品牌出口增长25.4%。产…

2026/8/26 15:57:42 阅读更多 →
Linux基础:目录结构、VIM编辑器与网络配置

Linux基础:目录结构、VIM编辑器与网络配置

Linux基础:目录结构、VIM编辑器与网络配置 前言:本文是“数据库基础”系列的第二篇。上一篇我们完成了 CentOS 7 系统的安装与远程连接配置,成功通过 Electerm 连接上了 Linux。本篇我们将正式进入 Linux 的文件与目录管理,了解 …

2026/8/26 16:07:46 阅读更多 →
麒麟(Kylin)服务器系统网卡地址设置

麒麟(Kylin)服务器系统网卡地址设置

1.系统版本查看cat /etc/.productinfo或者cat /etc/.kylinfo或者cat /etc/kylin-release或cat /etc/os-release2.系统内核查看uname -a3.网卡桌面方式配置4.网卡命令行方式配置默认为dhcp获取方式cat /etc/sysconfig/network-scripts/ifcfg-enp4s0命令行配置vi /etc/sysconfi…

2026/8/26 16:09:34 阅读更多 →

最新新闻

大疆相机(比如 Pocket 3)拍摄时生成的配套文件,一次性讲清楚

大疆相机(比如 Pocket 3)拍摄时生成的配套文件,一次性讲清楚

1. AAC 文件本质:单独的音频文件来源:相机录制时,把声音单独存成一个 .aac 文件,和视频 .MP4 是配对的作用:视频后期剪辑时,可替换、增强或单独处理音频部分录制模式(比如低光 / 特殊帧率&#…

2026/8/26 16:57:06 阅读更多 →
大疆无人机上云,难的从来不是“飞起来”

大疆无人机上云,难的从来不是“飞起来”

很多项目真正卡住的,不是无人机能不能飞。 而是飞起来之后,谁来管?怎么管?出了问题,能不能第一时间控住? 现场常见的一幕是这样的: 任务临时下发,巡检人员已经到位,指挥中…

2026/8/26 16:57:06 阅读更多 →
计算机毕业设计之烘培美食线上订购系统

计算机毕业设计之烘培美食线上订购系统

烘培美食线上订购系统是一个基于Spring Boot框架、采用Java作为后端开发语言、Vue.js作为前端技术栈、以及MySQL作为数据库存储的B/S架构的综合性在线服务平台。该系统旨在为用户提供便捷、高效的烘培食品在线订购体验,同时也为烘培商家提供一个展示和销售自家产品的…

2026/8/26 16:57:06 阅读更多 →
【CanMV K210】系统环境 IDE 连接开发板与串口通信

【CanMV K210】系统环境 IDE 连接开发板与串口通信

CanMV IDE 是 CanMV K210 硬件编程的主工作台,负责代码编辑、开发板连接、程序运行和串口信息查看。正式进入硬件实验前,需要先打通 IDE 与开发板之间的通信链路。 很多 K210 实验失败,并不是硬件模块或代码本身有问题,而是 IDE 没…

2026/8/26 16:57:06 阅读更多 →
【CanMV K210】系统环境 REPL 交互调试与 Python 命令执行

【CanMV K210】系统环境 REPL 交互调试与 Python 命令执行

REPL 是 CanMV K210 调试中非常重要的交互窗口。进入 REPL 后,可以直接输入 Python 命令,查看变量、测试模块、执行简单代码,并快速判断开发板、固件和串口通信是否正常。 硬件实验不应该只依赖完整程序运行结果。通过 REPL,可以在…

2026/8/26 16:57:06 阅读更多 →
Oracle一致性读(Consistent Read)深度解析:ORA-1555不是Bug,是Oracle的“安全阀“

Oracle一致性读(Consistent Read)深度解析:ORA-1555不是Bug,是Oracle的“安全阀“

前言先说一个被误解了很多年的报错:ORA-1555 snapshot too old。几乎每个 DBA 都被它咬过,也几乎每个人第一反应都是"这破玩意是不是 bug"。我的看法正好相反:ORA-1555 不是 bug,它是 Oracle 的一致性读机制给你守的底线…

2026/8/26 16:56:05 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →