技术债务在AI时代

《IEEE Software》:Technical Debt in the AI Era

【字体: 大 中 小 】 时间:2026年07月14日 来源:IEEE Software 4.0

编辑推荐:

  开发工具和环境的进步不断重塑技术债务挑战,支持消除某些技术债务的同时也导致产生新形式的技术债务。当前基于AI的方法和代理工具(agentic tooling)的快速发展也不例外;研究人员预计AI在软件开发生命周期中的使用将显著改变技术债务的积累和偿还。即使债务

  
开发工具和环境的进步不断重塑技术债务挑战,支持消除某些技术债务的同时也导致产生新形式的技术债务。当前基于AI的方法和代理工具(agentic tooling)的快速发展也不例外;研究人员预计AI在软件开发生命周期中的使用将显著改变技术债务的积累和偿还。即使债务的性质发生变化,理解和管理的需求仍将存在;面对熵(entropy,系统无序度),软件必须持续维护。本文中,研究人员提高对技术债务宣言(Technical Debt Manifesto)的认识,并讨论在由多元贡献者协作创建软件的不断演化的软件生态系统(包括专业软件开发者、利用AI工具的非开发者和自主代理)背景下,该宣言中技术债务管理的价值观、信念和原则。研究人员认为,无论软件如何创建,技术债务管理价值观、信念和原则的相关性不会改变。再次提及技术债务:在软件密集型系统中,技术债务是一组设计或实现结构(constructs),它们在短期内权宜,但设置了技术上下文(technical context),使得未来变更成本更高或无法实现。工程组织经常面临关于交付速度与交付系统质量或完整性之间权衡的艰难决策。在特定截止日期前交付的需求意味着设计和实现选择可能不以长期可扩展性(scalability)、可扩展性(extensibility)或可维护性(maintainability)为考量。组织会构建当前所需的内容,同时知道后续将面临更多工作以更好地构建。债务隐喻的本质是,工程能力现在是预支的,但知道将来需要更多能力来偿还债务。同时,利息以额外变更或维护成本的形式支付,这是由于既有债务所致。与金融债务类似,技术债务可以明智或不明智地产生和管理。明智地产生技术债务是深思熟虑且审慎考虑成本的结果。然而,由于工程组织做出许多此类决策,也需要采取原则性方法来整体管理技术债务。基于AI的软件开发和技术债务:AI工具无疑能加速软件开发,但速度提升必须谨慎权衡,并对照潜在质量问题评估。在某些情况下(例如引入安全漏洞),质量问题立即可见,可通过现有质量保证工具(如程序分析program analysis)识别。在其他情况下,质量问题可能不那么直接;可演化性(evolvability)或可维护性问题可能在代码编写数月后才被发现。当然,技术债务也会在人工生成的代码中累积,而通过赋能工程师更轻松地编写代码,AI也可能降低修复某些技术债务的成本。AI很可能既会向软件项目中添加技术债务,也会移除技术债务。正如代码格式化工具结束了关于括号位置的争论,AI可能使我们免于直接修复某些技术债务。但新释放的能力将使工程师探索新功能,导致更复杂的系统,同时产生新的技术债务。随着团队适应和调整工作方式,他们产生的技术债务形式可能会改变。尽管如此,团队往往会回归到由其风险容忍度和既有债务管理实践塑造的基准技术债务产生率。那么,软件工程团队应如何在AI时代有效管理技术债务?技术债务宣言:不久前,来自工业界和学术界的专家齐聚一堂,讨论当前技术债务管理实践、现有研究进展及不足。讨论被提炼成一个技术债务宣言,包含价值观、信念和原则,以帮助研究人员重新聚焦研究议程、从业者改进实践、工具供应商引领下一代软件质量工具。为有效驱动技术债务管理实践,研究团队秉持以下价值观、信念和原则:价值观:技术利益相关者之间的心理安全和信任;对所有利益相关者进行简单、可操作、基于价值的技术债务沟通,而非过度、琐碎、压倒性的细节;技术债务识别、测量和优先级排序中的透明度、可解释性和可复现性;定性和定量数据收集以及研究方法,以识别、测量和优先处理技术债务,而非单一方法;团队范围内的软件架构理解。信念:可持续软件交付需要积极主动和持续的技术债务管理;最有效的技术债务管理是在尽可能自动化的同时,在需要时保持手动;无论软件制品是由人类还是AI生产,都必须管理技术债务;开发者观察到的技术债务问题应予以处理,即使没有指标支持;技术债务指维护和演化问题,不应与软件开发中的其他类型问题混淆。原则:分担技术债务管理责任;根据上下文管理技术债务;收集全面数据以管理技术债务;避免一刀切的技术债务度量指标;构建具备人类监督的无缝集成技术债务管理工具链;使技术债务可见;提升架构在技术债务管理中的作用;开发适合目的的技术债务基准;做出有意向的技术债务权衡决策。研究人员认为,良好技术债务管理的基本原理在AI时代与无AI时代同样重要。基于AI的工具可能促进更快速的实验和探索,团队可能认为消除这些探索中的技术债务同样容易。因此,团队可能产生更多“鲁莽”的技术债务。已有令人信服的论点表明,AI将放大而非替代现有模式。直接引用:“拥有强大实践、灵活工作流和共享上下文的团队通常能立即看到[AI的]益处。依赖脆弱流程和隐性知识的团队可能会发现这些缺口比以往更明显。”也就是说,如果团队在没有AI的情况下未能良好管理技术债务,引入AI更可能使情况恶化而非改善。良好的技术债务管理原则没有改变,但它们在基于AI的团队中实践的方式值得直接审视。AI影响技术债务管理的关键点:技术债务宣言中列出的价值观、信念和原则适用于所有技术债务管理,但研究人员特别指出其中几条与基于AI的软件开发尤其相关。特别是,在使用AI进行软件开发中的独特能力和风险将使我们能够更好地收集技术债务数据并使其更可见。但AI可能无法访问隐性知识(tacit knowledge)来预防架构债务(architectural debt),或无法了解系统上下文(system context),这可能导致技术债务增加。所有这些将强烈依赖新赋能的工具链,这些工具链能更好地将人类和AI结合起来应对技术债务。AI工具在技术债务管理方面提供了独特机会,原因在于其高效收集数据的能力。具体而言,AI可用于收集与技术债务相关的全面数据,无论是通过源代码分析(例如检测设计坏味design smells或违反设计原则)还是通过检测自然语言中的自承认技术债务(self-admitted technical debt,例如在问题、代码注释或拉取请求中检测违反设计决策或过时技术)。这有助于应用原则P3“收集全面数据以管理技术债务”,通过整合和理解来自多种来源的数据(另见价值观V4“定性和定量数据收集以及研究方法以识别、测量和优先处理技术债务,而非单一方法”)。这些数据还需要由开发者业务利益相关者能明确的系统隐性知识来补充。这是AI无法自行合成的知识。它也转移了对单一易获取数据源(如源代码)的关注,并鼓励跨学科思维(例如来自经济学或行为科学)平衡开发者体验与业务目标。任何技术债务管理旅程成功的关键指标是技术债务的可见程度(原则P6“使技术债务可见”)。使用AI生成软件工程制品的速度及其巨大数量使得技术债务更难监控和控制。技术债务仍然隐藏在提交的新代码洪流之下(包括无意的技术债务),而此时正应清晰记录并仔细审查其演化。基于AI的方法可以在此处提供帮助,包括总结和呈现最相关的数据,以便软件工程师不被过量信息淹没,并能专注于与技术债务权衡最相关的内容。这种关注支持价值观V3“技术债务识别、测量和优先级排序中的透明度、可解释性和可复现性”。提高技术债务可见性也有助于分配其有效管理的责任。某些类别的技术债务可以委托给基于AI的工具——但始终在技术和业务利益相关者共同责任下,依据原则P1“分担技术债务管理责任”。基于AI的工具能力仍在演化。存在风险:AI工具可能遗漏大量架构知识(architecture knowledge),例如设计决策、技术选择、架构模式和设计原则;这些通常仍隐性存在于开发者的头脑中。缺乏这些知识,进行(自动化)变更的风险是破坏架构并产生一种更难修复的技术债务。开发者更有能力对齐并检查任何结构性变更是否符合架构,前提是他们自己对架构有良好掌握(见价值观V5“团队范围内的架构理解”)。基于AI的工具可以作为头脑风暴伙伴,提出关于架构的正确问题,减轻遗漏风险,并识别复杂系统设计中的相关细节。这要求从代码转向思考系统级质量属性及其如何受变更影响(原则P7“提升架构在技术债务管理中的作用”)。使用AI在软件开发生命周期中最具争议的概念之一可能是AI如何考虑系统和环境上下文以生成代码、重构或修复错误。如果没有清晰可测量的上下文核算,很难管理技术债务,尤其难以优先处理哪些需要首先修复以及估算修复成本(原则P2“根据上下文管理技术债务”)。由于上下文洞察力,开发者对技术债务的感知应优先于来自AI分析的数据(信念B4“开发者观察到的技术债务问题应予以处理,即使没有指标支持”)。开发者的理解和直觉通常无法明确表达,但它确实强调了开发的“痛点”,远胜于关注整洁代码和优化单一指标的AI工具。上下文的另一个重要部分是价值(value)概念,它支撑了最初产生技术债务的收益,且通常仍隐性存在于开发者头脑中。基于AI工具生成的软件制品可能减少个体和团队关于系统结构和行为的认知(有时称为认知债务cognitive debt)。所有这些上下文信息强调了需要将开发者置于决策中心以优先处理和偿还技术债务(原则P9“做出有意向的技术债务权衡决策”)。技术债务宣言指出“最有效的技术债务管理是在尽可能自动化的同时,在需要时保持手动”(信念B2)。这一信念意味着工具及工具开发者需要识别增加自动化的机会,同时保持人类核心地位。但基于AI的工具能在多大程度上增加自动化?AI工具可能能够自动化识别和管理更复杂类型的技术债务,例如设计坏味,识别模式的不良实现及其后果。然而,仍会有领域需要人类拥有更好的上下文和理解来识别技术债务所在以及如何修复。人类验证工具认为的技术债务是否确实是一个值得修复的问题,还是仅仅是在其他质量考虑(如性能)下可接受的优化,这仍然重要。这种工具与人类的合作关系将继续是技术债务管理的核心。因此,原则P5“构建具备人类监督的无缝集成技术债务管理工具链”应继续指导技术债务工具开发和管理。基于AI的工具链必须支持现有和新的开发工作流,同时使人类能够保留对技术债务决策的监督权。工具(无论是否基于AI)越能提供可靠数据并帮助优先处理和减少技术债务,人类就越能专注于无法自动化的系统设计权衡、质量问题和运营方面。展望未来:基于软件工程60年的历史,研究人员没有理由相信技术债务会消失。这使得基于一套共享的价值观、信念和原则工作更加相关,因为它们与过程、工具或AI供应商无关。无论系统如何开发和演化,管理技术债务都将是过程的一个方面,技术债务宣言中的价值观、信念和原则将是相关的。正如研究人员之前的思维实验所设想的当技术债务消失时会发生什么,只要依赖软件系统来协助任务,技术债务就将是现实。软件开发机制会改变,谁执行什么任务可能转移,但仍有需要开发、演化和维护的软件系统。拥抱技术债务管理中的价值观、信念和原则将有助于经受住AI的考验,同时继续专注于提高最终用户软件系统的质量、相关性和及时性。
**论文解读:技术债务在AI时代——原则的恒常性与实践的演变**

