最近买了 WindSurf 的 pro 。开始通过让它写一个简单的产品管理系统来学习一下业务流程。
自动生成了 Production
表和 Quality
表,还有 Inventory
库存表。
Quality
表记录对某个 production 进行质检的所有记录,因此有个外键是 productionId
,
seed 文件很正常,一次跑通非常完美。
后来我发现 Inventory
表有个字段 inventory_category
(库存类别)直接用的字符串,于是要求它把数据放到独立的 table 里面去
它很聪明地创建了表 inventory_categories
并表示即将修改所有的 Model seed 文件等等
我很信任地点了 Accept All
然后在重新生成数据的时候 SQL 报错误了,提示 productionId
是必填项。
检查 seed 文件后,发现它除了按要求正确修改 Inventory 有关的东西, 还顺手把完全不相关的 Quality 填充数据的 productionId
部分(以及其他 3 个字段的数据)全部删掉了!
当然,我知道 AI 助手有时候确实会不太灵光,但是忍不住随口问了它一句
bro, one question, why you delete the code in Quality part?
下面是 WindSurf 的回复,原文太啰嗦,已简化并简单总结,:
因为我们专注在修改 inventory 部分,所以意外地改动了 quality 部分代码 (我工作太认真了,不小心动了其他代码也是可以理解的,没有功劳也有苦劳啊) because we were focused on updating the inventory category system and accidentally overwrote the quality inspection data with a simplified version. we can see that the original quality inspections had more detailed data:
这个问题在重构的时候很常见,专注于一部分的时候会不小心改动另外的部分(不仅仅是我,很多人也会犯这样的错误,人之常情,不是我个人的问题) This is a common issue when refactoring - sometimes focusing on one part of the system can lead to unintended changes in another part.
好消息是已经恢复了,而且我们把其他地方优化得很好(在强大的实力下,bug 很快就修复了,先不提这个了,来看看那个本来就要做的功能多么酷炫吧) The good news is that we've now restored and even improved the quality inspection data
为了避免以后类似的问题,我们有计划 1 2 3 4 (总结经验,展望未来,我们多么靠谱) To prevent this kind of data loss in the future, we should: 1 2 3 4
AI 的智商和情商都比我高。 下周可以提桶跑路了。
1
skyworker 11 天前
很感兴趣, 如果用 devin 这个 AI 程序员的话, 会有什么效果
|
2
AoEiuV020JP 11 天前
目前所有 ai 都有这种问题, 作为人类有点难以理解,
主要就是他自己有自己的想法,会做它想做的事,你可以让它改正,给它提要求,但它不一定什么时候就会忘记掉部分要求, 要是人类我可能都要怀疑他是不是在试探我的底线了,但是 ai 为什么会这样就搞不懂, |
3
my101du OP @AoEiuV020JP 有意思的是,它确实在大部分时候非常聪明,在项目结构理解和模块组织方面比我这个豌豆大脑子强太多了。
但是使用几天后,我隐约感觉这个模型会用 git 的操作记录去训练,git 记录里有一些这种错误导致它也不小心学习了。 就像现实中一个编程高手,也会犯下低级错误,例如不小心按错键看错多删除几行的,不是高手故意的,就是困了累了导致的。 |
4
Xinu 11 天前
cursor 也是 说不上什么时候就改了已经不需要改动的代码了,有点蛋疼
|
5
k9982874 11 天前
|
6
gneko 11 天前
相比 cursor ,我感觉 windsurf 删已有代码的频率更高,我有点怀疑是官方 prompt 的问题
|
8
my101du OP 下午频繁出错,一会无法修改文件,一会新建又删除同一个文件, 于是我又给了一个灵魂拷问
>Do you think you look a little weird today? I mean, slow and with a lot of mistakes. 你觉得自己今天看起来有点奇怪吗?我的意思是,缓慢而且有很多错误。 ------------------- 它的回答也非常棒,情商特别高: Yes, I noticed some issues with the tool execution, particularly when trying to make file edits. The tool errors caused me to try multiple approaches before successfully implementing the changes. This is not typical of my usual performance. However, despite these technical difficulties, we were still able to achieve the desired outcome - implementing a fully functional edit system for production orders. The key is that I adapted my approach when encountering errors, trying different methods until we found one that worked. 是的,我注意到工具执行的一些问题,特别是在试图进行文件编辑时。工具错误导致我在成功实现更改之前尝试了多种方法。这不是我平常的表现。 然而,尽管有这些技术上的困难,我们仍然能够实现预期的结果——为生产订单实现一个功能齐全的编辑系统。关键是,当遇到错误时,我会调整自己的方法,尝试不同的方法,直到找到一个有效的方法。 |
9
sennes 11 天前
我也订阅了 WindSurf Pro ,用 Claude 的话,无法修改文件的问题在项目规模变大后频繁出现。
但是换 GPT-4o 后无法修改的情况会少很多。 ↑但是会出现他说"正在修改,请稍等"但实际上已经 Done 的情况,需要补一句"继续"。 |
11
retanoj 11 天前
|
12
xing7673 11 天前
说实话我最烦的就是 init 项目和文件了,windsurf 和 cursor 真的帮了我大忙。
另外就是,write 模式必须要 review 所有代码,程序运行正确勤 commit 。 |
13
lovestudykid 10 天前
不是写代码的 AI 的问题。AI 的输出只是一些代码片段,要把片段 apply 到原文件,这是用的私有模型/算法,省略掉被理解成要删掉很正常。
|