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

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

Blog | Phodal - A Growth Engineer

Phodal's Blog Phodal's Blog Phodal's Blog Phodal's Blog Phodal's Blog Phodal's Blog Phodal's Blog Piece:将 Coding Agent 的局部构建反馈提速 10x 验证工程:从 Vibe 硬件编程 Loop 到自迭代验证 - Phodal | Phodal 长程验证:AI Agent 长任务的收敛机制 - Phodal | Phodal 从复杂编辑器到 Agent 工作台:Office 的 Cursor 时刻 - Phodal | Phodal 注意力 Harness:多 Agent 时代如何守住人的注意力 - Phodal | Phodal Agent 应该如何解决繁杂任务:从 /goal 到长时间运行 - Phodal | Phodal Phodal's Blog Phodal's Blog Phodal's Blog Phodal's Blog Gate First:为你的 Agent Team 构建 Harness 防御体系 - Phodal | Phodal /phodal-writer:我如何把十年写作经验整理成一个 Skill - Phodal | Phodal 从 Rule、Spec 到 Harness:AI Coding 的分阶段演进路径 - Phodal | Phodal Harness Engineering Skill:使用 Entrix 技能开始你的代码熵治理 - Phodal | Phodal 从 0 到 25 万行:一个 100% AI 编码的项目如何建立治理闭环 - Phodal | Phodal Entrix:我们如何用反熵机制治理 Vibe Coding - Phodal | Phodal AI 编码 3.0:当 Agent 协作开始被系统执行 - Phodal | Phodal Harness Engineering 的下一步:Fitness Function 定义 AI Agent 的完成条件 - Phodal | Phodal 当 Kanban 不再管理人:Routa Kanban 如何管理 Agent Team - Phodal | Phodal Harness Engineering 的防御视角:从 Codex Security 看 AI 生成代码的治理 - Phodal | Phodal AI Coding Fluency:从工具使用到人机协作的软件工程 - Phodal | Phodal Harness Engineering 实践指南:落地探索的三大原则 - Phodal | Phodal 2026 年,万物皆 Coding Agent 的平台工程(A2A / ACP / MCP / Skill) - Phodal | Phodal
Harness 工程可视化:在 Vibe Coding 中重建工程可控性 - Pho...
2026-04-03 · via Blog | Phodal - A Growth Engineer

作者: Phodal Huang 2026年4月3日 11:04

在最新的 Routa Desktop 中,我们引入了 Harness 工程可视化系统。它并不是一个展示“AI 写了多少代码”的界面,也不是为了给生成式开发增加一层炫目的仪表盘, 而是试图回答一个更关键的问题:

当 AI 逐渐成为软件交付链路中的执行者,团队如何依然保持对工程系统的理解、约束与控制?

下载地址:https://github.com/phodal/routa/releases/tag/v0.12.1

对 AI 而言,这个问题未必复杂。只要规则是结构化的,控制点是可触发的,反馈是可解析的,它就能够在局部决策中持续运行。AI 不需要先理解整个系统,再开始工作;它只需要在正确的时刻拿到足够清晰的约束与信号。

但人类并不是这样工作的。人类依赖的不是零散规则的堆叠,而是对整体结构的感知。我们需要看见规则分布在哪里,控制点嵌入在哪个阶段,信号如何穿过交付流程并返回系统。 否则,再完整的治理机制,也很容易退化为分散的配置、隐性的约定,以及只能依赖经验维持的工程实践。

这正是 Harness 工程可视化的意义。

第一,重新看见多层反馈环

我们最开始并没有先去设计什么“闭环模型”,而是从一个更简单的问题出发:工程里的反馈,到底在哪里?

当你把软件交付链路完整展开,会发现反馈从来不是单一的。它至少存在于三个层次:本地阶段的编译、测试和 lint;推送之后的评审、CI 和各种门禁;以及上线之后的运行状态、监控与外部反馈。这些反馈并不缺席,它们其实一直都在,只是在大多数仓库里,它们是分散的、割裂的,很少被当成一个整体来理解。

Routa 的 Lifecycle 视图做的事情其实很朴素,就是把这些反馈重新放回一条连续的路径上。当这些阶段被串联起来之后,一个变化会变得非常直观:AI 不再只是停留在“写代码”的那个节点,而是被明确放进了一条不断被反馈包围的系统里。

这时候你会意识到,AI Coding 的核心问题,从来不是“能不能生成代码”,而是“生成之后有没有被持续纠正”。