**1. 研究背景与问题**

在软件开发工具和环境持续进步的背景下,技术债务(Technical Debt,指软件系统中因短期权宜设计而增加未来变更成本的累积问题)的挑战不断被重塑。一方面,新工具支持消除部分既有债务;另一方面,它们也催生了新形式的债务。当前,基于人工智能(AI)的方法和代理工具(agentic tooling,能够自主执行任务的软件组件)的快速发展也不例外。研究人员预计,AI在软件开发生命周期中的广泛应用将显著改变技术债务的累积与偿还模式。然而,技术债务的根本性质是否随之改变?传统的管理原则是否依然有效?在软件生态系统日益由专业开发者、非开发者用户及自主代理协作的背景下,如何有效管理技术债务成为亟待解决的问题。该研究旨在探讨AI时代下技术债务管理的核心原则是否仍然适用,并分析AI对技术债务管理实践的具体影响。该论文发表于《IEEE Software》。

**2. 主要技术方法**

研究人员并未采用具体的实验或队列研究,而是基于理论分析与文献综述的方法。核心方法是回顾并提炼“技术债务宣言”(Technical Debt Manifesto)中提出的价值观、信念与原则,并针对AI驱动的软件开发情境,通过逻辑推理和现有研究证据(如关于AI放大而非替代现有模式的观点)进行批判性讨论。此外,研究人员采用了概念分析的方法,识别AI工具在数据收集、可见性、架构知识、上下文理解及自动化等方面的独特能力与风险,从而评估这些因素如何影响宣言中各项原则的实践。

