夜雨聆风学习资料网

ARTICLE · 1222611

AI 让软件进入一次性消费时代:Capital One 首席工程师说有些代码写完就该扔

AI 让软件进入一次性消费时代:Capital One 首席工程师说有些代码写完就该扔

Capital One 首席软件工程师 Max Kanat-Alexander 在 AI Engineer Summit 提出「可抛弃软件」与「耐用软件」光谱——主张根据故障后果、依赖关系、替换与维护成本四因素决定工程投入,避免对一次性脚本过度设计或对核心系统投入不足。这件事揭示了"AI 时代软件工程"的"投入分级"新范式。

Max 指出,代码质量指标(可读性、测试、规范)的根本目的是帮助开发者理解系统真实行为并安全地修改它。

具体来说,第一,"可读性"——不是"看起来好看"——是"能被""未来的人"理解——包括"未来的自己"。第二,"测试"——不是"为了覆盖率"——是"保证""修改后""不出问题"。第三,"规范"——不是"形式主义"——是"降低理解成本"。第四,"结构混乱"的代价——理解难度会"随修改""指数级叠加"——形成"技术债恶性循环"。

这种"代码质量"的本质定义——是"面向未来修改"——不是"面向当下评审"——这是"AI 时代"更"重要"的定义。

二、AI 降低生成成本催生"可抛弃软件"

AI 大幅降低代码生成成本,催生大量"可抛弃软件"——这类代码无需遵循完整工程规范。

具体来说第一,"可抛弃软件"的特征——"用户少"、"依赖少"、"失败后果轻"、"重写便宜"——这四个特征共同定义了"可抛弃"。第二,"无需完整规范"——这类代码不需要"完整工程规范"——不需要"过度设计"。第三,"软件光谱"——软件处于"一次性"与"耐用"的"连续光谱"上——不是"二元对立"——是"连续谱"。

这种"光谱"思维——比"二元思维"更"准确"——避免"一刀切"的"工程规范"。

三、四维度评估框架

团队应通过四个维度评估风险,决定投入多少工程纪律。

具体来说,第一,"故障后果"——如果失败,"后果多严重"——严重则"高投入"。第二,"依赖关系"——有多少"其他系统"依赖它——依赖多则"高投入"。第三,"替换成本"——如果需要"替换",成本多高——成本高则"高投入"。第四,"维护成本"——长期"维护"难度——难度高则"高投入"。

这"四维度"框架——是"工程投入"的"决策依据"——避免"过度设计"和"投入不足"两个极端。

四、真正的可抛弃软件需要架构隔离

真正的"可抛弃软件"——需要"架构隔离"——不是"随便写"。

具体来说,第一,"限制数据访问"——可抛弃软件"不应该""随意访问""敏感数据"——这是"安全隔离"。第二,"禁止反向依赖"——核心系统"不应该""依赖"可抛弃软件——防止"污染"。第三,"保留回退系统"——如果可抛弃软件"出问题"——有"回退"方案——这是"风险控制"。

这种"架构隔离"——是"可抛弃软件"的"安全底线"——不是"无约束"的"随便"。

五、警惕临时工具"转正"为生产系统的技术债

最危险的情况——临时工具"转正"为生产系统——技术债"累积"。

具体来说,第一,"临时工具"变成"生产系统"——这是"AI 时代"的"常见陷阱"——因为"临时工具"跑得"好"——就"直接"上线。第二,"技术债累积"——临时工具"没有""完整工程规范"——上线后"技术债""累积"。第三,"转正触发器"检查清单——Max 建议用"转正触发器"——在"临时工具""转正"时——触发"工程规范审查"——这是"关键机制"。

这种"转正触发器"——是"AI 时代软件工程"的"重要实践"——防止"技术债"。

六、利用 Coding Agent 降低工程基建成本

Max 建议利用 Coding Agent 降低测试、Fake 服务、Lint 等工程基建的成本,让严谨变得更便宜。

具体来说第一,"测试"成本降低——Coding Agent 能"自动生成测试"——降低"测试成本"。第二,"Fake 服务"——能用"AI 生成""假服务"——用于"测试环境"——降低"环境搭建成本"。第三,"Lint"——"静态检查"——能被"AI"辅助——降低"代码质量检查成本"。第四,"严谨变便宜"——工程"严谨"需要"成本"——AI 让"严谨"变"便宜"——这是"关键"。

这种"严谨变便宜"——是"AI 时代软件工程"的"根本变化"——让"高质量工程"更"可及"。

七、对"AI 时代软件工程"的启示

这件事对"AI 时代软件工程"有重要启示。第一,"光谱思维"——软件不是"二元"——是"连续谱"——"工程投入"应"因地制宜"。第二,"架构隔离"——"可抛弃"需要"隔离"——这是"安全底线"。第三,"严谨变便宜"——AI 让"严谨"变"便宜"——这是"AI 时代"的"根本红利"。

八、对"AI 工程师"的启示

这件事对 AI 工程师有启示。第一,"四维度评估"——AI 工程师应"用""四维度""评估"每个"软件"——决定"工程投入"。第二,"Coding Agent"是"工程基建"——应"用 Coding Agent""降低工程成本"。第三,"代码质量"的"本质"——是"为未来修改提供可理解的结构"——这是"新标准"。

九、对"AI 时代软件价值观"的启示

这件事对"AI 时代软件价值观"有启示。第一,"过度设计"是"AI 时代"的"陷阱"——AI 让"生成"变"便宜"——但"过度设计"依然"浪费"。第二,"技术债"是"永恒"的"敌人"——不管 AI 多"强"——"技术债""累积"仍是"问题"。第三,"工程纪律"是"核心竞争力"——不是"所有代码"都要"高投入"——是"知道"哪些要——这是"判断力"。

十、潜在挑战

不过这件事也面临几个挑战。第一,"四维度"的"主观性"——"故障后果"、"依赖关系"等——"评估"可能"主观"——需要"共识"。第二,"可抛弃"的"定义漂移"——今天"可抛弃"——明天可能"需要维护"——"重新评估"是"持续过程"。第三,"转正"的"识别难度"——"转正触发器"——但"识别"何时"该转正"——可能"错过时机"。

十一、我的评价

Max 这个观点最让我认同的是它对"软件光谱"的清晰表述——软件不是"要么耐用要么一次性"的"二元选择"——是"连续的光谱"——每个软件都在"光谱"上的"某个位置"——"工程投入"应"匹配"这个"位置"。

这件事的更深意义在于——"AI 时代"的"工程纪律"不是"越多越好"——是"刚好够"。AI 让"生成"变"便宜"——也同时让"过度设计"更"明显浪费"。能"精准判断""哪些代码值得""高投入"的"AI 工程师"——是"AI 时代"的"核心竞争力"。

十二、反面观点

不过这个观点也面临一些讨论。第一,"可抛弃"的"文化风险"——如果"可抛弃"成为"默认"——可能"鼓励""懈怠"——需要"严格"的标准。第二,"架构隔离"的"成本"——"隔离"需要"架构设计"——不是"免费"的。第三,"转正"判断的"时机"——什么时候"该转正"——可能"太早"或"太晚"——都是"问题"。

相关学习资料