《AI 渐进编程》之十九:Agent 为什么也会制造技术债?
很多人使用 Agent 编程时会有一个期待AI 写代码更快项目维护成本是不是也会更低不一定。现在也常听到一些说法某些项目的代码几乎全部由 AI 生成甚至“100% 由 AI 写代码”。但这里要区分两件事AI 生成代码文本和AI 完成软件工程不是一回事。AI 可以生成一行代码、一个函数、一个页面甚至一组补丁。但真正的软件工程还包括需求澄清、架构设计、数据模型、模块边界、关系分析、测试验收、部署维护和技术债清理。把“AI 生成代码”说成“AI 完成项目”就像把“机器搬砖”说成“机器设计并建成了一栋楼”。Agent 确实可以降低代码生成成本但不会自动降低工程复杂度。如果缺少架构约束、关系分析、验收机制和清理动作Agent 也会制造技术债而且可能制造得更快。一、Agent 提高的是速度不是工程判断Agent 很擅长生成代码。它可以快速增加接口修改页面补充函数生成测试批量处理文件。但软件项目的难点不只是“代码怎么写出来”。更难的是数据模型是否合理模块边界是否清楚接口是否稳定修改会不会影响其他功能当前方案会不会限制未来维护。这些问题属于工程判断。Agent 可以参与分析但不能自动替代判断。二、关系债AI 看到关键词却看不见关系项目变大以后代码之间的关系不再只靠文件名和关键词决定。一个函数可能被多个模块调用。一个字段可能影响数据库、接口和前端展示。一个 CSS 类可能同时作用于多个页面。一个配置项可能改变测试、部署和权限。但 Agent 常常会根据关键词定位文件。它看到login就修改登录文件看到cart就修改购物车文件看到button就修改按钮样式。问题在于真实影响关系不一定写在关键词里。很多关系藏在调用链里数据流里组件依赖里配置关系里历史兼容逻辑里。于是就会出现当前问题修好了相关功能却坏了。这就是关系债。它不是简单的代码错误而是 Agent 对项目关系理解不足造成的长期成本。三、残留债AI 喜欢追加不喜欢清理Agent 还有一个常见倾向为了避免删错先保留旧代码再新增一套逻辑。短期看这样比较安全。长期看项目会越来越臃肿。常见现象包括旧函数没有删除旧样式继续存在旧注释没有同步备份文件留在项目里临时代码变成永久代码重复逻辑同时存在新旧命名混在一起。代码不是只要能跑就行。代码还要能读、能删、能维护。如果 Agent 只会追加不会清理项目就会一层一层沉积下去。四、为什么这两类债特别危险关系债和残留债一开始都不明显。关系债的表现是本轮任务通过了但别的地方悄悄坏了。残留债的表现是当前代码还能运行但项目越来越难读。它们不会立刻爆炸而是慢慢积累。等到下一轮修改时人和 Agent 都会面对一个更混乱的项目不知道哪个函数还在用不知道哪个文件是旧版本不知道哪段注释还可信不知道哪个样式会影响哪个页面。这时AI 不但没有降低维护成本反而增加了维护难度。五、修改前先做关系分析避免关系债不能只让 Agent 搜关键词。在修改前应该要求它先回答这个函数被谁调用这个组件在哪些页面使用这个字段从哪里来、到哪里去这个样式是不是全局样式修改后可能影响哪些测试可以把这一步写进current_task.md修改前必须说明 1. 本次涉及哪些函数、组件、接口或样式 2. 它们被哪些地方调用或引用 3. 可能影响哪些功能 4. 用哪些测试或截图验证影响范围。这一步不是形式主义。它是在强迫 Agent 从关键词定位转向关系分析。六、修改后必须清理残留避免残留债不能只验收“功能是否可用”。还要检查是否留下旧函数是否留下重复逻辑是否有废弃注释是否有备份文件是否有临时代码是否有应该删除但没有删除的内容。可以在验收标准里加入本轮修改不允许保留无用旧版本代码。 如果确实需要保留必须在 revision_log.md 中说明原因和清理时间。这样Agent 就不能把“为了安全先保留”当成默认策略。七、真正的 Agent 工程也包括删除很多人使用 AI 编程只关注生成生成代码生成页面生成接口生成测试。但长期项目里删除同样重要。要删除旧代码错误注释重复逻辑临时方案失效状态过期文档。没有删除项目只会越来越厚。Agent 的任务不应该只是完成本轮功能。还应该包括保持项目结构干净。

相关新闻

现代C++ :constexpr:一个常态的世界

现代C++ :constexpr:一个常态的世界

引言我们已经连续讲了几讲比较累人的编译期编程了。今天我们还是继续这个话题,但是,相信今天学完之后,你会感觉比之前几讲要轻松很多。C 语言里的很多改进,让我们做编译期编程也变得越来越简单了。初识 constexpr我们先来看一些例…

2026/7/20 12:04:12阅读更多 →
YOLO训练loss不收敛的排查清单:从学习率到数据增强的20个调试点

YOLO训练loss不收敛的排查清单:从学习率到数据增强的20个调试点

