Agent 时代的控制论:Harness Engineering 深度解析(深度硬核),从入门到精通,收藏这一篇就够了!
今年 2 月OpenAI 发布了一篇文章Harness engineering: leveraging Codex in an agent-first world描述了一种新的工作方式工程师不再直接编写代码而是设计环境、制定规则让 agent 在其中完成编码。这篇文章很快在技术圈引发了广泛讨论。有人认为这是软件工程的终结也有人觉得不过是新的炒作。事实上围绕 AI coding 的叙事一直在演化从最早的 prompt engineering到 context engineering再到如今的 harness engineering工程师的关注点逐渐从“如何与模型对话”转向“如何构建一个能够持续运行的系统”。不过把视野再拉远一点这种演变其实也并不新鲜。从瓦特的离心调速器到 Kubernetes 的控制器工程师的角色早已多次完成类似的转变从亲手操作系统变成设计让系统自动运转的机制。1948 年Norbert Wiener 将这种模式命名为控制论cybernetics。因此真正值得追问的问题或许不是“AI 会不会取代程序员”而是当反馈回路终于能够在“架构决策”这一层闭合时工程师需要做什么才能让这套机制真正运转起来01.同一个模式出现了三次我读完 OpenAI 那篇关于 harness engineering 的文章后心里一直有种说不清楚的感觉。直到某一刻我突然想通了这个模式我已经见过了而且见过不只一次是三次。第一次是在 18 世纪 80 年代。詹姆斯·瓦特James Watt发明了离心调速器Centrifugal governor。在这之前工人得一直守在蒸汽机旁边用手不停地调节阀门。有了调速器之后一套带飞球的机械装置会自动感知转速、自动调节阀门。工人没有因此消失只是工作内容变了从亲手拧阀门变成设计调速器本身。离心调速器Centrifugal governor是一种利用离心力自动调节发动机转速的机械装置。1788 年James Watt 对这一装置进行了改进并将其用于蒸汽机的自动速度控制。第二次是在 Kubernetes 出现之后。使用 Kubernetes 的时候你只需要声明目标状态比如运行三个副本、用这个镜像、分配这些资源。控制器controller会持续监测系统的实际状态一旦实际状态和目标状态出现偏差控制器就会自动介入修正重启崩溃的 Pod调整副本数量回滚出问题的部署。工程师的工作也随之改变从手动重启服务变成编写系统需要对齐的目标 spec。Kubernetes 是一个开源的容器编排平台用于自动化部署、扩展和管理容器化应用例如基于 Docker 的应用。它最初由 Google 设计并开源现在由 Cloud Native Computing Foundation 维护是现代云原生基础设施的核心组件之一。第三次就是现在。OpenAI 在文章中描述了这样一批工程师他们不再亲手写代码而是负责设计运行环境、构建反馈回路、把架构约束转化成可执行的规则然后让 agent 去完成实际的编码工作。他们用五个月生成了约一百万行代码没有一行是人手写的。OpenAI 把这种工作方式叫做“harness engineering”。每一次变化的背后其实都是同一个模式。诺伯特·维纳Norbert Wiener在 1948 年给这个模式命名为控制论cybernetics。这个词来自希腊语 κυβερνήτης意思是舵手Kubernetes 这个名字也来自同一个词根。本质含义都是一样的你不再需要亲手拧阀门而是开始掌舵。Norbert Wiener1894–1964是美国数学家被认为是控制论的奠基人之一在Cybernetics: Or Control and Communication in the Animal and the Machine中提出信息、控制与反馈的理论框架。这个模式每次出现背后都有同一个原因有人造出了足够强大的传感器和执行器能够在那个层面上把反馈回路闭合起来。02.为什么代码库是最后被攻克的领域代码库并不是没有反馈回路feedback loop只是这些回路都存在于底层。•编译器Compilers在语法层面闭合回路•测试套件在行为层面闭合回路•Linter 在代码风格层面闭合回路。这些机制虽是真实的控制论回路但仅能处理可机械检验的问题比如代码能编译吗测试能通过吗格式符合规范吗再往上一层就没有任何自动化机制了比如这个改动符合系统的整体架构吗这个技术方案是对的吗这个抽象层随着代码库不断增长将来会不会出问题这些问题既没有传感器来感知也没有执行器来修正。只有人能在这个层面上工作而且两端都需要人来完成一端是判断质量好坏另一端是动手写出修复方案。而 LLM 同时改变了上述这两端。LLM能像人一样判断代码质量和进行改动重构一个模块重新设计接口不一致的地方围绕真正重要的约束条件重写整套测试。这是第一次反馈回路可能在真正关键的决策层面闭合。但是闭合回路只是必要条件还不是充分条件。瓦特的调速器需要仔细调校才能正常工作Kubernetes 的控制器需要一份正确的 spec 才能对齐目标而在代码库里工作的 LLM则需要一样更难提供的东西。03.如何校准传感器和执行器事实上让 agent 能够执行测试、CI 能产出可解析的结果、报错信息能指向具体修复方向这样的基础反馈循环运行起来仅仅是最低门槛。Carlini 曾经做过一个演示他让 16 个 agent 并行协作一起构建一个 C 编译器。他用的 prompt 极其简单但测试基础设施的设计却非常精心。他事后说“我大部分的精力都花在设计 Claude 周围的环境上也就是测试、运行环境和反馈机制。”Nicholas Carlini 是美国计算机科学家专注于 AI 安全与对抗性攻击adversarial attacks的研究。也就是说真正困难的问题在于如何基于你对自己系统的认知来校准这套传感器和执行器。大多数人就卡在这一步然后把问题归结于 agent 本身“它一直在做错误的事情它根本不理解我们的代码库。”这种诊断几乎总是错的。Agent 失败不是因为它的能力不够而是因为它需要的那些知识比如对你的系统来说什么叫做“好”、你的架构鼓励哪些模式、又刻意回避哪些模式这些知识全都锁在你自己的脑子里你从来没有把它们写出来。Agent 不会自主学习进化。如果你不把这些知识写下来agent 第一百次犯的错会和第一次一模一样。因此真正需要做的工作是把你的判断标准变成机器可以读懂的形式写一份描述真实分层结构和依赖方向的架构文档配置一套内置了修复指引的自定义 Linter整理一套把团队审美和品味编码进去的黄金原则。OpenAI 也发现了这一点他们曾经每周五花 20% 的时间专门清理“AI slop”后来他们把自己的标准直接编进了 harness 本身问题才得到根本解决。04.唯一的出路文档、自动化测试、编码成规则的架构决策、快速的反馈回路这些本来就是正确的工程实践。过去三十年几乎每一本软件工程的书都在推荐这些。但大多数人选择跳过因为跳过的代价来得很慢、散得很开代码质量缓慢下滑但新人上手越来越痛苦技术债在不知不觉中积累。Agentic engineering 让这个代价变得极端。**•**如果你跳过了文档agent 就会无视你所有的规范而且不是在某一个 PR 上出问题而是在每一个 PR 上都出问题并以机器的速度全天候不间断地重复同样的错误。**•**如果你跳过了测试反馈回路就根本无法闭合。**•**如果你跳过了架构约束代码漂移的速度会远远快过你手动修复的速度。代码漂移Code Drift指的是软件项目中代码随时间逐渐偏离最初设计目标或规范的现象可能表现为架构不一致、功能冗余等。这种漂移会增加维护成本、降低代码可读性和可靠性。•更糟糕的是如果 agent 不知道什么叫做整洁的代码你就没有办法用 agent 来收拾这个烂摊子。也就是说没有经过校准的 agent制造出了问题也解决不了问题。该做的事情从来没有变过。只是不做这些事情的代价已经变得无法承受。正因如此我们必须关注生成之外的验证环节。生成答案和验证答案之间存在明显的不对称性也就是 P vs NP 问题的核心直觉通常验证一个答案比生成一个正确答案要容易得多。Cobbe 等研究者已经在 LLM 上通过实验验证了这一点。这个不对称性给出了明确的方向你不必在编写代码上比机器更快只要你能知道怎么高效地评估它的产出。也就是说你需要能够定义什么是“正确”识别输出结果偏离目标的地方并判断整体方向是否正确。P vs NP 问题是计算机科学中一个未解难题每个能被快速验证的问题NP 类问题是否也能被快速求解 P 类问题。Karl Cobbe 等人在 2021 年 10 月 27 日 在 arXiv 发布了 Training Verifiers to Solve Math Word Problems实验证明在 LLM 上训练“验证器”用于判断答案正确性要比直接生成正确答案任务更容易验证方法显著提高了模型在数学应用题上的表现。那些当年设计了瓦特调速器的工人后来没有回去拧阀门。不是因为他们不会拧而是因为回去拧阀门这件事已经没有任何意义了。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2424163.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!