惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
量子位
D
DataBreaches.Net
博客园 - 司徒正美
J
Java Code Geeks
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
B
Blog
The Cloudflare Blog
D
Docker
I
InfoQ
爱范儿
爱范儿
MongoDB | Blog
MongoDB | Blog
腾讯CDC
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
S
SegmentFault 最新的问题
GbyAI
GbyAI
有赞技术团队
有赞技术团队

博客园 - 张善友

纯 .NET 手写 CUDA kernel,GLM-5.3-Flash decode 跑出 llama.cpp 的 2 倍 3 张卡到底能不能跑大模型推理?从 vLLM、llama.cpp 到 TensorSharp 的多卡真相 AI 编程时代,.NET 的机会在哪里? Vibe Coding 月提交量 29 亿次之后:GitHub 的危机、Azure 迁移,以及 .NET 的机会 从 PostgreSQL 到 Kubernetes:开源的护城河,从来不写在代码里 人工智能最先替代的,是人工智能学院自己 企业架构的六种场景:从"四大流派"到数字原生与 AI 原生 TensorSharp 最新进展研究报告:从 DeepSeek V4 Flash 到 GLM-5.2,以及等待中的 GLM-5.3 Google 官方下场安利:Go 是 AI 时代的"理想语言"?其实 C# 更有资格坐这个位置 当"入门第一课"的作者开始 Vibe Coding:廖雪峰 2026 上半年 AI 编程实践深度探索 JVMGuard 来了,.NET 开发者别慌:你的 dotnet-monitor 早就准备好了 .NET 11 Preview 7 发布:一大波硬核更新来袭,离正式版又近了一步! Agent 系统的不确定性治理:当软件工程遭遇"梯度下降" WorkBuddy 专家团的下一步:用 MetaSkill 把「提示词约定」升级为「运行时硬约束」 改变世界的17个方程,如何重塑 GoodCrew 的架构哲学 修 Bug 的手艺与架构的艺术:从熵增到熵减 "从"前锋"到"中场":为什么 Agent 基础设施的建设者必须是系统思考者" 纯 C# 追平 llama.cpp?.NET 本地推理三国杀 MCP 第五版 × OpenClaw.NET:从协议升级到生态编排 把 284B 的 DeepSeek V4 Flash 装进纯 .NET:TensorSharp 用一天改写了 .NET 推理栈的位置 从DDD到Ontology:当数字员工不再认"限界上下文"这堵墙 从 Harness 引擎到 MetaSkill DAG 的确定性架构 25家巨头联名的那封公开信,为什么数字员工架构师应该逐字读一遍 AI + C# NativeAOT:破解应用开发的"最后一公里" 本体:AI落地的"企业翻译官" C# MCP SDK 2.0 即将发布:去会话化、去握手、去运维噩梦 数字员工的成本账:OpenClaw.NET 如何用工程化实现"成功任务的单位经济学"(下) AI 成本战的隐性成本与降本五层:从"成功率悖论"到"系统复杂度"(中) 从 Token 价格战到成功任务单位经济学:AI 成本战的真正主线(上) MCP + A2A 融合:协议层已就绪,信任层才是硬仗
两种 Harness 哲学:从 DeepSeek Harness 的"过度抽象"争议,...
张善友 · 2026-08-15 · via 博客园 - 张善友

1

DeepSeek Harness 发布后在开发者社区引发了不小的争议,有资深开发者直言其设计"烂"。但事情可能没有这么简单。本文借一篇深度分析文章的透镜,对比 DeepSeek Harness 与 .NET 生态的 OpenClaw.NET,聊聊 Agent Harness 设计的两条路线。

一、DeepSeek Harness 的设计到底"怪"在哪

DeepSeek Harness 的核心是 Cordis 内核,主张"一切皆插件 + 插件动态装卸"。Agent Loop、Memory 这些性质完全不同的组件,全部被压平为可以随意装载、替换、卸载的插件。

这个设计在应用开发者看来很别扭,原因有三:

  • 它不是 To C 的:普通用户不需要 Claude Code 那样的体验之外还关心插件热插拔。
  • 它不是 To Dev 的:开发者更新插件重启载入即可,根本不需要"卸载插件"这种能力;Skill 动态加载已经满足了大半需求。
  • 它也不是 To B 的:企业交付场景不关心这种运行时动态性。

而且它犯了软件工程史上的经典错误——过度抽象。就像"一切皆文件"在今天看来应该表述为"一切皆 Handle + Trait",磁盘文件和 Socket 不该被当作只是属性略有差别的同类;Agent Loop 和 Memory 也不该被当作同等的插件。历史上追求理论优美的设计,落地时往往要么削足适履,要么对接环节的成本超过了抽象本身的价值。