这也是为什么我们会强调“多层反馈环”。它的价值不只是“多几道检查”,而是把工程从一次性动作,变成持续收敛的过程。 本地反馈帮助你尽早发现偏差,推送反馈帮助你在团队协作中拦截问题,外部反馈则把真实运行世界里的信号重新带回系统。速度本身从来不是能力,能否在速度中维持收敛,才是真正的工程能力。

第二,把分散治理对象组织成整体闭环

但仅仅“看见反馈”还不够。

当这些反馈被拉直之后,另一个问题会自然出现:这些规则和控制点其实一直都存在,那为什么系统依然不可控?答案往往很简单,也有点无聊——因为它们没有被组织在一起。

Spec 在一套目录里,架构决策在另一套文档里,Hook、Review Trigger、CODEOWNERS、CI/CD 又各自分散在不同的配置文件中。每一个局部看起来都合理,单独拿出来也都说得通,但整体却缺乏结构。单点上都没错,不代表系统是成立的;局部上都能解释,不代表整体上能运转。

Routa 做的第二件事,并不是增加新的治理能力,而是把这些已经存在的东西重新放到同一个界面中。目的也不是“集中管理”,而是让人第一次能够从系统视角去回答一些真正关键的问题: 哪些规则真的接入了交付流程,哪些只是写在那里却从未被触发;哪些阶段是被治理覆盖的,哪些其实是裸露的路径。

当这些对象被放在一起时,很多原本需要靠经验判断的问题,会变得直观得多。你不需要再翻一堆文档,也不需要去问最熟悉仓库的那个同事,就能大致看出系统哪里是实的,哪 里是空的。真正危险的从来不是“没有规则”,而是“以为有规则”。

很多团队的问题,并不是缺少 Hook、缺少 Review、缺少 CI,也不是没有文档,而是这些东西始终以孤岛的方式存在。它们在文件系统里是存在的,在团队叙事里也是存在的,但在工程系统里并没有形成闭环。 闭环不是把更多节点连起来,而是让设计意图、约束机制、执行路径和反馈信号第一次出现在同一张图上。闭环不是图画出来的,而是关系被看见之后才成立的。

第三,把 Harness 理念从抽象原则变成工程界面

写到这里,其实已经接近我们所说的 Harness 了。

因为 Harness 并不是一套全新的机制,它更像是一种对现有工程资产的重新组织方式。它真正做的,是让系统逐渐具备三种能力。

第一种能力,是更容易被读懂。不是通过堆叠更多文档,而是让 Spec 从哪里来、架构决策在哪里、Agent 应该读取什么,这些信息变得可发现、可导航。 第二种能力,是让约束真正开始生效。不再停留在“我们有规范”,而是明确哪些规则会拦截、哪些会放行、哪些会升级,这些决策路径开始变得可执行、可预期。 第三种能力,是让反馈能够持续回到系统中,不只是停留在 CI log 里,而是能够被下一轮决策继续消费,从而形成一种持续收敛的工程行为。

一个系统是否可控,不取决于它写了多少规则,而取决于这些规则能否被读取、被执行、被回流。

像 Review Trigger 这样的设计,本质上就是把原本依赖经验的判断——例如风险、复杂度、证据是否充分——转化为一种结构化、可复用的控制逻辑。 当这些逻辑被放进系统之后,治理就不再完全依赖人,而开始具备系统性的稳定性。好的治理,不是把资深工程师的判断力替换掉,而是把它沉淀成系统能够反复调用的能力。

所以从表面看,Routa 的 Harness 页面不过是一条 lifecycle、一些卡片和几个面板。但如果从工程系统的角度来看,它更像是一个界面层, 把仓库本身变成了一个可以被阅读的对象。过去,Agent 读取仓库,人也读取仓库;而现在,Agent 仍然读取仓库,但人开始读取的是仓库的结构。

过去我们在读文件,现在我们开始读系统。

这两者的差异,并不只是体验上的变化,而是工程控制方式的变化。以前,控制更多依赖人对局部事实的记忆;现在,控制开始依赖系统把这些事实组织成可观察、可判断、可回流的结构。工程一旦进入 AI 时代,可控性就不再来自“人盯着每一步”,而来自“系统本身能够暴露关键关系”。

小结

在 Vibe Coding 时代,我们并不是在单纯地让 AI 写更多代码,而是在逐步接受一件更根本的事情:工程系统本身,需要变得可读、可约束、可反馈。Routa 的 Harness 可视化,只是把这件事往前推了一步,让这些原本分散在仓库中的治理机制,第一次以一种可以被整体理解的方式呈现出来。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)