🐎 第7章 无为而治:Headless 模式与 CI/CD 集成
📄 一句话概括

一次性把权限全打开是最常见的失败方式——不是因为它危险,是因为它没法回退。 分四个阶段,每个阶段只多放一点权限:本地观察、PR 只读审查、自动修小问题、无人值守。 每一阶段都能停。

📝 本章和前面几章的关系

前面十一节是零件和实战,这一节收口。这一节也是第 7 章的最后一篇,本章小结并在末尾。 这一节的东西可以直接当自查表用:看自己现在在第几个阶段,下一步的准入条件是什么。

一、四个阶段各放什么

第一阶:本地观察。只读,人跑人看,出事的影响面是零。 第二阶:PR 只读审查。它能在 PR 上留评论,但改不了代码。 第三阶:自动修小问题。它能改文件、提 PR,人审 diff。

第四阶:无人值守流程。能改、能合、能发,人只看异常告警。 每一阶只多放一点权限,而不是一次放完——这是它和「直接上第四阶」的全部区别。

二、三份配置各在第几阶段

演示里三份配置:本地只读那份在第一阶,能改文件那份在第三阶,能合能部署那份在第四阶。 注意中间跳过了第二阶——这正是最常见的落地方式,也是最该警惕的。 因为第二阶的作用不是「多一个功能」,是「让人建立判断力」。

三、跳阶段为什么危险

第二阶的作用是「让人习惯看它的评论」。跳过去,人还没形成对它的判断力。 到第三阶它开始改文件,人才第一次认真看它的输出——而这时它已经有写权限了。 所以每个阶段不只是「多放权限」,也是「多给一段时间让人建立信任」。

信任不是靠一次演示建立的,是靠几十次「它说得对」积累的。

四、每一阶的准入条件

一进二:它的审查意见里,误报少到人愿意看。否则人会直接忽略评论。 二进三:它的修改里,八成不需要人再动。否则人在替它擦屁股,不如自己写。 三进四:它改错的那些,都能自动回滚。否则一次错就是事故。

三个条件都是可观测的:误报率、返工率、回滚成功率。不观测就升级,等于赌。

五、本章小结

第 7 章讲 headless。十二节收在一句话上:没人看着的时候,约束必须写在参数和权限里。 7.1 演进:交互靠人推,无人值守靠参数和退出码。 7.2 参数:输出格式、成本护栏、工具权限、执行控制,四个维度。

7.3 管道:一行一条记录,退出码要逐段看。 7.4 审查:官方 Action 省事,直接调 CLI 可控。 7.5 多阶段:越便宜越靠前,前面倒了后面不跑。

7.6 流式:不让你更快,让你更早。 7.7 会话:续下去更贵,买的是「不用重新交代」。 7.8 配置:CI 变量缺一个,行为就悄悄变形。

7.9 跨平台:命令一份,三处映射。 7.10 安全:五条原则,三条的后果很难撤回。 7.11 SDK:进程内调用,拿得到中间事件。

7.12 落地:四个阶段,每个阶段多放一点权限。

六、动手 Demo:四个落地阶段,怎么判断自己现在在第几个

一次性把所有权限打开,是最常见的失败方式——不是因为它危险,是因为它没法回退。 这里把四个阶段摆出来,再看三份典型配置各落在第几阶、缺什么才能往上走。

PH = [(u"一 本地观察", u"只读", u"人跑、人看", u"零"),
      (u"二 PR 只读审查", u"只读加评论", u"人看评论决定合不合", u"评论错了"),
      (u"三 自动修小问题", u"能改文件", u"人审 PR 的 diff", u"改错了要回滚")]

实跑输出:

--------------------------------------------------------------------
四个落地阶段,怎么判断自己现在在第几个
--------------------------------------------------------------------

  一次性把所有权限打开,是最常见的失败方式——不是因为它危险,是因为它没法回退。
  分四个阶段,每个阶段只多放一点权限,每步都能停。

  ① 四个阶段各放什么
  --------------------------------------------------------------------
| 阶段 | 它能做什么 | 人要做什么 | 出事的影响面 |
|---|---|---|---|
| 一 本地观察 | 只读 | 人跑、人看 | 零 |
| 二 PR 只读审查 | 只读加评论 | 人看评论决定合不合 | 评论错了 |
| 三 自动修小问题 | 能改文件 | 人审 PR 的 diff | 改错了要回滚 |
| 四 无人值守流程 | 能改、能合、能发 | 只看异常告警 | 事故直接上线 |


  ② 真跑:三份配置各在第几阶段
  --------------------------------------------------------------------
