免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

DeepSeek Harness被谷歌盯上:Agent下一战场,开始从模型转向系统

发布日期:2026-08-18 14:41:00 浏览次数: 1705
作者:DataFunTalk

微信搜一搜,关注“DataFunTalk”

推荐语

DeepSeek Harness开源后引谷歌关注,Agent战场从模型转向系统设计,5大关键模式解析可追溯治理之道。
核心内容:
1. 日志作为事实源:Session事件流设计确保可追溯
2. 治理与安全保障:Agent卡住提醒、代码编排治理等机制
3. 长期任务与状态管理:模型查看完整性、Workspace留长期状态

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

导读 DeepSeek Harness开源之后,一个很容易出现的判断是:这不过是DeepSeek自己做的一套Coding Agent框架。但真正把代码和文档拆开看,会发现它想解决的问题远不止一个Agent Loop。DeepSeek把Model、Tools、Skills、Sessions、Sandboxes、Storage、Loops、Scheduling和UI都放进插件体系,并用“Everything is a plugin”和“Every run is traceable”概括这套架构。Google Cloud Senior AI Product Manager Shubham Saboo随后对这套Harness进行了拆解,提炼出5个值得Agent开发者关注的设计模式。需要说明的是,Shubham的公开身份是Google Cloud高级AI产品经理,并非“谷歌工程师”;这篇文章属于个人技术观察,而不是Google官方评价。

主要内容包括以下几个部分:

1. 让日志成为事实源

2. Agent卡住时,先提醒它

3. 让模型知道自己没看全

4. 代码编排不能绕过治理

5. 长期状态留给Workspace



这5个模式分别落在Session、Guard、工具输出、Code Mode和长期任务编排,但共同指向一个问题:当Agent开始真正读文件、跑命令、调用工具并跨轮执行时,Harness怎样把可追溯、可纠偏、可治理和可延续变成系统能力。
01

让日志成为事实源

第一个设计看起来只是日志,实际上关系到Agent能不能真正被复现。很多Agent系统同时维护两套状态:一套是模型真正接收到的Context,另一套是系统事后记录的Log。任务一长,只要中间发生Context Compaction、Tool Result裁剪、System Prompt注入、Session Resume或插件动态加入上下文,两套状态就可能逐渐偏离。最后你可以知道Agent调用了哪个工具,却未必能准确回答:它做出这个决定时究竟看到了什么。DeepSeek Harness把这层关系反了过来:Session本身是一份append-only事件日志,官方dsh-session文档把它定义为Agent交互历史的source of truth,而LLM看到的Message History则通过deriveMessages()从事件流的模型可见投影中派生。

这样一来,Log不再只是Agent运行后的“录像”,而成为状态基础设施。System Prompt、Reasoning、Tool Call和Tool Result、Sub-agent Scheduling、Context Injection等模型可见信息进入同一条Session Event Stream,Resume、Fork、Search和Replay也围绕这条事件流工作。Context不再是另一套需要同步的状态,而是Log的一种模型视图。Agent出错时,系统因此不仅能追踪“它做了什么”,也更接近还原“它为什么会这样判断”。

02

Agent卡住时,先提醒它

第二个设计解决的是Agent常见的“原地打转”。搜索没有结果就用相同参数再搜,命令失败后继续执行同一条命令,工具没有带来新信息却反复调用。最简单的Guardrail可以规定“重复三次就禁止”,但DeepSeek Harness没有这样做。它提供repeat-tool-reminder插件,官方把它定义为advisory loop-breaker:插件不会出现在模型的Tool List里,也不会直接veto或改写工具调用,只观察“同一个工具+相同规范化参数”的连续调用,并在默认3、5、8次阈值上向模型注入逐级增强的提醒。

重复并不天然等于错误:网络请求可能需要重试,异步任务可能需要轮询,外部环境也可能在两次调用之间变化。因此DeepSeek没有直接替模型做决定,而是补给它一层Meta Observation。普通Tool Result只能告诉模型“刚才发生了什么”,Repeat Reminder则告诉它“你已经用完全相同的方法做了很多次”。系统负责暴露这种跨步骤行为模式,是否换参数、换路线或继续执行,仍由模型判断。

03

让模型知道自己没看全

