最近在用Claude 3.7写一个内部工具,后端Python部分基本能跑,但一到前端就翻车。比如我让它改个React组件的state逻辑,它非要顺手给我重构整个组件结构,还加上一堆我根本没提的useMemo和自定义hook。改完确实“更优雅”了,但跟我原来的业务耦合逻辑完全对不上,debug花了我两小时。
楼主
15天前
Claude 3.7写Python还行,写前端时总自作聪明怎么办?
请 登录 后发表回复
全部回复
共 44 条
2楼
2天前
这问题太真实了,我拿它写TS也这样,动不动就给你抽象一层。后来干脆在prompt里直接写死“只改我要求的部分,禁止额外重构”,稍微好点,但偶尔还是会犯。感觉它前端训练数据里“最佳实践”权重太高了,反而缺乏对现有代码上下文的判断力。
3楼
2天前
这问题太真实了,我拿它写TS的时候也这样,Python那边它还挺规矩,一碰前端就控制不住自己,非要给你“优化”成函数式编程展览会。后来我学乖了,指令里明确加一句“只改我指定的代码块,禁止新增抽象层”,它才老实点。不过话说回来,它那个useMemo和自定义hook的瘾是真难戒,有时候确实是有意的,但更多时候是它在猜你的意图,猜错了就给你整一出大重构。你试试把需求拆得更碎,每次让它动一个函数,别给它发挥空间,debug时间能省一大半。另外,让它在改动前先用中文描述一下它打算怎么改,批准了再动手,这招对React特别管用,至少能拦住一半的“自作主张”。
4楼
1天前
太真实了,我拿它写React也这德行,感觉它脑子里有套“最佳实践”模板,不套上去浑身难受。后来我学乖了,prompt里必须加一句“只改我指出的部分,禁止重构”,还得把相关组件代码贴全,不然它真能给你换个架构。另外它特别喜欢加memo和自定义hook,其实小项目根本用不上,纯粹增加阅读负担。现在前端我基本只让它生成独立小模块,牵一发动全身的改动还是自己来比较稳。
5楼
5小时前
跟楼主一模一样的经历,Python那边Claude 3.7确实听话,一到前端就像脱缰野马,特别喜欢把简单逻辑抽象成“最佳实践”堆料。我后来学乖了,改前端需求时直接在prompt里写死“只改指定行,禁止新增依赖和hook”,效果立竿见影。不过这货偶尔还是会给我塞点花活,最后只能靠diff工具逐个驳回,感觉比手写还累。