| 配置 | 它做什么 | 落在第几阶段 | 影响面 |
|---|---|---|---|
| config A | 本地跑,只读,结果自己看 | 一 本地观察 | 零 |
| config B | 能改文件,改完提 PR | 三 自动修小问题 | 改错了要回滚 |
| config C | 能改、能合、能部署 | 四 无人值守流程 | 事故直接上线 |

  三份配置分别落在第一、第三、第四阶段——注意中间跳过了第二阶段。

  ③ 跳阶段为什么危险
  --------------------------------------------------------------------
  第二阶段的作用是「让人习惯看它的评论」。跳过去,人还没建立对它的判断力。
  到第三阶段它开始改文件,人才第一次认真看它的输出——而这时它已经有写权限了。
  所以每个阶段不只是「多放权限」,也是「多给一段时间让人建立信任」。

  ④ 每一阶段的准入条件
  --------------------------------------------------------------------
| 这一步 | 满足什么才走 | 不满足会怎样 |
|---|---|---|
| 一 → 二 | 它的审查意见里,误报少到人愿意看 | 否则人会直接忽略 |
| 二 → 三 | 它的修改里,八成不需要人再动 | 否则人在替它擦屁股 |
| 三 → 四 | 它改错的那些,都能自动回滚 | 否则一次错就是事故 |


  ⑤ 本章小结
  --------------------------------------------------------------------
  第 7 章讲 headless。十二节收在一句话上:没人看着的时候,约束必须写在参数和权限里。
  7.1 演进:交互靠人推,无人值守靠参数和退出码。
  7.2 参数:输出格式、成本护栏、工具权限、执行控制,四个维度。
  7.3 管道:一行一条记录,退出码要逐段看。
  7.4 审查:官方 Action 省事,直接调 CLI 可控。
  7.5 多阶段:越便宜越靠前,前面倒了后面不跑。
  7.6 流式:不让你更快,让你更早。
  7.7 会话:续下去更贵,买的是「不用重新交代」。
  7.8 配置:CI 变量缺一个,行为就悄悄变形。
  7.9 跨平台:命令一份,三处映射。
  7.10 安全:五条原则,三条的后果很难撤回。
  7.11 SDK:进程内调用,拿得到中间事件。
  7.12 落地:四个阶段,每个阶段多放一点权限。
  下一章讲把多个会话组织起来:一个会话装不下的大活,怎么拆给几个同时干。
  ! 阶段划分是这一课的归纳,不是官方分级;用它做自查,不要当规范引用。

①四个阶段:本地观察(只读,影响面零)、PR 只读审查(能评论改不了代码)、自动修小问题(能改文件, 人审 diff)、无人值守(能改能合能发)。 ②三份配置分别落在第一、第三、第四阶段——中间跳过了第二阶段,这正是最常见也最该警惕的落地方式。 ③第二阶段的作用不是「多一个功能」,是「让人建立判断力」。 跳到第三阶段,它开始改文件时,人才第一次认真看它的输出——而这时它已经有写权限了。 ④准入条件都是可观测的:一进二看误报率、二进三看返工率、三进四看回滚成功率。不观测就升级,等于赌。

30 秒实验

  1. 给你现在的一个流程定个阶段编号。它满足进下一阶的三个条件吗?哪个条件你现在根本测不出来?
  2. 给第二阶段加上「只对特定目录的改动留评论」,重跑一遍。这会提高还是降低误报的影响?
  3. 把第四阶的回滚从「手动」改成「自动」,重跑一遍。「三进四」的准入条件变了吗?变严了还是变松了?

常见误区

  1. 直接上第四阶。没有前几阶的观察,你不知道它会在哪儿出错。
  2. 跳过第二阶段。人还没建立判断力,它就已经有写权限了。
  3. 不测就升级。三个准入条件都是可观测的,不观测等于赌。
  4. 把阶段当成「功能开关」。它是「信任的刻度」,不是「能力的档位」。
  5. 在一个流程上一步到位,然后推广到所有流程。先在一个流程上跑稳,再复制。
自测三问(点开对答案) 1. 四个落地阶段是什么? —— 本地观察、PR 只读审查、自动修小问题、无人值守流程。每阶只多放一点权限。 2. 为什么跳过第二阶段危险? —— 第二阶段是「让人建立判断力」的阶段。 跳过去,它开始改文件时人才第一次认真看它的输出,而那时它已经有写权限了。 3. 三个准入条件分别看什么? —— 一进二看误报率、二进三看返工率、三进四看回滚成功率。三个都是可观测的。

第 7 章到此收尾。下一章讲多智能体:一个会话装不下的大活,怎么拆给几个同时干。

相关笔记