一位写了500+技术文章、出过《Clean Code Cookbook》的资深工程师,最近公开了他的AI编程控制术。核心就一句话:别让AI猜,要逼它按你的规则来。
痛点:AI在"自由发挥"
用过GitHub Copilot或ChatGPT写代码的人都知道——AI生成的东西经常"看起来对,用起来错"。变量命名混乱、逻辑耦合、测试缺失。这位工程师指出,问题不在AI能力,而在提示词(Prompt)设计太松散。
大多数人写提示词像点菜:"给我写个登录功能"。AI只能基于概率"猜"你要什么风格、什么架构。结果?每次输出都像开盲盒。
解法:把规则"硬编码"进上下文
他的方法是强制约束(Force Constraints)。不是告诉AI"写干净代码",而是直接投喂:
• 项目现有的代码规范文件
• 具体的架构决策记录(ADR)
• 必须通过的测试用例列表
• 甚至直接贴一段"参考风格"的现有代码
「AI不会主动拒绝混乱,除非你明确禁止它。」
这和传统编程里的防御性编程逻辑一致——不假设调用方会按规矩来,而是用接口、类型、断言强制约束。现在只是把这套思路搬到了人机交互层。
为什么这能成?
底层是上下文窗口(Context Window)的利用效率问题。AI的"记忆"有限,你塞进去的规则越具体、越结构化,它"遗忘"或"曲解"的空间就越小。
这位工程师的实践数据很直接:用了强制约束后,AI生成代码的一次通过率从30%左右提升到70%+,后期重构时间砍半。
更关键的是可维护性——生成的代码风格统一,新成员读得懂,CI/CD不容易挂。
这件事的本质,是把AI从"创意助手"重新定位为"执行引擎"。创意还是人的,但执行必须可预期、可验证、可回滚。
当AI编程工具越来越普及时,"会写提示词"和"会设计约束系统",哪个才是工程师真正的核心竞争力?
热门跟贴