【AI编程】 防止AI编程中的膨胀
____tz_zs (2026-09-09)
问题
AI 容易把上一轮生成的实现、测试和文档,当成下一轮已经确认的需求与设计约束
形成:
临时实现 → 测试固化 → 文档规则化 → 更多实现与测试
职责划分
入参出参、业务语义、模块职责,应以签名、类型和设计文档为权威。
职责应当明确:
- 函数签名和类型:表达参数、返回值、可空性等结构。
- docstring 和必要注释:说明单位、前置条件、异常、副作用、模式与生命周期等业务语义。
- 模块文档:仅说明跨函数、跨模块且代码附近不容易讲清楚的设计。
- 测试:检查选定场景是否遵守这些约定,不替代约定,也不自行创造约定。
解决方案:防膨胀条款
- 以当前任务为边界。 小改动不自动扩展为架构升级、全量审查、补齐测试或文档治理。
- 区分需求、契约与实现细节。 AI 建议、测试样例和历史实现,不因已经存在就成为必须保留的规则;未写进文档的既有行为,也不能忽略真实调用依赖。
- 按风险选择验证。 优先验证受影响的行为和关键不变量,不机械增加测试文件或每轮运行全部测试。
- 抽象与兼容要有依据。 不为假想需求提前增加父类、接口、配置项或兼容层;兼容需要先确认实际使用和发布情况。
- 文档只保存长期价值。 普通任务完成不自动触发文档维护,不把排错过程、临时方案和测试清单固化为长期要求。
- 允许删减已有负担。 确认过时、重复或只锁定实现细节的测试与文档,应适当放松或清理,不为了满足它们反向扭曲设计。
总原则:需求决定约定,约定指导实现与验证;流程服务于任务,不让任务服务于流程。
补充解决方案(2026-10-17 )
这篇文章是 2026-09-09 写的,今天是 2026-10-17 ,补充解决方案:
1、最佳解决方案的重点是:将 ChatGPT 换成 claude opus 5.5 做总体设计吧(笑,笑不出来)。有富余的话,文档管理也用 claude 模型,他不会有问题。ChatGPT 写文档最容易膨胀。
2、升级 Skill 解决不了膨胀,方向得反过来做减法。
3、随着AI越来越智能,Prompt 和 Skill 可能反而产生了负作用,切记"少即是多"。