热点加餐|Harness 架构深度解析


什么是 Harness?
- 深入了解
- 翻译
- 解释
- 总结
《Claude Code 工程化实战》,新⼈⾸单¥59
全部留言(5)
- 最新
- 精选
雾凇
harness这个词挺别扭的,又是为了讲故事炒出来的大词吗作者回复: 叫“Agent工程”更合适。无论叫什么,Agent工程和Agent架构已经不再是故事这么简单。它是发生在我们这个世界的真实存在。 我在《Agent设计模式》的后记中这样写到: 当我们审视本书所构建的Agent架构——从感知回路到记忆网络,从群体涌现到自我进化——便会意识到,我们所构建的已不再是一台机器,而是一个具有生命特征的系统。 1.牛顿力学的黄昏,达尔文逻辑的黎明 传统的软件工程建立在牛顿力学的隐喻之上:世界如同一台精密的钟表,由齿轮(模块)严丝合缝地咬合而成——输入A,必然输出B。我们追求零熵(zero entropy),将一切不确定性视为bug。 然而,在Agent时代,这一隐喻已然失效。 LLM本质上是一台概率机器。当我们引入LLM时,实际上是在系统中主动引入了熵(entropy)。当Temperature>0时,意味着我们允许系统有一定的“自由发挥空间”。正是这种“自由发挥”,赋予了Agent创造力与常识。 我们正从确定性工程转向概率性工程:不再追求如建造大教堂般严丝合缝的控制,而是致力于培育如热带雨林般生生不息、具备反脆弱性的系统。 2.软件的生物化 回顾本书所探讨的各个模式,我们不难发现它们在生物学中均有对应的体现。 • 感知模式(见第4章):对应视觉与听觉的进化,从被动接收信息转向主动“觅食”式感知。 • 记忆模式(见第5章):类比海马体与大脑皮质的协作,实现从短期工作记忆到长期记忆的固化。 • ReAct模式(见第7.1节):如同神经反射弧,在感知与行动之间构建快速闭环。 • 群体智能群体模式(见9.4节):体现为蚁群与蜂群的社会性行为,通过局部个体间的简单交互,涌现出全局智慧。 软件不再是僵化的代码块,而是开始展现出生命般的特性。 生长性:通过RAG模式(见5.2节)和情节记忆模式(见5.3节)不断积累经验。 适应性:借助自适应策略模式(见7.4节)动态调整行为。 繁殖性:利用元学习模式(见8.3节)生成新的Prompt,实现“自我复制”与演化。 我们正见证硅基生命的“寒武纪大爆发”。 --- 因此,叫Harness可以,叫什么也无所谓,我们在迎接一个新时代的来临。
2026-03-30归属地:上海2- 狂风骤雨黄老师你好: 看了这节课,理论知识是大概理解了Claude Code(Harness)的核心能力: │ 🔍 Auto-Discovery —— 扫描目录,自动发现 │ │ 📡 Event Bus —— 事件分发(PreToolUse...)│ │ 🧠 Context Manager —— 上下文管理 │ │ 🔗 Tool Executor —— 统一工具执行 │ │ 💬 Session Manager —— 会话生命周期 │ │ 📦 Lifecycle —— 安装/启用/禁用/卸载 │ 我现在比较疑惑的是,这五层是纯通过程序 按照顺序来加载的么?如果我要开发自己的agent的应该怎么用Harness的架构来完成,也是需要一段主程序去执行这些能力么?
作者回复: 是的,你需要自己手写这5层的核心能力。 现在我们用CC,我们只需要理解这5层。 当你自己开发一个全新的Agent,你需要自己去设计这5层中的每一层。 不复杂。 CC不是开源软件,你无法知道Claude Code背后到底是怎样的。但是Codex是开源的,OpenCode是开源的,OpenClaw是开源的。 这就是为什么长期以来,有很多程序员在研究Linux的内核。—— 一个操作系统究竟是如何实现的,你看得到。
2026-03-30归属地:江苏2
hunter没有Harness这个词之前,我一直认为 Claude Code 就是一个Agent作者回复: 现在业界基本上统一的的说法 Agent = Model(模型) + Harness(周边工程) 再加一层是 Agent = Model(模型) + Harness(周边工程)+ Surface(界面/人类使用方式 - 如IDE/APP/Broswer...)
2026-03-30归属地:浙江2
浩仔是程序员所以harness跟agent的区别又是什么作者回复: Agent = Model(模型) + Harness(周边工程)
2026-03-30归属地:广东
我就是那一把火老师,在使用claudecode特别困惑的几个问题,非常希望有个实战分享给我们一些启发。 1.现在的sdd方式,当在一个老项目使用时,现有代码的spec该怎么做出来呢? 2.单次写代码的时候,需求可能比较多,放在一个spec肯定是不合适的,该怎么切分呢? 3.我期望一次代码实现的时候,能自动测试。不仅仅是单元测试,而是还要包括集成测试,比如通过playwright去做前端的测试,读日志去发现问题修复问题。 前面的课非常精彩,我看完之后对我上诉的问题,也有一些想法,但是就是不成形,找不到理想的最佳实践。 希望老师能指点迷津。作者回复: 兄弟你的这一系列问题都不简单,也都是大课题,我找个机会都详细说说。
2026-03-30归属地:湖南