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

推荐订阅源

博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
aimingoo的专栏
aimingoo的专栏
腾讯CDC
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
F
Fortinet All Blogs
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
Engineering at Meta
Engineering at Meta
博客园_首页
B
Blog RSS Feed
D
Docker
M
MIT News - Artificial intelligence
爱范儿
爱范儿
I
InfoQ

博客园 - 张善友

RedNb.Nacos 2.0.0 正式发布:.NET 接入 Nacos 3.2.4,AI Registry 全能力落地 Rust 成为微软一线语言之后:谈谈 C# 与 Rust 的互补性 .NET 异常处理的"暗门":代码里写满 catch,你依然能抓住它——从一个 AI Agent 运行时的源码说起 写给 C++ 工程师的 OpenClaw.NET 上手指南:用你熟悉的 C++ 思维,跑起一个生产级 AI Agent .NET 11 RC1 发布:拿到"准生证",生产环境可以上了! 写给 PHP 工程师的 OpenClaw.NET 上手指南:用你熟悉的 PHP 思维,跑起一个生产级 AI Agent 写给 Rust 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Rust 思维,跑起一个生产级 AI Agent 从对标 Java 到对标 Go:Native AOT 的"无痛化"之路,走到哪一站了? NuGet 半年度总结:周下载量从 54 亿到 67 亿,.NET 生态的"新一轮增长期"实锤了 写给 Java 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Spring 思维,跑起一个生产级 AI Agent 写给 TypeScript 工程师的 OpenClaw.NET 上手指南:用你熟悉的 TS 思维,跑起一个生产级 AI Agent 写给 Python 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Python 思维,跑起一个生产级 AI Agent 写给 Golang 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Go 思维,跑起一个生产级 AI Agent MetaSkill 落地 .NET:当 Agent 从「调用工具」进化到「组织工具」 都是 AI 写代码,为什么 C# 比 Java 快半拍 MHS 三部曲(下):谁允许 AI 行动?——权力、合规与中国厂商的答卷 MHS 三部曲(中):8 小时集成、六种被拦截的故障,和一次教科书级的翻车 TensorSharp 3.3.0.0 发布,视频生成、DFlash2 投机解码、安全加固一起来了 MHS 三部曲(上):别急着叫它「物理 MCP」——Anthropic 到底发布了什么 编程语言的「第三条道路」上,走得最远的其实是 C# 纯 .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 编程实践深度探索
弱模型不能裸奔:Agent Harness 凭什么真实有效
张善友 · 2026-09-01 · via 博客园 - 张善友

75329688-E342-4567-8DE4-26C4DC182179

一个越来越常见的念头

模型分层定价之后,很多人动过同一个心思:既然 Flash 级模型这么便宜,干脆全用它跑 Agent 得了。

算账确实诱人。但裸用弱模型干活,出来的东西隐患巨大——这不是体感,是结构性的问题。而那张流传很广的 Harness 工作环图,恰好把解法画清楚了:commodity 模型扛起整条弧,frontier 模型只在它值回票价的地方出手,全程大约能省下 75% 的 frontier 用量

关键在于,这个"省"字背后站着一整套防护和验证机制。没有它们,省钱就是省出了事故。

隐患不在"错",在"错得自信且连贯"

弱模型真正可怕的地方,不是它会犯错——强模型也会——而是它的错误分布不可预测

它不会在你预期的地方犯错,而是以一种流畅、完整、看起来非常合理的方式犯错。代码能跑但逻辑是歪的,文档通顺但结论是假的。裸用它,等于把全部验证成本推给下游、推给用户、推给生产环境。

Harness 的本质,就是把这个成本内化:critique 阶段、commit 门禁,都是在把"默认信任"改成"默认怀疑"。模型可以犯错,但错误过不了门禁。

Critique 的有效性,取决于校验器,而不是另一个模型

这是那张图最容易被误读的地方。

让同一个 Flash 模型既当 worker 又当 critic,收益很有限——同源错误很难自我检出。一个觉得某种写法没问题的模型,换个身份再看一遍,大概率还是觉得没问题。

真正有效的 critique,锚点是非模型的东西:

  • 可执行的验证:测试、类型检查、编译、lint——跑不过就是跑不过,没有辩论空间;
  • 结构约束:schema 校验、JSON-LD 的 framing / slicing 这种形状约束——输出的"形状"先被框死;
  • 领域不变量:这是 DDD 能进场的地方。聚合的不变条件、领域事件的合法性,都可以形式化成机器可检查的契约。

换句话说:领域建模做得越硬,harness 的 critique 阶段就越便宜、越可靠。 模型负责生成候选,本体和不变量负责枪毙候选。生成的归模型,审判的归工程。

"-75% frontier usage" 的真正含义

这个数字不是"省了 75% 的钱"这么简单,它承认了一个很多人不愿承认的事实:Agent 工作流里的大多数 token 消耗,是平庸劳动。

真正决策密度高的,只有几个点:

  • 规划与拆解——方向错了,后面全是白干;
  • 首个任务的冷启动——没有上下文时最考验判断力;
  • 最终 promote 的交接——这一步决定东西能不能出门。

这些值得 frontier 模型。而中间大段的执行、填充、格式化,是 commodity 劳动——用便宜模型加一道门禁,完全够格。

这不就是那条弧的含义:commodity floor 承担维护和简单任务,frontier 只覆盖规划期、首个任务和交接瞬间。

一个不能回避的边界

但也要泼一盆冷水:harness 有补偿极限。

如果底层模型连"被约束后的输出空间"都够不到——比如需要长链推理的任务,弱模型在中间步骤就漂移了——那么再多 critique 也只是反复枪毙、反复重来。延迟和 token 成本反而爆炸,还不如一开始就用强模型。

所以 harness 里最难、也最值得精细设计的,是 routing 逻辑本身:什么任务升级、什么任务留在 commodity floor。

这件事同样可以建模:把工作流画成一张技能 DAG,每个节点声明自己的能力需求,路由按标注调度。DAG 就是那条弧,调度策略就是 frontier 的使用纪律。

结语:模型可以换,纪律沉淀下来

Harness 不是给弱模型贴的创可贴。

它是把工程纪律——验证、门禁、不变量、路由——变成架构里一等公民的方式。模型每半年换一代,今天省钱的 Flash 明天可能就过时了,但那套"默认怀疑、机器校验、按决策密度调度"的流程会留下来,并且越跑越值钱。

弱模型不能裸奔。给它穿上 harness,便宜才真正是便宜。