1. 依赖配置不是“填空题”,而是AI编程的上下文锚点我第一次在团队里用 AI 编程工具重构一个老项目时,把package.json当成了纯模板——看到提示就填版本号,AI 建议加什么依赖就加什么,devDependencies和dependencies全塞进dependencies,^和~混着用,甚至直接抄了别人项目里一长串resolutions。结果呢?本地跑通,CI 失败;AI 生成的修复脚本在同事机器上装不上;更糟的是,三天后我让 AI 基于同一段 prompt 再次优化同一个模块,它返回的代码居然和上次不兼容——不是逻辑错,是类型定义根本对不上。后来查日志才发现:AI 工具在解析项目上下文时,真正读取并信任的“事实源”只有package.json的依赖声明与锁定文件。它不看node_modules目录(太重、太乱),不猜你本地装了什么(不可靠),更不会去翻你.bashrc里的别名。它只认这一份结构化、可解析、带语义的契约。而我们随手写的"lodash": "^4.17.21",对人类是模糊的“大概用 4.x 最新版”,对 AI 却是明确的“允许升级到 4.17.21 → 4.17.999,但绝不跨到 5.x”。这个细微差别,在 AI 辅助编码、自动补全、依赖推导、测试生成等环节,会像多米诺骨牌一样层层放大。这不是理论问题。我在三个不同规模的项目中实测过: