首页 > 基础资料 博客日记

从控制论看 Harness Engineering:当反馈回路终于能在"重要的地方"闭合

2026-05-15 10:00:02基础资料围观2

极客资料网推荐从控制论看 Harness Engineering:当反馈回路终于能在"重要的地方"闭合这篇文章给大家,欢迎收藏极客资料网享受知识的乐趣

一、引子

第一次接触"控制论"这个词,是大学《信息论》课本的脚注里。当时只觉得那是个挺浪漫的术语——cybernetics,希腊语 κυβερνήτης,意思是"舵手"。多年后我才意识到,这门学科真正想讲的是一件极其朴素的事: 任何系统要保持稳定,都得有人(或某个机制)拿着舵,根据偏差不断微调方向 。维纳在 1948 年把它正式立成一门学问,覆盖机械、生物、电子、社会——但它本质上只关心几件事:目标、感知、反馈、修正、稳态。

最近我重新捡起这个概念,是因为发现 AI 编码冒出来的"Harness Engineering"思潮,几乎一比一地在重演控制论的老故事——只不过这次,舵柄被装在了 LLM Agent 上。

二、一个被忽视的事实:代码库一直有反馈回路,只是太低级

仔细想想,软件工程从一开始就是控制论的拥趸:

  • 编译器 :在语法层闭环——"代码合法吗?"
  • 单元测试 :在行为层闭环——"功能对吗?"
  • Linter / Formatter :在风格层闭环——"写法符合规范吗?"
    这三类工具完全符合控制论的定义:它们都有传感器(检测)、执行器(报错/修复)、目标函数(通过/不通过),构成了一个标准的负反馈闭环。

但它们也都有一个共同的边界—— 只能处理"机械可判定"的属性 。

至于真正决定一个系统死活的问题:

  • 这次改动是否破坏了架构分层?
  • 这个抽象在 6 个月后会不会变成债务?
  • 这个接口的命名是否暴露了不该暴露的实现细节?
  • 这个修复是否只是补丁,没有触及根因?
    ——这些问题没有传感器,也没有执行器。它们悬空在那里, 只能靠人来感知、判断、修正 。Code Review 是唯一的"人形闭环",慢、贵、不可扩展、还经常因为评审者疲劳而失灵。

三、Transformer 之后,传感器和执行器同时出现了

2017 年那篇 Attention 论文之后发生的事,本质上是把"以前只有人能做的事"变成了一种可以被批量生产的能力。LLM 第一次让两件事同时成立:

  1. 它能在高层语义上"感知" ——能读懂"这段代码违反了 DDD 的边界"
  2. 它也能在高层语义上"动作" ——能把一个错位的接口重构到正确的层级里
    这一刻, 控制论的反馈回路终于能在那些"重要的决策点"上闭合了 。Harness Engineering 的价值,就是认识到这件事,并把控制论里所有被前几代工程师们用过、试过、验证过的稳态设计套路——分层、边界、负反馈、二阶控制——一次性全部拉到 LLM Agent 身上。

四、Harness Engineering 的三层控制论结构

我把 Harness Engineering 拆成三个层次来理解,每一层都对应控制论里的一个经典概念。

第一层:闭环控制——把"写代码"变成自动调节系统

OpenAI 团队公开过他们的内部 Agent loop 大概是这样的:

人类输入意图(setpoint)
    │
    ▼
Agent 生成代码(actuator)
    │
    ▼
Lint / 测试 / 架构守卫执行(sensor)
    │
    ▼
错误信号回流给 Agent(feedback)
    │
    ▼
Agent 自我修正(control)
    │
    └──── 直到所有信号都收敛 ────┐
                                  │
                                  ▼
                              收敛到目标

这是教科书式的负反馈控制系统。如果把里面的"Agent"换成"温度调节阀",把"测试"换成"温度计",这就是恒温器。

人类的角色变了。我们不再"敲代码"——我们 设计这个闭环 :决定哪些东西算 setpoint,决定哪些信号是 sensor,决定误差容忍度,决定什么时候要把系统拉出来人工干预。

