内容提要
作者指出“编程已被AI解决”是误解。LLM虽能廉价生成代码,但软件的主要成本在于维护、可靠性、安全等非功能需求,且LLM缺乏逻辑与问责能力,仅适用于个人软件、概念验证等高风险容忍场景。过度使用AI会拖累服务质量,应重视质量与验证。
延伸解读
软件成本的大头在非功能需求
文章强调,LLM 虽能廉价生成代码,但软件的主要成本在于维护、可靠性、安全、可扩展性等非功能需求(NFR)。这些需求往往决定软件能否在生产环境中稳定运行。作者指出,即使功能需求也尚未完全解决,因此仅关注代码生成会忽略真正的工程挑战。
LLM 的逻辑短板与问责缺失
LLM 本质是概率模型,不擅长逻辑推理,且无法对错误负责。在医疗、金融、汽车等低风险容忍领域,错误可能带来金钱、生命或法律后果,需要明确问责。AI 无法承担后果,因此在这些场景中不能替代人类工程师的监督与控制。
适用场景:高容忍度与个人项目
作者认为 LLM 适用于个人软件、概念验证(POC)等高风险容忍场景,这些场景即使出错也容易修复或影响有限。但在需要雇佣工程师的专业领域,低风险容忍要求严格的质量与验证,过度依赖 AI 可能拖累服务质量。
警惕 AI 过度使用与质量下降
文章警告“AI 过量”现象:为 AI 而 AI 会引入愚蠢的 bug,导致服务退化。领导者不应强迫开发者将 AI 塞进每个环节。作者建议衡量服务等级而非代码行数等虚荣指标,并保留无 AI 的业余项目以保持编码技能。
Q&A
为什么说“编程已被AI解决”是一种误解?
因为LLM虽然能廉价生成代码,但软件的主要成本在于维护、可靠性、安全等非功能需求,而且LLM缺乏逻辑与问责能力,无法对错误负责。
LLM生成的代码在哪些场景下可以接受?
个人软件、概念验证(POC)以及故意用于造成伤害的武器化AI,这些场景的共同点是风险容忍度高。
为什么LLM难以胜任需要问责的软件开发?
因为AI无法被问责,不能承担后果,而医疗、金融、汽车、航空等低风险容忍领域需要问责,所以LLM不适合。
LLM在编写代码时存在哪些根本性缺陷?
LLM是随机和概率性的,不擅长逻辑,且随着输入和上下文窗口增大,准确性会下降。
过度使用AI编程可能带来什么风险?
可能导致服务质量下降,出现愚蠢的bug,并且当问题影响客户时,责任由开发者或公司承担。
对于领导者,作者关于AI编程有什么建议?
不要强迫聪明的开发者将AI强行塞进每个可能的界面和工作流程,因为AI过量使用会伤害客户,而你要为此负责。