第三个设计解决的是信息边界。Agent经常不是因为推理能力不够而犯错,而是因为系统给了它一份经过加工的信息,却没有告诉它信息被加工过。比如一次搜索实际找到几千条结果,为了控制Context只展示前100条,如果Tool Result只是安静地返回这100条,模型很容易把“我看到的全部”误认为“全部存在”。DeepSeek Harness的Output Retention因此明确区分:因为Context Budget没有全部展示,和上游数据本身就不完整,是两件不同的事。官方规定truncated只表示原本可获得的信息因为预算限制没有全部进入模型视图,Permission Failure、Provider Partial Failure、不可读文件或跳过二进制文件等异常不能被折叠进truncated。

这实际上是在给模型补充“认知边界”。搜索工具可以只把有限结果作为Preview交给模型,同时继续保留完整结果供后续读取,并准确说明有多少内容被省略;Shell操作如果因为Sandbox Policy被拒绝,也要明确告诉模型这是policy denial,而不是命令本身写错了。工具返回的不应该只有Data,还应该包含结果的完整性、失败性质和恢复路径。模型可以不知道某些信息,但不能在系统明知信息不完整时,还让它误以为自己已经看全。

04

代码编排不能绕过治理

第四个设计发生在Code Mode。传统Tool Calling往往是“模型调用工具A—拿结果—再次请求模型—调用工具B”,任务链越长,模型和工具之间的往返越多,中间结果也会持续进入Context。DeepSeek Harness的Code Mode允许模型通过run_code生成一段TypeScript,在程序里用系统生成的SDK组合多个agent-visible tools,把多轮工具编排压缩到一次代码执行中。效率提高之后,一个关键问题随之出现:如果模型能在一段程序里完成搜索、读文件、修改文件和执行Shell,会不会绕过原有权限系统?

DeepSeek的实现重点就在这里。Code Mode内部真正发生的子工具调用仍会重新进入Tool Registry的执行路径,通过nested executions形成独立的sub-dispatch并留下记录。也就是说,上层可以让模型用代码更灵活地编排动作,但真正对外部世界产生副作用的底层工具调用不能因为被包进run_code就失去治理边界。Agent自主性越高,底层的授权、Sandbox、Policy、Logging和Audit越需要保持稳定。

05

长期状态留给Workspace

第五个设计是Shubham原文里最有传播力的一句话:“Kill the context, keep the workspace。”但它并不意味着DeepSeek Harness默认让所有长任务定期清空上下文,而是对应一个具体的Ralph fresh-agent workflow。Ralph是独立的Workflow Plugin,没有被硬编码进默认agent-loop。它把长期Objective拆成多个Round,每一轮启动新的Child Agent;新的Agent不继承父会话或上一轮Child的完整Conversation History,而只拿到不变的Objective、当前Round、共享Workspace以及上一轮的结构化Handoff。Handoff包含status、summary、evidence、next steps和blocker,并有明确长度上限。

这套设计真正重要的不是“清空Context”,而是重新定义长期Agent应该持久化什么。DeepSeek文档把Workspace视为跨Round的long-term memory:代码已经写进文件,就没有必要让下一轮继续携带写代码之前的所有讨论;测试结果已经产生,真正重要的是测试输出和当前代码状态,而不是生成这些结果之前的几十轮推理。于是Context更像“当前Agent此刻正在想什么”,Workspace更像“这个任务世界里已经真实发生了什么”。长期任务的核心问题也从“怎样让同一个模型记住越来越多历史”,转向“怎样让一个新的Agent根据共享工作状态和有限交接继续完成任务”。Ralph目前仍有边界,例如完成状态由worker自报,并非独立Evaluator认证,因此更适合被理解为一种可替换的编排策略,而不是长期Agent的最终答案。

06

结语:Harness正在变成Agent Runtime

把这5个设计放在一起,可以看到一条共同原则:让系统负责维护事实、边界和运行状态,让模型在这些事实之上做判断。Session Log让过去可还原,Repeat Reminder暴露重复行为,Output Retention说明信息边界,Code Mode把灵活编排和底层治理拆开,Workspace则让任务状态在上下文结束后继续存在。

如果用一句话概括:模型负责产生智能,Harness开始负责维护模型所在的“世界”。同一个模型放进不同Harness,看到的上下文、工具反馈方式、失败语义、权限机制和长期状态管理都可能不同,最终表现出来的已经是不同的Agent系统。DeepSeek目前仍把Harness标记为Developer Preview,核心插件和API还在快速演进,因此现在就把它定义成成熟统一平台还太早;但趋势已经很清楚——过去被视为Session、Context、Tool Wrapper、Guardrail、Permission、Sandbox和Workflow的一整层“外围工程”,正在成为Agent真正的运行系统。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