**3. 研究结果**

**3.1 AI与技术债务的双重影响**
AI既会添加技术债务,也会移除技术债务。通过赋能工程师更易编写代码,AI可能降低修复某些债务的成本。但新释放的能力将使工程师探索更复杂系统,从而产生新的技术债务。团队倾向于回归由其风险容忍度决定的债务产生基线率。

**3.2 技术债务宣言的核心价值**
宣言中的价值观(如心理安全、简单沟通、透明度、多方法数据收集、架构理解)、信念(如持续管理、自动化与手动平衡、债务与贡献者无关、开发者直觉优先、债务专指维护演化问题)以及原则(如分担责任、上下文管理、全面数据、避免单一指标、工具链与人类监督、债务可见性、提升架构角色、合适基准、有意决策)在AI时代依然相关。

**3.3 AI对关键原则的具体影响**
- **数据收集(原则P3)**:AI能高效收集全面数据(如通过源代码分析检测设计坏味,或从自然语言中发现自承认技术债务),但需补充开发者隐性知识。
- **可见性(原则P6)**:AI生成大量制品使债务更易隐藏,但AI也可通过总结呈现最相关数据来辅助提升可见性,支持透明度价值观(V3)。
- **架构知识(原则P7)**:AI可能遗漏架构知识(如设计决策、模式),缺乏上下文,导致架构债务增加。人类开发者因掌握隐性知识而能更好地检查变更的架构符合性。
- **上下文与价值(原则P2、B4)**:AI难以完全理解系统上下文和价值,因此开发者的直觉和感知应优先于AI分析数据,尤其当债务未被指标支持时。
- **自动化与人类监督(信念B2、原则P5)**:AI能自动化识别复杂债务类型(如设计坏味),但人类仍需验证工具的判断是否真正为值得修复的问题。工具链必须支持人类对技术债务决策的监督。

**4. 讨论与结论**

**讨论总结**:研究人员强调,技术债务不会因AI而消失。AI时代下,良好技术债务管理的基本原则依然稳固。AI可能放大既有模式:管理不善的团队引入AI只会使问题更严重。实践的关键在于利用AI的数据处理能力提升债务可见性与管理效率,同时必须保留人类的上下文理解与决策监督角色,尤其是在架构和隐性知识层面。需要构建无缝集成且有人类监督的工具链,以平衡自动化与人类判断。

**研究结论部分翻译**:基于软件工程60年的历史,研究人员没有理由相信技术债务会消失。这使得共享一套价值观、信念和原则更加相关,因为它们与过程、工具或AI供应商无关。无论系统如何开发和演化,管理技术债务都将是过程的一个方面,技术债务宣言中的价值观、信念和原则将是相关的。软件开发机制会改变,谁执行什么任务可能转移,但仍有需要开发、演化和维护的软件系统。拥抱技术债务管理中的价值观、信念和原则将有助于经受住AI的考验,同时继续专注于提高最终用户软件系统的质量、相关性和及时性。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号