当模型足够强之后,我们为什么还要重写 Harness?

模型能力已经足够强大,真正拖后腿的是稳定性——它跑偏、误判完成、在你不注意的地方悄悄变形。 引言:一个让人警觉的数字 同一个模型,提示词不变,数据不变,只是换一套运行方式,编程基准成绩就能从 42% 跳到 78%。 Anthropic 的例子更直观:同一个模型,单打独斗时看起来像是做完了,真跑起来核心功能却是坏的;换一套带规划、生成、验收的运行框架,成本高了,时间长了,结果反而能用。 这提醒我们:AI 工程的重心,正在从"让模型更会回答",转向"让系统更稳地交付结果"。 第一部分:Harness 不是"壳",是控制系统 很多人第一次听到 Harness,会本能地把它理解成"模型外面那层包装"。这个理解不够。 模型自己不会: 保存状态 维护工作目录 判断输出是否满足系统约束 知道什么时候该停、该继续、该回滚 自己搭测试环境 写完后自觉打开浏览器验证 决定这次提交能不能合并 Harness 不是给模型套上的外壳,而是把模型接进工程世界的那层控制系统。 它包括: 状态怎么保存 工具怎么暴露 权限怎么约束 输出怎么验证 上下文怎么管理 任务怎么续跑 什么叫"真的完成了" 这些东西并不花哨,甚至很多都不新鲜——文件系统、测试、日志、浏览器、Lint、计划文件,原本就是软件工程里再普通不过的东西。 但一旦主角从人类工程师换成模型,它们突然重新变成了核心。 因为模型最擅长的是生成,最不擅长的是在约束里稳定收敛。 第二部分:三篇文章的共同指向 2.1 Skills:把隐性知识变成显性协议 Skill 要解决的是提示词漂移、方法失传、工作流无法复用这些问题。本质上,是把原本靠聊天临场发挥的东西,搬进文件系统和版本控制。 2.2 Claude Code 实战:架构决策注入执行流程 Boris 那套 Research -> Plan -> 批注 -> Implement 流程最值钱的地方,在于它把"架构决策怎么进入执行流程"这件事做成了机制。 2.3 OpenClaw 架构:可控、可回放、可解释 lane queue、allowlist、JSONL 回放、语义快照——这些都在回答:系统怎么保持可控、可回放、可解释。 三篇文章,分开看像三个不同话题。放在一起,其实都在做一件事:把原本靠模型临场发挥的部分,改造成可沉淀、可约束、可验证的系统。 第三部分:三篇放在一起,都在做一件事 真正变化快的,往往不是那个最小执行循环,而是循环外面不断加厚的那层工程设施: 知识怎么挂进去 状态怎么存下来 权限怎么卡住 验收怎么接回来 也正因为如此,这一轮大家聊 Harness,越来越像在聊系统设计,而不是某个单点技巧。 第四部分:为什么 Harness 现在变得重要 4.1 能力问题 vs 稳定性问题 Prompt Engineering:怎么把一句话说清楚,让模型按你的意思回答 Context Engineering:什么信息应该放进来,什么不该放进来 Harness Engineering:模型能理解需求,但在复杂系统里,能不能把事情从头到尾做稳? AI 工程开始从能力问题,转向可靠性问题。 ...

March 29, 2026 · 1 min · Tars

模型越来越强,为什么大家却开始重写 Harness

