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

推荐订阅源

量子位
小众软件
小众软件
S
SegmentFault 最新的问题
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
C
Check Point Blog
S
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
罗磊的独立博客
有赞技术团队
有赞技术团队
V
V2EX
Y
Y Combinator Blog
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
W
WeLiveSecurity
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
S
Security @ Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
MyScale Blog
MyScale Blog
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
PCI Perspectives
PCI Perspectives
H
Heimdal Security Blog
Schneier on Security
Schneier on Security
Security Latest
Security Latest
AWS News Blog
AWS News Blog
月光博客
月光博客
Security Archives - TechRepublic
Security Archives - TechRepublic
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
博客园 - Franky
Cisco Talos Blog
Cisco Talos Blog
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
T
Troy Hunt's Blog
N
News and Events Feed by Topic
Cloudbric
Cloudbric
Scott Helme
Scott Helme
云风的 BLOG
云风的 BLOG
Attack and Defense Labs
Attack and Defense Labs

Blog | Phodal - A Growth Engineer

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 Harness 工程可视化:在 Vibe 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 Agent Team 实践与架构设计:在约束下构建可演进的一个人开发团队 - Phodal | Phodal 从 AutoDev 到 Routa:开放生态下的新一代多 Agent 编排实践 - Phodal | Phodal ACP 协议 + 多 AI 编程智能体:企业研发的新生产力平台 - Phodal | Phodal A2A vs ACP 协议对比分析 - Phodal | Phodal 平台工程视角下的 AI 应用架构治理 - Phodal | Phodal AI 时代的洞察方法论:结构化思维与能力迁移 - Phodal | Phodal
从 Rule、Spec 到 Harness:AI Coding 的分阶段演进路径 - Phodal | Phodal
2026-04-07 · via Blog | Phodal - A Growth Engineer

作者: Phodal Huang 2026年4月7日 16:45

过去大半年里,我一直在帮不同规模的团队落地 AI Coding。从最早的一两个人试点,到十几个人的团队尝试让 AI 参与日常交付,再到开始设计下一步的演进路径,我反复碰到同一个现象:试点阶段所有人都很兴奋——代码生成快,骨架搭得漂亮,连测试都能帮忙补上几条。但到了推广阶段,事情就开始走形。有人拿到 AI 生成的代码直接提交,跳过了评审;有人发现 AI 改了不该改的接口,但 PR 已经合进去了;还有人干脆把 AI 的输出当半成品,自己手动重写一遍,等于白跑一趟。

真正的问题不是模型不够强,而是团队还不知道怎么把 AI 放进自己的工程体系里。试点靠个人能力兜底,规模化必须靠系统兜底。大多数团队在试点时只验证了"AI 能不能写代码",却没有验证"AI 的产出如何被工程体系接纳"。

引子:试点与规模化的鸿沟

这也不是我一个人的观察。把 OpenAI 的 Codex 文档和 Claude Code 的 memory 文档放在一起看,会发现两家公司最后都在强化同一类东西——规则文件、持久记忆、结构化状态,以及一套能把 agent 拉回工程边界的外部机制。AI Coding 的瓶颈从来不在生成端,而在接收端。代码生成出来之后,它是不是在边界内生成的?能不能沿着正确范围收敛?是否经过了验证?最后能不能进入评审与放行体系?这些问题不是模型能回答的,而是工程系统必须回答的。([OpenAI Developers][1])

所以,我们要建设的不是一条"让 AI 写更多代码"的路径,而是一条"让 AI 在工程体系里稳定完成交付"的路径。Rule、Spec、Loop、Harness 不是四个并列摆放的能力模块,而是一条前后相依、逐层收紧控制面的建设路线——不要乱来、这次只做什么、如何持续收敛、结果凭什么被接纳进生产。每一层都在给下一层提供约束条件。

Rule:先把"不要乱来"写成机器边界

很多团队一开始最关心的,都是 AI 能做什么。但真实项目里,最昂贵的错误往往不是代码写得不漂亮,而是越过边界、误改契约、扩散变更面,或者在不该结束的时候宣布任务完成。

这也是为什么 Rule 必须排在第一层。OpenAI 的文档里,AGENTS.md 不是普通说明文件,而是 Codex 启动时就会读取的持久项目指导;它支持从全局到项目再到子目录的分层覆盖,官方还明确建议把它写小,只在发现重复错误之后再追加规则。Anthropic 则把 CLAUDE.md 和 auto memory 定义为每次会话都会加载的上下文,同时提醒你:这些东西本质上是 context,而不是强约束。把两边放在一起看,一个结论其实很清楚:规则文件只是入口,不是护栏;真正的护栏,必须由 test、lint、build、schema check、review policy 这类外部信号接管。([OpenAI Developers][1])

所以,Rule 的设计重点不应该是"给 AI 更多背景",而应该是先把团队纪律写成默认边界。先写 NEVER 和 DO NOT,再写建议;先约束高代价错误,再讨论更优实现;根目录只放最小入口,具体规则尽量下沉到更近的目录或 skill 里;一旦同一种错误重复出现,就别再靠口头提醒,而是把它回写进规则文件和校验链路里。

换句话说,Rule 解决的不是让 agent 更聪明,而是让它先学会不越界。

Spec:再把"想做什么"收敛成一次可执行的变更

仅有 Rule 还不够。因为边界清楚,并不等于目标清楚。很多 AI Coding 失控,不是因为模型没理解需求,而是因为需求本身没有被整理成一个边界明确、范围可控、结果可验证的交付对象。于是 AI 很自然地开始扩写任务:修一个提示,顺手重构流程;补一个状态,顺手改掉契约;写一个 happy path,顺手把整个模块"整理"一遍。

