claude code 的服从性远不如 cursor - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
natsukage
V2EX    Claude

claude code 的服从性远不如 cursor

  •  
  •   natsukage 102 天前 4510 次点击
    这是一个创建于 102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    cursor 是 pro ,用的是 claude 4 sonnet max claude code 是 max ,用了 claude 4 opus 和 sonnet 都尝试过

    我的任务是将一个 c#项目中 a.cs 中的七十多个方法按照新的格式迁移到 b.cs 中,然后抛弃 a.cs 。 实际上就是重构去除中间层,原本的程序逻辑是 b.cs 中的 70 多个方法调用 a.cs 中的 70 多个对应法,具体实现在 a.cs 中,非常蠢,我也不知道之前写这段代码的人的思路,每次添加修改功能都需要在两个文件中进行修改。

    于是我试图让 claude code 进行迁移,claude code 迁移时候光想着怎么取巧了,写了个脚本迁移,迁移完了报几十个错误,修了十几个之后,说剩下的错误都大同小异,让我先把主要任务标记为完成 然后把 a.cs 给删了,明明这时候压根就没法编译通过,它就说迁移已完成了。 而且经过测试,这些迁移问题很大,因为这 70 多个方法实际上签名都不一样,有的传 jObject ,有的传 JArray ,有的传自定义类型(别问我为啥写成这样,我也想知道),但是 claude code 在 b.cs 里写的实现看起来根本没有参考 a.cs 里原来的实现,就完全是在自嗨,写出来的方法最后跑起来时候风控报错:

    API call 'AAAAAAAA' failed: Deserialized JSON type 'Newtonsoft.Json.Linq.JArray' is not compatible with expected type 'Newtonsoft.Json.Linq.JObject'. Path 'data', line 4, position 11. 

    Imgur

    //imgur.com/pcRr98Z

    有点离谱,我让他“一个一个进行迁移”,他也是阳奉阴违,迁移了几个然后就告诉我都看了个遍,现在没问题了。结果 diff 一下实际上就改了 3 个方法,跑起来果不其然又报一堆错。

    反而是 cursor 修改的时候是真的遵照我的指令一个一个改的,可以看到思考步骤(思考了几十遍,一遍改一个方法,直到把 a.cs 里的全部迁移到 b.cs )而且一次跑通了。

    Imgur

    https://imgur.com/WbXeGdB

    本来这个迁移其实也并不难,因为大部分的迁移都是直接把 a.cs 里的代码复制到 b.cs 对应的方法,去掉 b 里面引用 a.cs 的语句就行了,没什么难度和复杂性。所以像 cursor 这样一个方法一个方法地迁移想要出错都很难,但就这点事 claude code 都干不好,属实让人火大。

    18 条回复    2025-07-01 03:35:40 +08:00
    sampeng
        1
    sampeng  
       102 天前   1
    这些 ai 确实各有各的缺陷。claude code 修复 bug ,做一些新任务还行。cursor 就比较综合,绝大部分任务可以完成,但是在处理大上下文或者时间长一点,他也一样犯 2.
    毕竟 cursor 这么 2-3 年优化任务调度了。要给 claude code 时间
    netnr
        2
    netnr  
       102 天前
    先充分理解 XXX 项目 YY 、ZZ 目录下的类,再怎么(你的需求) ....
    natsukage
        3
    natsukage  
    OP
       102 天前 via iPhone
    @netnr 我其实前面已经说过了,整个重构规划就是 Claude code 先/init 然后再分析以后提出来的。
    但是它自己给了重构规划以后自己却不能按照自己的规划来实行。明显的能感觉到它是想偷懒,不愿意按部就班地一个一个方法去迁移。
    就像前面说的,实际上这几十个方法一个一个手动迁移的话基本就是 ctrl c v 的事,但是 Claude code 会更倾向于自己理解一遍 a.cs 里的代码,然后自己在 b.cs 里按照自己的理解重新写一遍。
    可是对于原本 a.cs 里代码签名写的很乱的这种情况,Claude code 就出现了严重的幻觉,有的方法它想当然地写了 jObject ,实际上传的是 jArray 。甚至有些方法它写出来的内容都和原方法不一样了(比如获取历史记录的方法,原本的 a 里是倒序获取记录,但是 Claude code 自己在 b 里写的是默认正序的获取)
    cursor 安排任务时候是真的按部就班一个一个方法改的,你能从思考过程里看出来它每次思考都是“接下来我要修改 xxx 方法”,然后在 b.cs 进行几行几行的修改,只改了目标方法这一处。所以也很难出错。

    这个并不是 Claude code 没了解项目上下文的问题,感觉就是单纯的像 1 楼说的一样,不擅长进行任务调度
    coolcoffee
        4
    coolcoffee  
       102 天前
    我上次想要让 Claude Code 拆前端微服务的时候也遇到了这个问题,第一次提的要求有点高,像让它一次性把某个 jsx 模块的依赖剥离到新项目的 tsx 模块,结果只给我迁移了第一个列表,第二个列表名字都改了,新建和编辑表单太复杂它就偷懒弄了一个功能待完成。

    后面我就让它重新写,继续保持原来的 UI 框架版本以及 JSX ,然后才做的差不多能看。

    感觉写代码这块应该先让它写好测试用例,然后再让它去迁移,反正测试用例先写好了,它自己会一遍又一遍的跑。
    xing7673
        5
    xing7673  
       102 天前
    指令任务的话建议不要用 claude 家的,我现在 cursor 设置里只有短代码会用 sonnet 了,长需求长任务交给 gemini 了,有机会也会尝试 o3
    (一个让 claude 反复修改了几十遍依然报错的代码被 gemini 一次性修好就立马修改了日常 setup )
    mlzboy
        6
    mlzboy  
       102 天前
    augment 相比这两个怎么样?
    Loocor
        7
    Loocor  
       102 天前
    有个很尴尬且无解的问题,你永远不知道是模型本身的品质导致的,还是模型供应商偷工减料导致的
    flowerwow0316
        8
    flowerwow0316  
       102 天前 via Android
    镜像站?
    wyfig
        9
    wyfig  
       102 天前
    楼主用的 claude code 是自己订阅的,还是淘宝上买的国内直连的什么的?
    programApe
        10
    programApe  
       102 天前
    @mlzboy 对比 cursor 强很多,没用过 claude code 倒是不清楚。augment 也有问题,如果项目稍微大一点,只能联系部分上下文,不管现有的部分实现,把你项目加的很臃肿,但是总体而言比 cursor 好很多。现在这些 ai 还是得不断地自己过一遍。
    tcper
        11
    tcper  
       102 天前
    文件一长就出问题,我也遇到过,比如统一改字符串什么的,经常中间断了
    natsukage
        12
    natsukage  
    OP
       102 天前 via iPhone
    @flowerwow0316 官网(开头说了 Claude code 是 max plan ,而且 opus 和 sonnet 都试过了)
    natsukage
        13
    natsukage  
    OP
       102 天前 via iPhone
    @wyfig 官网(开头说了 Claude code 是 max ,而且 opus 和 sonnet 都试过了)
    natsukage
        14
    natsukage  
    OP
       102 天前 via iPhone
    @mlzboy augment 我还没用过,就不确定了♂
    wweir
        15
    wweir  
       102 天前
    以前说是把脏活累活丢给 AI 。
    现在是 AI 规划调试好了,剩下的都是脏活累活,人类自己去做吧
    wyfig
        16
    wyfig  
       102 天前
    @natsukage #13 之所以这么问是感觉跟我自己的实际体验差别有点大。 我用 claude code 官网订阅 100 美元的 max ,用了一个月,整体感觉其服从性是很不错的,除了确实就有 mock 数据的情况,不过我如果看到了会直接在它干活的时候实时发送一条消息让它调整过来。 如果没看到后面确认的时候也可以针对性的修改过来。其他情况下还是不错的,没有碰到过你说的这种问题。
    mlzboy
        17
    mlzboy  
       101 天前
    怎么保证 claude code 不被封
    flowerwow0316
        18
    flowerwow0316  
       101 天前 via Android
    @natsukage 不会啊,我目前对比 cursor 能明显感觉改很多东西都不会改歪,这真的是每个人有不同的体验了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5223 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 05:48 PVG 13:48 LAX 22:48 JFK 01:48
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86