太长不看版 如果把《跟Cloudflare大佬学用 Claude Code》《Skills 详解》《深度拆解 Clawdbot(OpenClaw)架构与实现》放在一起看,会发现它们其实都在补模型外面的系统层 Harness 可以粗略理解成"把模型接进真实工作流的控制系统",里面不只有工具,还有状态、约束、反馈和验收 它现在变重要,原因很直接:模型一旦开始真正动手,系统层问题暴露得比能力问题更快 具体做法会随着模型迭代不断变化,但知识沉淀、硬约束、反馈回路、完成标准这些问题不会自己消失 如果现在准备补 Harness,我会更建议先补统一知识入口、硬约束和验证闭环,再谈多 Agent 和复杂编排 先别把 Harness 当成一层"壳" 很多人第一次听到 Harness,会本能地把它理解成"模型外面那层包装"。这个理解不算错,但也不够。 如果只是为了做一个短对话应用,你确实可以把它理解成包装层。一个聊天窗口,加一个消息循环,再加几个工具,差不多也能跑起来。但一旦任务开始变长,事情就不是"包一层"这么简单了。 模型自己不会保存状态,不会主动维护工作目录,不会判断某次输出是不是已经满足了系统约束,也不会天然知道什么时候该停、什么时候该继续、什么时候该回滚。它当然也不会自己给自己搭测试环境,更不会在写完之后自觉打开浏览器、点一遍页面、看一眼日志,再决定这次提交到底能不能合并。 所以我现在更愿意把 Harness 理解成另一种东西:它不是给模型套上的外壳,而是把模型接进工程世界的那层控制系统。 这里面通常包括几类东西: 状态怎么保存 工具怎么暴露 权限怎么约束 输出怎么验证 上下文怎么管理 任务怎么续跑 什么叫"真的完成了" 把这几样拆开看,你会发现它们并不花哨,甚至很多都不新鲜。文件系统、测试、日志、浏览器、Lint、计划文件、审批机制,这些原本就是软件工程里再普通不过的东西。 但一旦主角从人类工程师换成模型,它们突然重新变成了核心。 因为模型最擅长的是生成,最不擅长的是在约束里稳定收敛。 为什么它偏偏现在火了 如果把时间往前拨两年,你会发现那时候大家最关心的是 Prompt Engineering。核心问题是:怎么把一句话说清楚,让模型按你的意思回答。 后来上下文变长了,任务变复杂了,大家开始聊 Context Engineering。问题也跟着变了,不再是"这一句怎么写",而是"什么信息应该放进来,什么不该放进来"。 再往后走,就到了今天这个阶段。 Prompt Engineering 和 Context Engineering 当然没有过时。更准确地说,它们被包进了一个更大的问题里。 现在更让人头疼的问题变了:模型能理解需求,但在一个复杂系统里,它能不能把事情从头到尾做稳? 这也是为什么最近围绕 Harness 的材料,明显都带着一种很强的"实战味"。 Mitchell Hashimoto 提出 Engineer the Harness,出发点很具体:每当 Agent 犯了一个错误,就别只盯着这次对话修修补补,把修复方式沉淀进系统,让它下次别再犯 OpenAI 的 Codex 团队讲得更直接。他们从零开始跑出一个大规模代码库之后,最后得出的重点,落在三件事上:仓库怎么成为统一知识入口,架构边界怎么机械执行,PR 怎么通过 Lint 和测试去卡住错误方向 Anthropic 的材料也很典型。里面有一个很朴素的发现,我一直记得:模型并不擅长评价自己的工作 这句话看起来平淡,其实分量很重。因为它把很多人真实碰到的问题说穿了。页面看起来像是做完了,交互其实没通。功能大体对了,边界条件一跑就露馅。代码能过一部分测试,但系统层面已经悄悄偏离了原本的设计。 ...

March 29, 2026 · 2 min · Tars

AI概念全景图:从Prompt到OpenClaw,9个核心概念一次搞懂

