Bob Belderbos:护栏守护你的代码库。什么守护你的判断力?
Cal Newport 警告称,由 AI 驱动的编码速度可能会侵蚀定义优秀工程实践的关键思维能力。开发者不再主动理解代码,而是面临被动识别的风险,从而与基础理解脱节。尽管有人主张完全回归手工编码,但作者寻求一种平衡之道。这种中间路径在于有意引入“摩擦”,这对学习与技能发展至关重要。技能退化并非源于使用 AI 本身,而是源于将内部建模过程外包。作者区分了技能退化与 AI 生成细微错误代码的潜在风险。为保持所有权与理解力,开发者应重新推导复杂的代码路径,并确保能够解释每一项变更。将 AI 任务限定在定义明确的问题上,有助于让工程师保持参与,并避免代码审查负担过重。Corey Schafer 的方法,如详细提示和彻底的代码审查,提供了保留这种摩擦的实用途径。然而,人类注意力是有限的,因此必须自动化其余任务。此时,“设计即正确”变得至关重要,需采用更严格的系统级检查,如强类型系统和编译期断言。Rust 通过使无效状态无法表示,强制 AI 合规;Python 中的类型检查器和验证模型则起到类似作用。归根结底,负责任地开发中使用 AI,既要求保留对关键决策的控制权以磨砺判断力,也要求实施严格规则以确保 AI 的问责性。软件工程本质上仍是判断与经验的产物,AI 负责自动化繁琐部分。核心要点在于识别并拒绝将最重要的决策委托给 AI,从而确保真正的所有权与健壮的代码。