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

推荐订阅源

T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
H
Help Net Security
B
Blog RSS Feed
G
Google Developers Blog
博客园 - 司徒正美
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
P
Proofpoint News Feed
小众软件
小众软件
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
V
V2EX
月光博客
月光博客
C
Check Point Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
A
Arctic Wolf
Help Net Security
Help Net Security
Schneier on Security
Schneier on Security
D
DataBreaches.Net
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Palo Alto Networks Blog
T
Tenable Blog
L
LangChain Blog
Attack and Defense Labs
Attack and Defense Labs
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
Forbes - Security
Forbes - Security
F
Fortinet All Blogs
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Y
Y Combinator Blog
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
NISL@THU
NISL@THU
GbyAI
GbyAI
博客园 - Franky
S
Secure Thoughts
有赞技术团队
有赞技术团队
PCI Perspectives
PCI Perspectives
U
Unit 42

博客园 - royalrover

How LLMs Actually Work(翻译) 微调LLM前你需要了解的一些概念-- 反向传播解析 微调LLM前你需要了解的一些概念-- 基于 Qwen3 配置文件的实践 微调LLM前你需要了解的一些概念2--多头注意力机制 微调LLM前你需要了解的一些概念1 -- 综述 快速搭建你的数据智能分析 Agent 5分钟Mac本地跑通32B Qwen!免费GPT-4o替代,还能5分钟造个会开浏览器+执行Shell的AI Agent 深入剖析 nanobot:轻量级 AI Agent 框架的架构之道 k8s上手 iOS MDM(监管锁)入门 SRE中的SLA/SLO/SLI 开放网关统一认证服务 业务网关之AK中心建设 Feature Police导致iframe页面无法使用粘贴功能 页面异步请求canceled 或 network中接口请求成功但无法查看返回值 我在阿里云做云开发平台 阿里云云开发平台助力企业Serverless架构升级实战 随心一笔 nodejs中的并发编程 基于Unix Socket的可靠Node.js HTTP代理实现(支持WebSocket协议) cluster模块设置子进程的stdio - royalrover - 博客园 nginx(tengine)访问日志分片 serverless在微店node领域的探索应用 node应用远程调试教程 Node EE方案 -- Rockerjs在微店的建设与发展
从控制论看 Harness Engineering:当反馈回路终于能在"重要的地方"闭合
royalrover · 2026-05-15 · via 博客园 - royalrover

一、引子

第一次接触"控制论"这个词,是大学《信息论》课本的脚注里。当时只觉得那是个挺浪漫的术语——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 取代程序员了吗"——可以反问一句:

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