引言:为什么你学了那么多AI概念,还是串不起来? 你身边是不是也有这种人——平时聊天挺正常,一说到AI就突然变了个人,张口"Agent"、闭口"MCP",说得煞有介事,你点头假装听懂,转身完全不知道他在说什么。 更难受的是,今天冒出个"Skill体系",明天又在说"多智能体协作",后天群里炸了锅全在讨论OpenClaw和Claude Code谁更强。 问题不是你不够聪明。问题是这些概念从来没有人把它们放在一起,告诉你它们之间到底是什么关系。 今天就用一个「开公司」的比喻,把这9个概念串成一条流水线。 核心结论:这不是9个新技术,是同一条流水线上的9个零件 层级 概念 公司角色 一句话解释 地基 大模型 + Token 封闭的天才 懂很多但不会动手,Token是燃料 沉淀层 Prompt → Skill 口头指令 → 固化能力 从"每次说"到"说一次永久会" 接口层 MCP USB-C标准 让AI能连外部工具 执行层 Agent 真正干活的员工 大模型+Skill+MCP+记忆+规划 协作层 多智能体 项目团队 分工协作,并行提速 调度层 OpenClaw ERP+项目管理 总调度,把所有零件跑起来 特化层 Claude Code 代码特种兵 专精开发的Agent 第一层:大模型和Token——地基打好了才能往上盖 大模型:那个什么都懂、但不主动干活的家伙 大模型是整个AI系统的地基,ChatGPT、Claude、文心一言,本质上都是大模型。 它能做什么?什么都懂。你问它历史、问它代码、问它怎么写情书,它都能给你一个像样的回答。 但它有一个根本限制:它只会"说",不会"做"。 你让大模型帮你查一下今天的天气,它做不到——因为它连不上网。你让它帮你发一封邮件,它也做不到——因为它没有手。 理解这个,你才能理解后面为什么需要Agent、需要MCP。 Token:经常被忽视,但实际上决定了三件大事 Token是大模型处理文字的最小单位,一个英文单词大概是一个Token,一个中文字大概是两个Token。 Token重要在哪里?它决定了三件事: 成本:用API调用大模型,按Token计费 上下文长度:模型每次能"记住"的信息是有上限的 推理能力上限:复杂的任务需要更多Token去推理 Token是AI系统的"燃料"——这东西是有成本的,用多少费多少。 第二层:Prompt和Skill——从"会说话"到"能沉淀" Prompt:大家都在用,但大多数人用错了方向 Prompt就是你跟AI说的话。“帮我写一份工作总结”,这就是Prompt。 但Prompt的本质局限:它是临时的,用完就没了。 你今天花了半小时调试出一个绝妙的写作指令,明天打开新对话,全部清零,又要重来。你在Prompt上花的时间,很大一部分是在"反复教同一件事"。 Skill:Prompt的升级版,能力的"固化" Skill就是把你反复用的Prompt动作,封装成一个标准化的可复用模块。 举个例子:你经常让AI帮你写周报。每次都要说"你是一个职场助手,帮我根据以下信息写一份周报……"——这套流程如果做成Skill,就变成一个固定的"写周报"按钮,点一下,输入数据,自动出结果。 Prompt和Skill的核心区别: Prompt是"每次说一遍" Skill是"说一次,永久会" 第三层:MCP——那堵墙,终于有了门 前面说了,大模型是封闭的,它连不上外部世界。那怎么让它"动手"呢? ...

March 27, 2026 · 1 min · Tars

如何让 OpenClaw 指挥三位大哥协作写代码?

原文:刘小排 来源:微信公众号 核心思路 让 OpenClaw(小龙虾)自动指挥多种 AI Agent 协作完成复杂编程任务: Claude Code (Opus 4.6):写开发计划、写逻辑代码 Codex CLI (GPT-5.3-Codex):审核代码、做单元测试 Gemini CLI (Gemini-3.1-Pro):设计界面、写前端代码、端到端测试 两个关键要点 1. 说人话 不要问"怎么编排流程",而是:你怎么安排人类员工干活,就怎么安排小龙虾干活。 2. 使用 tmux tmux = Terminal Multiplexer,像一个不会关的虚拟终端房间。 关键特性: 完全隔离进程生命周期 不管 OpenClaw 怎么重启、session 怎么回收,tmux 里的进程都不受影响 OpenClaw 随时可以读取 tmux 内的日志了解进度 实操指南 首次启用 给 OpenClaw 的指令示例: 我即将给你布置一个需要长时间完成的编程任务。 我的系统中已经安装了 Codex CLI,我已经购买了官方包月会员,你不需要配置 API。 请你使用 tmux 打开 Codex CLI 完成写代码的任务,使用 Codex CLI 里最强的模型、最大的推理力度。在 Codex CLI 里,授予 Full Access 权限。 你还需要做一个日志监控,每 10 分钟给我汇报 Codex CLI 的工作进度。这个任务将会执行特别长的时间,如果期间 Codex CLI 进程死了,你需要重新喊它起来。 写完代码后,你还需要进行 Review,如果发现了代码问题,把你意见发给 Codex CLI 和它讨论,直到你俩达成一致。 后续启用 配置好后,后续只需要说: ...

March 27, 2026 · 1 min · Tars
浙ICP备2026016996号-1 | 浙公网安备33010802014379号