我用trae做MC我的世界开发模组,用了2周,花完整个99元速通做好的功能A,刚准备再完善一下功能时,trae竟然把这个功能完全做废掉了,而且还回退不了代码。欲哭无泪!
后来让人帮忙搭建了一个git,让代码都上git了,但是半个月过去了,功能A还没有做好。相当于我这一个月的功夫都白费了
本质是开发工程缺护栏,倒不是 trae 不行。主要几个问题:
一是回退能力:这个其实在动手前就该埋好。每做出一个能跑的功能立刻提交一次,做新功能前先开分支,改坏了直接切回主干。代码上 git 了,基本不会有这种问题。
二是工程边界:一定要先想清楚 B 和 A 有没有耦合。有耦合 就要 提前规划改动范围,小步交付、小步验收。无耦合 就 在需求里明确写"做 B 不得改动 A 相关文件"。
三主要是任务粒度:大任务一定拆小,一个个做、一个个验证。别下"帮我执行/优化整个项目"这种开放指令,这是破坏性改动的最大来源。
核心的点其实就是,动手前一定要做规划,同时去产出一些支撑文档(比如需求文档、已完成功能清单、文件职责、禁改清单等等,这些你前期都可以让ai产出你去做审查,确认无误再进入开发),用文档去锁住上下文,防止 AI 漂移。
正常吧,每一个版本fork出来好back啊
初次接触大一点的工程是这样的,其实人类程序员也一样,刚接触大项目时各种常用的软件工程规范都不知道,导致耦合很高而且测试和回滚都困难。这其实就是你和agent一起成长的最好时机,学着如何用git做版本管理,学着如何拆分任务做低耦合高内聚,学着如何搭建完整的流水线做code review和测试(即使全是让agent做)。
描述词没描述清楚吧
可以去对话里翻看关键的改动,自己手动修复。
虽然麻烦,至少不用花这么长时间重写还不满意。
给他写好规则,修改原代码前必须备份文件,废了就恢复
因为你每完成一个文件没有验证功能。。。导致后面上下文炸掉了它已经忘记了做过什么改动。,
有的,用skill限制他,不过bug在所难免。
新手开发者经常存在的问题——版本管理
github本身就是为了解决这个核心矛盾存在的,自带差异比较,当然也有本地开源的,就是不怎么好用
git是很有必要的,别说是一整个模块了,我每次做完一个功能都会提交
现在用git了