Why Software Engineering Is Indispensable in the Age of Coding Agents
作者: Alfonso Fuggetta
分类: cs.SE, cs.AI
发布日期: 2026-10-07
备注: Accepted for publication in Communications of the ACM. 5 pages
💡 一句话要点
论证软件工程在智能编码时代的重要性
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 软件工程 人工智能 编码代理 可信软件 知识杠杆 软件质量 领域知识
📋 核心要点
- 核心问题:AI编码代理的兴起可能导致软件工程和软件工程师的角色被忽视,但这会造成软件质量问题。
- 方法要点:提出四个知识杠杆以填补AI辅助开发中的结构性空白,强调软件工程师的重要性。
- 实验或效果:通过理论分析,展示了软件工程师在确保软件可信性和可验证性方面的不可替代性。
📝 摘要(中文)
本文探讨了人工智能是否会使软件工程这一学科和软件工程师这一职业变得过时。作者认为,尽管AI编码代理的崛起使得软件工程和软件工程师显得不可或缺,但AI辅助开发仍然存在结构性空白,导致生成的软件可能误导、不可验证且不可信。为填补这一空白,需依赖四个知识杠杆:方法论知识、领域知识、设计选择和过程选择。每个杠杆都需要软件工程师作为方法论者、调解者和管理者进行具体化。
🔬 方法详解
问题定义:本文要解决的问题是,AI编码代理的崛起是否会使软件工程和软件工程师变得多余。现有方法的痛点在于,AI生成的软件可能缺乏可信性和可验证性,导致质量问题。
核心思路:论文的核心思路是强调软件工程师在AI辅助开发中的重要性,认为他们能够通过四个知识杠杆来填补AI生成软件的结构性空白。
技术框架:整体架构包括四个主要模块:方法论知识、领域知识、设计选择和过程选择。每个模块都需要软件工程师的参与,以确保生成软件的质量和可信性。
关键创新:最重要的技术创新点在于提出了四个知识杠杆的概念,强调了软件工程师在AI辅助开发中的不可替代性,这与现有方法的单一依赖于AI生成代码的思路本质上不同。
关键设计:关键设计包括如何将方法论知识、领域知识、设计选择和过程选择具体化为持久的工件,每个工件都需要软件工程师进行管理和维护。
🖼️ 关键图片
📊 实验亮点
本文通过理论分析指出,软件工程师在AI辅助开发中是不可或缺的,强调了四个知识杠杆的必要性。这一观点为软件工程的未来发展提供了新的视角,确保了软件的可信性和可验证性。
🎯 应用场景
该研究的潜在应用领域包括软件开发、AI辅助编程工具的设计以及软件质量保障等。通过强调软件工程师的角色,能够提升AI生成软件的可信性和可维护性,确保软件开发的高质量和高效率。
📄 摘要(原文)
Can AI make Software Engineering (SE) -- the discipline -- obsolete? And can it make software engineers -- the professionals -- redundant? This paper argues that the rise of capable AI coding agents makes SE and software engineers essential, not obsolete: the missing foundation without which AI-assisted development produces misleadingly plausible, unverifiable, and ultimately untrustworthy software. Three structural properties of large language models (probabilistic generation, agnosticism, and semantic statelessness) create a structural vacuum that no amount of training can eliminate. Filling it requires four knowledge levers: methodological knowledge, domain knowledge, design choices, and process choices. All four must be reified as persistent artifacts, and each requires the software engineer as methodologist, mediator, and custodian.