引言:为什么你的YOLO模型训不好? 很多开发者拿到YOLO后,直接复制一段model.train()代码就开始跑,结果发现——mAP卡在0.3上不去、Loss震荡不收敛、训练集表现很好但测试集一塌糊涂(过拟合)。 根本原因在于:你没有理解每个参数背后的物理意义。 2026年,YOLO家族迎来了…

2026/7/20 8:17:10阅读更多 →
YOLOv11自定义数据集训练的YAML配置文件逐行解读:每个参数背后的意义

YOLOv11自定义数据集训练的YAML配置文件逐行解读:每个参数背后的意义

前言:别让配置文件成为你训练路上的第一个坑 凌晨三点,盯着屏幕上的训练日志,Loss曲线死活不收敛。明明改了网络结构,训练时却完全不生效——最后发现是YAML文件里一个缩进错了,两个空格被换成了Tab键。 这是很多CV开发者第一次接触YOLOv11时都会踩的坑。 很多人把YAML…

2026/7/20 1:05:10阅读更多 →
小白程序员也能入局:2026年AI大模型应用开发工程师高薪转型指南

小白程序员也能入局:2026年AI大模型应用开发工程师高薪转型指南

AI行业风向已变,重心从自研大模型转向应用开发。AI大模型应用开发工程师通过二次开发将现成模型转化为实用产品,需求激增,薪资高达77万。该岗位工作包括大模型应用落地、提示词工程优化、RAG架构搭建、模型适配轻量化及产品迭代维护。技能门槛…

2026/7/20 12:07:54阅读更多 →
武汉云克隆推出犬脐带间充质干细胞原代产品,赋能宠物再生医学新赛道

武汉云克隆推出犬脐带间充质干细胞原代产品,赋能宠物再生医学新赛道

近日,武汉云克隆科技股份有限公司(Cloud-Clone Corp.)宣布正式推出犬脐带间充质干细胞(Primary Canine Umbilical Mesenchymal Stem Cells, UMSC)原代细胞产品。该产品取材自比格犬胚胎脐带组织,采用优化分…

2026/7/20 12:07:54阅读更多 →
终极赛博朋克2077存档编辑器:解锁夜之城的无限可能性

终极赛博朋克2077存档编辑器:解锁夜之城的无限可能性

终极赛博朋克2077存档编辑器:解锁夜之城的无限可能性 【免费下载链接】CyberpunkSaveEditor A tool to edit Cyberpunk 2077 sav.dat files 项目地址: https://gitcode.com/gh_mirrors/cy/CyberpunkSaveEditor 你是否厌倦了在《赛博朋克2077》中反复刷装备&a…

2026/7/20 12:07:54阅读更多 →
Beyond Compare 5终极激活指南:免费解锁专业版的完整教程

Beyond Compare 5终极激活指南:免费解锁专业版的完整教程

Beyond Compare 5终极激活指南:免费解锁专业版的完整教程 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare 5的30天试用期到期而烦恼吗?这款业界领先…

2026/7/20 12:07:54阅读更多 →
如何用WaveTools轻松解锁鸣潮120帧并优化游戏体验

如何用WaveTools轻松解锁鸣潮120帧并优化游戏体验

如何用WaveTools轻松解锁鸣潮120帧并优化游戏体验 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 如果你正在寻找《鸣潮》游戏帧率优化和画质提升的解决方案,那么WaveTools可能正是你需要的工具…

2026/7/20 12:07:54阅读更多 →
深入解析ADC SOC触发机制:从多通道同步采样到外部MUX扩展实战

深入解析ADC SOC触发机制:从多通道同步采样到外部MUX扩展实战

1. 项目概述:从“能用”到“好用”的ADC配置进阶之路在嵌入式系统开发,尤其是电机控制、数字电源、精密仪器这些对实时性和精度要求极高的领域,模数转换器(ADC)的性能往往是整个系统性能的瓶颈。很多工程师在项目初期&…

2026/7/20 12:05:53阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/20 0:50:54阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/20 0:50:54阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/20 0:50:54阅读更多 →
2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

7月18日智东西消息,在2026 WAIC期间,努比亚联合字节豆包打造的二代“豆包手机”努比亚NaviX Ultra首次亮相,相比一代有诸多升级。智能体手机理念中兴通讯终端事业部总裁、努比亚总裁倪飞表示,智能体手机要从人操作手机变为手机帮人…

2026/7/20 0:01:04阅读更多 →
努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra:外观与功能双升级在2026 WAIC期间,首次亮相的努比亚NaviX Ultra吸引了众多目光。它是努比亚联合字节豆包打造的二代“豆包手机”,与一代努比亚M153相比,外观设计变化较大。其机身背部搭载横向排布的大尺寸影像模…

2026/7/20 0:01:04阅读更多 →
C# 将逗号分割的字符串转换为long,并添加到List<long>

C# 将逗号分割的字符串转换为long,并添加到List<long>

目录 方法1:使用Split和Convert.ToInt64 方法2:使用LINQ的Select和ToList 方法3:使用TryParse进行异常安全转换(推荐) 如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天…

2026/7/20 0:01:04阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/19 22:50:49阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/19 14:50:26阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/19 18:50:36阅读更多 →