基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-30 14:53

让编程Agent先识别生成文件再修复

dev.to · AI#Agent#代码生成#持续集成
Editor brief · 编辑速览

AI Agent 直接修改生成客户端或编译产物,可能导致本地测试通过、CI 重新生成后修复消失。文章建议先检查文件头、输出目录和代码生成脚本,再修改模板、Schema 或 OpenAPI 等源文件。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

AI Agent 修好了接口字段,本地测试也过了,CI 一跑,修复却消失了。原文讨论的是一个容易被忽略的原因:Agent 改了生成文件,下一次构建又把它覆盖了。提交记录里有补丁,不代表构建后还保得住。

作者给出的原则很直接:动手前先区分源文件和生成产物,把修复放进模板、Schema 或 OpenAPI 文档,再重新生成。对使用自动生成客户端、类型文件和编译样式的团队,这比继续补提示词更值得先检查。

为什么本地通过,到了 CI 就失效

问题通常沿着同一条路径发生:Agent 打开生成的客户端或类型文件,看到字段错误、请求头缺失,直接修改输出文件。本地测试读取的正是这份文件,因此可以通过。

但 CI 执行干净安装,重新运行生成器,文件又恢复成输入所描述的样子。刚才的修改被覆盖,错误随之回来。团队看到的是「明明提交过修复」,实际运行的却是重新生成的代码。

本地测试通过,只能证明当前磁盘上的文件可用,不能证明这份修改能够被构建流程重现。

作者认为,这类问题的关键不是 Agent 不会修代码,而是它没先判断代码由谁维护。生成文件只是结果;决定结果的模板、契约或其他输入,才是应该追溯的地方。

怎样把修复留在下一次构建里

编辑前,作者建议检查三类线索:文件头是否声明由工具生成,文件是否位于构建输出目录,以及 package scripts 中是否存在代码生成步骤。原文的小节没有继续展开检查方法,也没有给出具体命令,不能据此假定所有项目都有统一入口。

以 OpenAPI 生成的客户端为例,如果字段名或类型来自接口描述,就应该修改 OpenAPI 文档,再重新生成客户端。直接改输出的 TypeScript,只修到了这一份文件,还会让它与接口契约产生偏差。

如果现有生成器无法表达需要的变化,作者建议扩展模板或生成器。临时手改看似更快,但下次生成后还要重新处理。

要让这条规则真正执行,还需要两道约束:

  • 让生成文件主动表明身份:使用清晰的目录名,并添加生成标记。
  • 在 CI 中重新生成产物,检查它与仓库提交的版本是否一致。

后一项是漂移检查(drift check)。大白话解释,就是确认「仓库里保存的结果,确实能由当前输入重新做出来」。对于已经提交的生成文件,它能把悄悄丢失的修改变成构建阶段的显式失败。

是否提交生成文件,则取决于使用方式。下游需要直接使用、不能要求它先运行构建时,可以提交,同时增加漂移检查;如果每个环境都会重新生成,作者建议用 gitignore 排除产物,只保留输入。

我的判断

我认同作者把检查时机放在「编辑之前」。单纯要求 Agent 小心,执行效果取决于它有没有读到规则;目录、文件头、明确的生成命令和 CI 检查,可以让规则更容易遵守,也更容易验证。

不过,「文件由工具生成」还不足以单独决定它今后应该怎样修改。 原文把工具生成的迁移文件也列入适用范围,却没有交代这些文件生成后是否仍由工具持续管理。具体项目仍要确认维护约定,不能看到生成来源就机械套用。

类似地,OpenAPI 字段错误适合回到接口描述修复,但原文没有说明请求头缺失究竟来自契约、模板还是其他配置。可靠的操作是先追溯生成来源,再决定改哪里。

作者也没有提供实测案例、耗时数据或与其他方案的对照。因此,「漂移检查成本低」「能消除整类问题」应视为工程经验判断。相较于只在 Agent 指令里禁止修改生成目录,CI 检查的优势是能够验证结果;但原文没有证明任何一套检查配置可以直接适用于所有团队。

能拿来做什么

  • 给前端或 Node 项目的 Agent 指令补上生成目录、输入文件位置和实际 codegen 命令,让它在修复客户端或类型前先找到维护入口。
  • 遇到生成客户端的字段或类型错误时,先检查 OpenAPI 文档,修改后重新生成,并检查产物差异,避免只补当前文件。
  • 对已经提交到仓库的生成产物,在 CI 中增加重新生成和差异检查,让无法重现的手工修改及时失败。
  • 处理 lockfiles 和测试 snapshots 时,使用拥有这些产物的工具更新:前者走包管理器,后者走测试运行器的更新参数。原文未给出具体参数,应按项目实际配置执行。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
并行使用编码 Agent,先识别谁在等你
下一篇
四张图片做出可切换灯光的网页角色

资讯速览

dev.to · AI · 2026-10-30 14:53

AI 评分 8.0 / 10

相关标签

#Agent#代码生成#持续集成

继续阅读

  • Whisper 听写降延迟:按停顿切块更划算
  • 并行使用编码 Agent,先识别谁在等你
  • 四张图片做出可切换灯光的网页角色
  • AI 生成 Compose 的冷启动竞态怎么查
  • 专家借助 AI 提效,也可能被其偏好左右