所以,Spec 不是更长的 prompt,而是变更范围纪律。OpenAI 在多小时任务的文档里,甚至把 PLANS.md 写成一种 living document:要求里程碑、进度、可观察结果、验证命令、自包含上下文都写清楚,再让 agent 沿着这些检查点推进。这个方向非常值得注意,因为它说明真正有用的 Spec,不是"写更多背景",而是把一次模糊意图压缩成一次可执行、可审查、可验证的变更。([OpenAI Developers][2])

在我看来,一份有效的 Spec 至少要回答五件事:这次要解决什么,这次不解决什么,允许改哪些 surface,哪些 contract 不能动,怎样才算完成。它不需要写成大部头,更不应该演变成新的文档负担。它真正的价值,在于把范围钉住,把完成条件前置,把" 也许顺手改一下"的冲动提前消灭掉。

Rule 解决"别乱来",Spec 解决"别跑偏"。这就是它们必须前后相接的原因。

Loop:把一次性生成改造成可收敛的执行闭环

有了 Rule 和 Spec,AI 才算拿到了边界和靶心。但即便如此,执行过程依然会出错。真正决定它能不能在工程里持续工作的,不是一次回答质量,而是有没有一个 Loop,把"读取上下文—做最小改动—运行外部验证—记录状态—进入下一轮"变成系统动作。

这一步并不是抽象想象。Vercel 的 ralph-loop-agent 把 continuous AI agent loops 说得很直白:agent 工作,评估器检查结果,如果还没完成,就继续下一轮。OpenAI 近期总结 Codex 的长任务经验时,也把 loop 明确写成 plan、edit code、run tools、observe results、repair failures、update docs/status、repeat,并强调长任务之所以更可靠,不在于一个更长的 prompt,而在于 harness 提供了结构化上下文和清晰的 "done when" 例程。([GitHub][3])

这背后有三个动作特别关键。第一,每一轮改动都必须足够小,小到能被验证器快速裁决;第二,状态必须外置到文件、日志、Git 历史、计划文档里,而不是寄希望于模型"记得住";第三,只要检查失败,就要停下来修,而不是带着失败继续往前滚。否则,Loop 很容易从" 持续收敛"退化成"持续漂移"。

所以,Loop 真正优化的不是生成质量,而是收敛效率。没有 Spec,Loop 只是更有耐心的试错;有了 Spec,Loop 才会变成围绕验收条件持续逼近的执行闭环。

Harness:最后把 AI 放回工程治理,而不是直接推向生产

当 Rule、Spec、Loop 三层建立起来之后,AI 已经不只是"会写代码",而是在一个受控环境里推进任务了。但要真正完成落地,还差最后一层:Harness。

Harness 不是某一个具体工具,而是一整套把 AI 产出纳入验证、提交、评审、放行与追责体系的工程外骨骼。Anthropic 在 2026 年甚至直接把 harness design 称为长时自主编码前沿表现的关键变量,并把任务分块、结构化交接、独立 evaluator、明确评分标准放到了体系中心。OpenAI 这边也把 testing、checking、review 串成一个可靠性闭环,甚至建议把 code_review.mdAGENTS.md 绑定起来,让 review 规则成为仓库级约束。([Anthropic][4])

这说明一件事:Harness 的任务,从来不是让 AI 更自由,而是让组织更放心。它要解决的,不是"AI 能不能写出代码",而是" 这些代码为什么值得被信任"。

在工程里,这一层通常会表现为一组组合机制:Contract 负责守住 schema、types、interfaces 这类共享边界;Hooks 把 lint、typecheck、tests、pre-commit 之类的检查前移;Fitness 和 CI 负责仓库级裁决,包括风险分级、人工 review、是否允许放行。前面三层如果没有建立起来,Harness 最多只能在末端捡垃圾;前面三层如果已经成立,Harness 才真正具备组织级治理意义。

换句话说,Harness 回答的不是 AI 多强,而是这次变更为什么足够可信。

为什么这四步必须是递进关系

这四层最容易被误解成一张能力清单,但它们其实有严格的依赖关系。

没有 Rule,Spec 只是在给一个无边界的 agent 提需求。 没有 Spec,Loop 只是在把错误更高效地放大。 没有 Loop,Harness 只能在 PR 和 CI 末端被动兜底。 只有先把默认行为收住,再把单次变更钉住,再把执行过程闭环起来,最后把结果接入质量与放行体系,AI Coding 才会从"偶尔能用"走向" 稳定交付"。

这也是我更愿意把这条路线理解成"控制面逐层外扩"的原因。Rule 是最内层,解决 agent 的默认行为;Spec 再往外一层,解决单次变更的范围纪律;Loop 把静态约束变成动态执行机制;Harness 则把前面三层汇总进组织治理。它不是四个独立模块,而是一条成熟度路线。

结语

AI Coding 的下一阶段,拼的不会只是模型能力,而是谁更早把工程经验转成机器可参与、组织可裁决的交付系统。

Rule,让 AI 先学会不越界。 Spec,让 AI 明确这次只该做什么。 Loop,让 AI 不能再把"我觉得差不多了"当成完成。 Harness,让 AI 的结果真正进入验证、评审与放行体系。

从 Rule 到 Harness,我们建设的不是一个更聪明的代码助手,而是一套能在工程边界内稳定工作的交付系统。真正拉开差距的,最后也不会只是模型,而会是谁更早把这套交付系统建出来。

关于我

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

微信公众号(Phodal)