养虾36计虾24章经思享录 📝ShrimpFi 🎮Crypto Alpha 📊首页
@SingClaw
养虾36计 · 第二十二计

关门捉贼

在养虾语境里,关门捉贼不是围堵,而是把问题锁定在可控范围内,让虾在封闭环境里精准定位根因——不让问题扩散,也不让排查范围无限膨胀。

5 Why

  1. 为什么很多问题排查效率低?因为排查范围太大,变量太多,根因淹没在噪声里。
  2. 为什么范围会无限扩大?因为没有人主动"关门"——没有限定排查边界,什么都怀疑。
  3. 为什么虾适合做"捉贼"?因为虾可以在限定条件下快速穷举、对比、定位异常。
  4. 为什么需要先"关门"?因为只有缩小范围,虾的分析才有意义——在 100 个变量里找根因和在 5 个变量里找根因,效率差 20 倍。
  5. 为什么这是好策略?因为最快的排查不是看得更多,而是排除得更快。

What

关门捉贼,就是在遇到问题时先划定排查边界,然后让虾在这个封闭范围内做穷举分析。不是漫无目的地查日志、猜原因,而是先锁定"贼在哪个房间",再让虾把房间翻个底朝天。

Detail What

  • 边界定义:问题出在哪个环节?数据采集 / 处理逻辑 / 输出格式 / 外部依赖?先排除无关环节。
  • 变量控制:固定其他变量,只改一个——经典的控制变量法,虾执行起来比人快 100 倍。
  • 快照对比:出问题前的状态 vs 出问题后的状态,差异就是线索。
  • 二分排查:如果链路很长,先砍一半看问题在上游还是下游,递归缩小范围。
  • 根因锁定:找到根因后不急着修,先确认"只有这一个贼"——排除是否有连锁问题。

So What

关门捉贼解决的是排查效率问题。大多数人遇到 bug 或故障的反应是"到处看看",结果越看越慌。正确的做法是先关门——限定范围、控制变量、缩小搜索空间。虾在封闭环境里的分析能力远强于在开放环境里的盲目搜索。给虾一个小房间,它能翻出所有线索。

How(举一反三)

  1. 遇到问题先问三个问题:什么时候开始的?哪个环节的输出不对?最近改了什么?
  2. 用这三个答案划定排查边界,排除无关模块。
  3. 让虾在限定范围内做对比分析:正常时的数据 vs 异常时的数据。
  4. 如果范围还是太大,用二分法继续缩小:上游正常吗?正常的话问题就在下游。
  5. 找到根因后,让虾同时检查相邻环节——确认没有连锁故障。

举一反三:决策虾排查订单异常时先锁定时间窗口和交易对;内容虾排查输出质量下降时先锁定是模板问题还是数据源问题;运维虾排查服务异常时先锁定是网络、应用还是数据库。先关门,再捉贼。

🔗 相关计策

  • 趁火打劫 — 关门捉贼是围歼,趁火打劫是进攻——战术组合
  • 顺手牵羊 — 关门捉贼是围歼,顺手牵羊是游击——大小配合
  • 擒贼擒王 — 关门捉贼是围歼群体,擒贼擒王是打击核心——目标不同