二、一个出人意料的解读:它是 To LLM 的

公众号"孔某人的低维认知"的一篇文章给出了两个解读角度。

第一是历史路径依赖。 Cordis 作者 Shigma(Yifan Shi)早年做聊天机器人框架 Koishi,动态装卸插件正是其基因,2023 年重构为 Cordis,2024 年进入 DeepSeek-V3 技术报告作者名单。而 Harness 团队负责人崔添翼在 Jane Street 做了九年量化,又创业做过量化公司——量化交易系统恰好也偏爱动态插件架构。两条路径在 DeepSeek 汇合,做出这样的设计并不奇怪。

第二是逆向 RL 推导:这个设计是 To LLM 自己的。 如果目标是让 Agent 在执行或 RL post-train 过程中自主优化自己的 Harness,那么"灵活性、一切皆可被修改、可以被彻底卸载"就突然合理了。需要"卸载插件"这个能力,恰恰是最好的分析切入点——只有模型要亲手改造自己的运行环境时,卸载才是刚需。目前这个功能被标记为 deliberate opt-in,也印证了它偏自用研究场景、顺便开源的定位。

三、OpenClaw.NET:同一个问题,时间轴另一端的答案

OpenClaw.NET 是 .NET 生态的 Agent 运行时与网关(NativeAOT 友好,自托管,兼容 OpenClaw 的 TS/JS 插件与 SKILL.md 生态)。它和 DeepSeek Harness 面对同一个问题——"Agent 与它的 Harness 之间应该是什么关系"——但给出了几乎相反的答案。

1. 动态性:内核原语 vs 边界隔离

Cordis 让动态性渗透整个内核。OpenClaw.NET 则把能力分成四条通道:Core / Optional / Experimental / JIT-only——动态插件(channels、commands、hooks、providers、原生 .NET 插件)被明确划进 JIT-only 通道,核心运行时保持 NativeAOT 友好、静态可裁剪。

这正好规避了对 DeepSeek Harness 的批评:类型信息留在类型层面,不降级为运行时属性。动态性被承认,但被隔离在边界上。

2. Harness 自演化:模型直改 vs 治理流水线

这是两者最深层的分歧:

  • DeepSeek Harness 赌的是模型即将有能力安全地修改自己的 Harness,所以把"可修改性"做成内核原语。
  • OpenClaw.NET 假设模型暂时没这个能力,于是把自演化做成一条"审查优先"的治理流水线
    • Passive Harness Contracts / Evidence Bundles:Agent 的工作计划、证据、风险全程可检查,但不干预默认行为;
    • Plan-Execute-Verify:高风险工具执行的受治理通道;
    • Harness Evolution Proposals:Agent 可以提议改进自己的 Harness 策略、路由、记忆检索、工具治理,但落地要过人审;
    • Harness Regression Suite(openclaw harness test):任何 harness 变更在获得信任之前,先过离线回归测试。

一句话:DeepSeek Harness 是"未来模型能力下 To LLM 的赌注",OpenClaw.NET 是"当前模型能力下 To Dev 的务实形态"。

3. 可检查性:黑盒插件 vs 结构化投影

还有一个常被忽视的差异。Cordis 的插件是可热替换的黑盒单元;而 OpenClaw.NET 的 Shared Harness State(参与方、动作、读写集、假设、验证义务、证据链接、冲突)加上 Codebase Harness Map(仓库的静态结构投影),实际上把 Agent 的工作流投影成了可检查的 DAG 结构——动作与读写集是节点,依赖与验证义务是边。

这很关键:一切治理、回归测试、人机协作的前提都是结构可观察,而不是可热插拔。从这个角度看,"被动可检查"(Passive-first)反而比"内核可替换"更接近 Agent 自演化真正需要的基础设施。

四、结语

DeepSeek Harness 的"怪设计"未必是烂设计——它只是不是为你我设计的,而是为模型自我迭代的未来准备的。OpenClaw.NET 则证明了同一条演化路线可以用另一种方式走:不让模型直接改 Harness,而是让模型提议、留证、过回归、经人审。

两条路线谁对谁错,取决于一个尚未有答案的问题:模型什么时候才配得上修改自己的 Harness?在那一天到来之前,把动态性隔离在边界、把演化关进治理流水线,也许才是对开发者和运维者真正负责任的设计。


本文基于"孔某人的低维认知"《DeepSeek Harness是服务于Agent自主优化Harness的,不是To C/Dev的原创》一文及 OpenClaw.NET 开源仓库整理分析。