《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 的任务不应该只是完成本轮功能。还应该包括保持项目结构干净。

相关新闻

openEuler Native-Turbo-kernel架构优化揭秘:微架构感知调度技术详解

openEuler Native-Turbo-kernel架构优化揭秘:微架构感知调度技术详解

openEuler Native-Turbo-kernel架构优化揭秘:微架构感知调度技术详解 【免费下载链接】native-turbo-kernel Native-Turbo-kernel is the performance optimized kernel of native microarchitecture of operating system. 项目地址: https://gitcode.com/openeul…

2026/10/19 6:52:23 阅读更多 →
openEuler测试工具mugen框架使用教程:从环境配置到用例执行的完整流程

openEuler测试工具mugen框架使用教程:从环境配置到用例执行的完整流程

openEuler测试工具mugen框架使用教程:从环境配置到用例执行的完整流程 【免费下载链接】test-tools The repo contains tools for improve test efficiency 项目地址: https://gitcode.com/openeuler/test-tools 前往项目官网免费下载:https://ar…

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

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

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

2026/10/18 6:15:22 阅读更多 →

最新新闻

如何快速部署Qwen3-VL-32B-Heretic-MiniMax-H3-NVFP4:ComfyUI中5分钟替换CLIPLoader的完整流程

如何快速部署Qwen3-VL-32B-Heretic-MiniMax-H3-NVFP4:ComfyUI中5分钟替换CLIPLoader的完整流程

【免费下载链接】Qwen3-VL-32B-Heretic-MiniMax-H3-NVFP4 项目地址: https://ai.gitcode.com/hf_mirrors/Momoking/Qwen3-VL-32B-Heretic-MiniMax-H3-NVFP4 点击查看 免费下载 Qwen3-VL-32B-Heretic-MiniMax-H3-NVFP4 是面向 MiniMax-H3 视频生成的 NVFP4 量化文本…

2026/10/19 6:52:01 阅读更多 →
用25美元把普通眼镜变成AI眼镜?OpenGlass的接线、烧录与玩法拆解

用25美元把普通眼镜变成AI眼镜?OpenGlass的接线、烧录与玩法拆解

用25美元把普通眼镜变成AI眼镜?OpenGlass的接线、烧录与玩法拆解 【免费下载链接】OpenGlass Turn any glasses into AI-powered smart glasses 项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass 落地在巴黎,推开一家咖啡馆的门&…

2026/10/19 6:52:01 阅读更多 →
Llama-3.2-1B-Instruct-FP8-Block 完全指南:轻松入门 Meta 轻量级指令模型的终极指南

Llama-3.2-1B-Instruct-FP8-Block 完全指南:轻松入门 Meta 轻量级指令模型的终极指南

【免费下载链接】Llama-3.2-1B-Instruct-FP8-Block 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Llama-3.2-1B-Instruct-FP8-Block 点击查看 免费下载 Llama-3.2-1B-Instruct-FP8-Block 是 Meta Llama 3.2 系列中 10 亿参数(1B)轻…

2026/10/19 6:52:01 阅读更多 →
世界模型:没有物理公式,AI如何从隐空间学会预测未来

世界模型:没有物理公式,AI如何从隐空间学会预测未来

你有没有想过,为什么现在AI生成的视频里,抛出去的球会沿抛物线落下,甚至翻滚的物体还会磕碰反弹?在很多圈内人的眼里,这背后靠的不是写死的物理引擎,而是一类被称为“世界模型”(World Model&am…

2026/10/19 6:52:01 阅读更多 →
世界模型如何理解物理规律:架构、训练与评估实战解析

世界模型如何理解物理规律:架构、训练与评估实战解析

世界模型这个词,这两年算是彻底从论文里火到朋友圈了。你可以把它理解成一个特殊的AI系统:给它一段画面、一个动作指令,它生成下一秒甚至未来几十秒的时空演进,让物体遮挡成立、重力成立、碰撞反弹也成立。我身边不少做视频生成、…

2026/10/19 6:52:01 阅读更多 →
Dify工作流实现双模型分栏流式对比:从原理到实践

Dify工作流实现双模型分栏流式对比:从原理到实践

最开始我对比两个模型的回答质量,用的还是最笨的办法:开两个浏览器标签页,把同一个问题分别粘进去,再左右来回切。遇到长回答还得自己对对齐位置,效率低到让人怀疑人生。直到我把这套动作搬进 Dify,用可视化…

2026/10/19 6:51:01 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →