麦式参考 MickerBook Reference

完成层级

Evidence Level

也常被叫作:现实层级做到哪一层完成度

你可能会这么说

「他说跑通了,我说没好,我们到底在说同一件事吗?」

完成层级 Evidence Level

同一句「做完了」可能站在六个完全不同的层上,说清是哪一层,争吵就消失了。

六层:概念 → 实现 → 测试 → 运行时 → 主路径 → 生产。概念是「说清了要做什么」;实现是「代码写完了」;测试是「有自动检查通过」;运行时是「在本机真的跑起来了」;主路径是「真实用户的正常操作能走通」;生产是「线上有效,且能回滚、看得见问题」。

这套尺子不是理论,我们每验收一次东西就要用它量一遍。上个月复验一个同事重新打包的交付包,没有人只听她说「复验完了」——而是逐项核对:SHA256 一致、25 个文件同步、两套模板的契约都对、泄漏扫描零命中。每一项都对应一层现实,所以最后那句「交付完成」才站得住。如果当时只回一句「好的」,这次验收就只剩气氛。

反面那半我们也有:一台新架构的机器要跑某个模型,真实速度多快,团队里每个人都有推断、没人有实测。所以它到现在只能算「概念」层——谁也不对外说「家里能用」。这不是保守,是尺子上就没有那一格。

绝大多数「明明说好了却出事」,都是层级偷换:他在第 3 层说完成,你以为是第 6 层。两个人都没说错话,但对着不同的现实。而且层级不能跳——第 3 层的证据永远推不出第 5 层的结论,因为测试可以绕过真实入口,本机可以绕过线上环境。

用起来就三个动作:开工前先定目标层(改个文案到第 4 层就够,动数据库和线上必须奔着第 6 层去);听汇报时从第 1 层往上逐层问「证据呢」,断在哪层就停在哪层;下需求时直接声明「这次要验到第几层」,它汇报时就会带着证据来。能证明到第几层,就只说到第几层——说低了不丢人,说高了要还。

长什么样 真实可交互,不是截图

1 概念2 实现3 测试4 运行时5 主路径6 生产
他说「跑通了」可能是第 3 层:测试脚本过了
你以为的「好了」通常是第 5 或第 6 层:用户能用
差 2-3 层 就是「明明说好了却出事」的全部原因

这六个格子值得记住。以后每次听到「完成」,先在心里指一下:他站在第几格?

拆开看,里面有这几块

  1. 1
    概念 Concept

    需求说清楚了,别人能复述。还没有任何东西在跑。

  2. 2
    实现 Implementation

    代码写完了,看得见改了哪些文件。没被验证过。

  3. 3
    测试 Test

    有自动检查通过。注意:测试可能绕过了真实入口。

  4. 4
    运行时 Runtime

    在本机真的跑起来了,你能亲眼看到结果。

  5. 5
    主路径 Main path

    真实用户的正常操作能走通,不靠特殊参数、不改配置。

  6. 6
    生产 Production

    线上真实环境有效,有回滚方案,出问题看得见。

常见的有哪几种

往上一层要新证据Level up

每上一层都需要新的观察,不是新的措辞。

用在:他反复保证但拿不出新证据时

层级不能跳No skipping

测试通过推不出线上可用,中间还有构建、部署、缓存。

用在:听到「测试过了所以没问题」时

按风险定目标层Risk-based

改文案到第 4 层就够;动数据和钱必须到第 6 层。

用在:决定这次要不要全套验收

容易搞混?这样区分

完成层级 完成宣称 Completion Claim

宣称是那句话,层级是量它的尺子。听到宣称先别答应,先量层级。

看 完成宣称
完成层级 测试覆盖率 Test coverage

覆盖率是第 3 层内部的一个数字,它再高也不会自动把你送到第 5 层。100% 覆盖的代码依然可以在真实入口下白屏。

什么时候用得上

对方汇报时

问一句「这算到第几层」。用过一次之后,很多人会自己开始分层汇报。

你自己汇报时

同样有用。对老板说「代码写完了,还没在线上验」,比说「做完了」安全一百倍。

决定要不要上线

看清当前站在第几层,缺的那几层就是你上线前要补的证据。

你可以这样跟 AI 说

直接复制下面这段,把【】里的换成你的情况。它比一句「帮我加个 X」多说清楚了:改哪里、不许动啥、做完交什么。

以后你汇报进度时,请明确说明当前站在下面哪一层,并说明依据:

1 概念:需求说清了,还没动手
2 实现:代码写完了,没验证
3 测试:有自动检查通过(说明测的是哪条路径)
4 运行时:本机真的跑起来了(说明我怎么打开看)
5 主路径:真实用户的正常操作能走通
6 生产:线上有效,且有回滚方案

规则:能证明到第几层就只说到第几层,不要用低层证据宣称高层结果。说"第 2 层"完全可以接受,说"完成"但其实只到第 2 层不可以。

这段话的效果常常出乎意料:一旦要求分层,很多含糊的「已完成」会自动变成诚实的「第 2 层,还没跑过」。

它说「做好了」,你怎么自己验

这是本站的重头戏。AI 最会的不是写代码,是说「已完成」。这一条,它通常最多做到「概念」这层:只是说清了要做什么,还没有任何东西在跑。

要亲眼看到这些,才算数

  • 把这次任务的目标层级先写下来:你要的是第 4 层还是第 6 层?
  • 听到完成宣称时,逐层问一句「有什么证据」,看在哪一层断掉。
  • 确认没有跳层:第 3 层的证据不要当第 5 层用。
  • 改动越不可逆(钱、数据、删除、线上),要求的层级越高——这一条要在开工前就定。

它常这么糊弄你

  • 「本地测试全部通过,可以上线了」——第 3 层直接跳到第 6 层,中间三层全部省略。
  • 「代码已经写好了,功能就是好的」——第 2 层冒充第 5 层。代码存在不等于行为正确。
  • 「我看了一下逻辑,应该没问题」——连第 2 层都没到,这是第 1 层的推理。
  • 给出一堆截图但全是本机端口。看地址栏:localhost 是第 4 层,域名才可能是第 6 层。

这是一把尺子,本身停在「概念」层。但它是全站唯一一条:只要你开始用它量,其他所有验收都会变简单。

考考你 选一个你觉得对的

AI 说「单元测试全部通过,这个功能已经完成了」。它实际站在第几层?