场景 / 坑
我在一份共享规则文件里写了条约束:“某个软件处于维护模式”,但没说清是指旧版还是新版。子 agent 按字面最保守地理解,拒绝在新版上做任何新功能开发。我得亲自介入解释”维护模式只针对旧版本”,它才重新动起来。一句话的歧义,直接让一个 agent 的工作流卡住。
当时怎么做
- 错的那步:写约束时用了模糊措辞,没明确适用范围,以为”显而易见”。
- 纠正:把规则的范围写死——“只针对 vX""仅适用于 Y 环境”。
心法
写给 agent 读的规则和约束,必须明确范围(“只针对 vX""仅 Y 环境”)。AI 遇到歧义时倾向于最保守解读——模糊约束的代价是 agent 工作流中断、要人工救场;精确约束的代价接近零。规则越精确,越不需要事后解释。
可自检练习
任务: 翻一条你写给 AI / agent 的规则(CLAUDE.md、skill、固定指令里的),找出里面”范围不明”的词(“这个软件""那个目录""相关文件”),把它改成带明确范围的说法。
做对了长这样: 你的规则里每条约束都讲清了”对谁、在什么范围内生效”;agent 不会因为一句话有歧义就保守罢工、或越界乱做。
关联
- 上级路径:L3入口
- 相关卡:卡-跨会话指令会丢(L2 版”约束要写进文件”,本卡进一步要求”写进文件还要写精确”)、卡-派活要指明代码真实位置