第二层:硬约束 > 软建议——用机械边界代替"请你不要"

控制论里有个反直觉的真相: 减少自由度,比增加智能更能让系统稳定 。瓦特调速器之所以能工作,不是因为它"很聪明",而是因为它的机械结构物理上就只允许"转速高 → 阀门关小"这一种因果链。

Harness Engineering 把这个原则贯彻到了极致—— 让 AI 不可能越界,而不是请它别越界 :

  • 目录结构强制分层: ui/ → service/ → domain/ → infra/
  • Lint 规则禁止反向 import: ui 文件 import infra 直接红线
  • 类型系统编码契约:核心域类型不允许被序列化层污染
  • CI gate 一票否决:违规 PR 根本进不了主干
    这些都不是"建议",是机械边界。Agent 在生成代码时哪怕"想"违规也做不到——因为它的输出会被立刻拒绝并附带具体错误信息,进入下一轮反馈。

控制论给这种设计的术语是: 用环境约束替代行为约束(constraint shaping) 。结果就是系统的稳态空间被人为收窄,AI 再"聪明"也只能在这个空间里跳舞。

第三层:二阶控制——让规则本身也能进化

这是 Harness Engineering 最有意思的地方,也是真正把它从"高级 CI"提升到"自组织系统"的地方。

控制论里的二阶(second-order cybernetics)讲的是: 不仅控制系统行为,还控制控制系统的规则 。Heinz von Foerster 的话糙理不糙——"一阶控制让系统稳定,二阶控制让系统进化"。

落到 Harness Engineering 上:

一阶 二阶 Agent 通过测试 人类把"Agent 上次犯的错"沉淀成一条新规则 Lint 检查代码风格 出现新的反模式 → 加新的 Lint rule CI 阻断坏 PR 后台有 Agent 定期扫描技术债、自动修复 测试套件验证行为 测试套件本身根据新发现的边界条件自动扩张

这条二阶回路的存在意味着: 这个系统每被使用一次,它的"自我控制能力"就强一点 。它不会因为暴露了更多场景而变得脆弱,反而会因为新场景被编码进规则而变得更稳。

控制论里有一个专门的词形容这种性质—— 反脆弱(antifragile) 。一个反脆弱系统接受冲击后不是恢复原状,是变得比之前更强。

五、《三体》童话中宽姨打的那把伞

控制论的图腾,就是瓦特那个带重锤的飞球调速器。在它出现之前,蒸汽机旁边必须站一个工人,盯着压力表手动开关阀门。这个工人很重要,他的判断决定了机器的死活。

调速器装上之后,这个工人没有失业——但他的工作变了。他不再拧阀门,他开始 设计更好的调速器 :怎么让响应更灵敏,怎么避免共振,怎么在高负载下不失稳。

设计调速器的工人,没有再回去拧阀门。不是因为他们做不到,而是因为这件事已经没有意义。

Harness Engineering 想做的事,本质上是同样的位移:
让程序员从"逐行写代码的工人"变成"设计代码生产闭环的控制系统工程师"。
这不是浪漫化叙事。这是控制论一个世纪以来反复发生的剧本—— 任何一个领域,只要它的关键反馈回路能被自动化闭合,从业者的工作就会上移一层 。

六、总结

Harness Engineering 是把"写代码"从一门 手工艺 ,重新定义成一项 控制系统设计 ——它不再追问"你能写多快",而是追问"你设计的这个反馈系统,能不能在没有你看着的情况下持续收敛到正确的状态"。
这件事不是 AI 时代的新发明。维纳在 1948 年就讲完了。我们只是花了 70 多年,等到了一种感知/执行能力足够强的"执行器",才让控制论第一次有机会进入软件工程的高层语义闭环。

所以,下次再有人问"AI 取代程序员了吗"——可以反问一句:

瓦特调速器普及之后,那个拧阀门的工人,算不算被取代了?


文章来源:https://www.cnblogs.com/accordion/p/20048288
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云