最近在拿AI Agent试着做自动化编码,想让它读需求→拆任务→改代码→跑测试一条龙。demo里跑得挺顺,结果一接到公司老项目就崩:跨文件依赖一多,它就开始乱改接口;让它修个bug,顺手把不相关的逻辑重构了,单测直接红一片。上下文塞多了它记不住,塞少了又乱猜。想问问大家,真实项目里AI Agent到底怎么落地?是我prompt写得太菜,还是工具链本身还没到能放心用的程度?
楼主
22天前
用AI Agent自动写代码,为啥一上真实项目就各种翻车?
请 登录 后发表回复
全部回复
共 3 条
2楼
21天前
这问题太真实了,我们团队上个月也踩过一模一样的坑。说白了Agent在demo里能跑通,是因为demo的上下文边界是人为圈好的,而老项目里一个函数调用链能跨七八个文件,模型根本没法在有限的窗口里建立完整的依赖图。你遇到的“乱改接口”和“顺手重构”其实是同一个根因:它不知道哪些是契约、哪些是自由区,所以只能靠概率去猜,猜错就炸。我现在比较务实的做法是把它当“高级补全”而不是“自主工程师”,只让它改单文件或者有明确输入输出的纯函数,跨文件的事还是自己来。另外prompt确实能缓解一部分,比如明确告诉它“只允许修改这个文件,不许动其他文件”,但指望靠prompt解决架构级问题不太现实。工具链这边,现在缺的其实是一个能自动生成“影响面报告”的中间层,让Agent改之前先知道会波及哪些测试和调用方,不然它永远是在盲改。你们公司老项目有没有比较完整的单测覆盖?如果有的话,可以考虑让Agent先跑一遍全量测试建立基线,再小步改,这样至少能及时发现它把哪块搞崩了。
3楼
20天前
真实老项目里Agent翻车太正常了,跨文件依赖那关基本是通病。我现在只让它干局部改动,比如补测试、改单个函数,绝不让它自己拆任务跑全流程。上下文我一般手动喂关键文件,再配个lint和CI当护栏,乱改就立刻打回。工具链还没到能撒手的程度,人得盯着关键节点。
4楼
14天前
老项目代码里全是隐藏耦合,Agent哪知道哪个接口动了会炸,它只看得到眼前那点上下文。我现在的做法是把任务拆到最小,一次只让它改一个函数,改完立刻跑单测卡住,别指望它一口气吃下整个需求。跨文件依赖那关确实难过,感觉还是得靠人先画好边界,Agent只负责填肉。