TRIGGERS 多场景同时命中时只读第一条,漏了后续路由

📅 2026-06-13

症状

你看到什么?

用户说"审计五件套"来审计一个 Excel 文件。这是一个数据录入项目,TRIGGERS.md 有两条路由同时命中:

  • “审计五件套 / 跑审计” → 加载 audit-four-piece.md
  • “数据录入项目” → 加载 audit-four-piece-data.mdexcel-com-audit.mddata-cross-verify.md

但实际操作中只读了第一条(通用版),漏了数据版三条。用户提醒"我记得优化过你的记忆啊,为什么还做不到"——因为之前已经修过这个问题,但触发匹配逻辑没改彻底。

后果:跑完审计流程后,数据特有的坑(收支=明细交叉验证、实发=应发检查、Excel COM 修复模式)全部没做。

根因

到底为什么出问题?

  1. 匹配策略是"命中即停":扫到第一个匹配行就停下来加载了,没继续往下扫
  2. 没有 OR → AND 的思维转换:多条路由匹配同一任务时,取的文件应该是并集(AND),不是第一个命中(OR)
  3. TRIGGERS 表设计有盲区:通用路由和专用路由分开写,但加载逻辑没做合并
  4. 事后没自检:加载完文件后没问自己"用户说的是审计+Excel,我有没有读 Excel 相关的路由?"

修复

怎么做?

匹配策略改为"全量扫描 + AND 合并"

TRIGGERS.md

例如用户说"审计这个 Excel":

123:::="""{a4uEdxi"ct"e-lf"oauuardu-ideptixi-tcef-ecofleuo-.rucm-rodp-m,ip-eiaaceuuecdd.eiim-ttdd.-amftdoau.rm-dp,ieecxec-edla-tcao.mm-da,udeixtc.emld-,codma-taau-dcirto.smsd-,vedraitfay-.cmrdoss-verify.md}

自检问题(加载完文件后问自己):

  1. 用户提到了哪些关键词?
  2. TRIGGERS.md 里有多少行匹配了这些关键词?
  3. 我有没有全部读?

怎么避免

下次怎么不踩?

  1. 扫全表不早停:触发匹配时遍历 TRIGGERS.md 全部行,收集所有匹配项
  2. AND 合并取并集:多条路由的文件列表取并集,去重后全读
  3. 自检三板斧
    • 用户说了什么关键词?
    • 还有什么场景也匹配这个关键词?(翻 TRIGGERS 全表确认)
    • 全量加载了吗?
  4. 用户纠正过的地方加红线:这个坑已经被纠正过了,TRIGGERS.md 里"审计五件套"行的文件列表已更新为全量