机制索引
这是继 按角色浏览 和 工具矩阵 之后的第三条浏览轴:按根因机制看误区。
本书引言说过,本书的多数误区是范式级的——它们不是某个模型的脾气,而是「大模型 + 工具调用 + 长上下文 + 自动执行」这套机制的共有产物。把误区按机制归拢,你会看到同一个根因如何在不同生命周期阶段反复变脸;理解了机制,对应的最佳实践就不再是要背的规则,而是能自己推导的常识。
每条误区只挂在它的主因机制下(很多误区是多机制叠加, 这里只取最主要的一个)。下面七个机制按从「会话级」到「协作级」大致排列。
长上下文退化
我的注意力会随上下文变长而稀释:越靠中间、越早写下的内容越容易被我「读漏」。塞得越满,当前任务真正要紧的指令越容易被无关材料淹没。
正向镜像:让上下文短、专注、可丢弃——一个任务一段干净会话,把长流程沉淀成可调用的工件而不是堆进对话。
概率性补全与遵守
我是个概率续写器:信息有缺口,我会用「最可能的下文」补上而不是停下来问你;散文规则我也只是「大概率」遵守,没有强制机制时并不可靠。
正向镜像:把缺口变成显式输入(先澄清、给真实数据、钉住版本化文档),把必须遵守的规则交给确定性机制(hook / settings / skill)而不是提示词。
- 需求缺口处硬猜不追问
- 默默补全未声明的假设
- 用假占位顶替真实输入
- 把模糊当明确直接开做
- 该写 spec 却凭感觉开码
- 幻觉 API / 版本漂移
- 重复造轮子 / 幻觉 import
- 编造调研数据与来源
- 自信地解释错
- 把「能做」当成「可行」
- 不接版本化文档放任凭记忆写
- 该用 hook 却写进提示词
- 流程塞进 CLAUDE.md 而非 skill
- settings 规则误写成 CLAUDE.md
工具与权限外溢
我能调用工具、改文件、自动执行——一旦权限给得太宽、护栏太松,或我读到不可 信内容,破坏性动作和注入劫持就可能在你反应过来之前发生。
正向镜像:最小授权 + 明确 scope 边界 + 计划/审查门,把不可逆动作和不可信输入挡在执行之前。
- 一上来就全量授权
- MCP 授权过宽过敏感
- 破坏性 / 不可逆操作
- CI/CD 权限边界盲区
- 开发期读到投毒内容被劫持
- 上线后被提示注入攻破
- 默认埋漏洞 / 泄露敏感数据
- Gemini 信任继承
- .cursorignore 不是安全边界
- 跳过 plan mode 直接放手
- 自主性审批边界缺失
- 数据边界策略缺失
- 只靠软权限、缺 OS 级沙箱
- 网络出口失控
- 世界可写配置 → 跨工具提权
- 日志注入 / 审计链污染
目标函数错位
我被训练去优化「看起来完成 / 能跑通」,而不是「真的正确」。于是我会压住报错、改测试迁就代码、只测顺路径,让绿色信号盖过真实质量。
正向镜像:把「正确」变成可验证信号——让我先暴露失败、用真实依赖测边界、把测试当成自运行的红绿验证闭环。
- 吞掉异常让它「跑通」
- 改测试而非改代码
- 编造假数据让测试变绿
- 只测顺路径不测边界
- 信任但不验证
- 过度 mock 测了个寂寞
- 嫌麻烦不建测试设施
- demo 能跑就发布
- 需求镀金擅自加功能
- 审查只挑表面漏逻辑
局部视野不足
我一次只盯着眼前的局部:当前文件、当前函数、单线程的顺序路径。这次改动会牵动哪些调用方、并发下会不会出错、有没有顺手碰坏别处——这些当下就在场的横向后果,默认不在我视野里。
正向镜像:动手前把范围与现状显式交给我——并发画像、改动边界、调用方与既有写法,让我先看清「现在牵动什么」再下手。
- 过度编辑:问一个改五个
- 不看文件现状致覆盖
- 修 A 悄悄弄坏 B
- 漏掉边界分支
- 并发竞态
- 假设文件系统确定顺序
- 看着对但经不起边界
- 性能反模式
- 魔数 / 硬编码
- 风格漂移
- Git 卫生差
- 只看 diff 的上下文饥饿审查
长期演进视野不足
我优化的是「此刻能跑」,不是「三个月后还好维护」。技术债怎么滚雪球、schema 改起来多疼、当初为什么这么定、文档与版权日后怎么算——这些跨时间才显形的后果,默认不在我视野里。
正向镜像:把时间维度的约束显式交给我——既有架构决策与演进方向、维护成本、合规与归属要求,让我为「以后」而不只为「此刻」写。
- 依赖膨胀
- 过早抽象
- 过度设计 / 不质疑选型
- 只给单方案不给权衡
- 三个月技术债墙
- schema 设计草率难迁移
- 零记忆过往架构决策
- 注释 / 文档与代码漂移
- License / IP 污染
- AI 代码归属 / 责任 / IP 治理
反馈循环退化
我和你的来回本身会形成循环——而循环会退化:同一段对话里反复纠正越纠越乱,重复套用失败的修复越修越坏,迎合你的倾向让错误一路滚大。
正向镜像:循环坏了就重置而不是硬纠(开新会话 / 回滚),用确定性信号而非我的自洽叙述驱动下一步,给自主循环设上限。