昨天下午摸鱼时看到 Cursor 0.47 版本上线了 Claude 3.7 Max ,虽然是按次收费(钱包瑟瑟发抖),但还是忍不住想试一把。正好手头有个被我折腾了好几天的问题,想着反正也是死马当活马医,就让它帮我看看。
实际踩坑:目录树加载慢到怀疑人生
问题描述
我有个文档管理系统(就是自己写着玩的小项目),最近文档越来越多(网上爬了 3w 多篇付费文档),导航树卡的要命:
- 后端傻乎乎地一次性加载整棵树
- 前端界面像死机一样等待
- 文档一多直接卡 30 多秒,我都能煮个泡面了
- 用户(其实就是我自己)体验极差,没有任何反馈,还以为程序崩了
前几天用 Claude 3.7 搞过
之前试着用 Claude 3.7 Sonnet 搞这个问题,感觉像是在带着一个实习生干活:
-
只改半边天:它理解我想做渐进加载,但老是改了后端不改前端,或者只告诉我大体思路,具体实现永远差那么一点
-
前后端配合混乱:后端加了参数,前端组件改不对,接口对不上,跑起来各种报错
-
死盯着一个文件:我项目好几个文件都需要一起改,但它老是只顾一个地方,其他地方全忘了
-
有 bug 修不明白:出了问题给的修复方案不是太复杂就是漏东西,搞得我比自己写还折腾
每次都是改了前端报后端错,改了后端又报前端错,反反复复,搞得我怀疑自己的智商。
Max 帮我一把搞定
今天用 Claude 3.7 Max 试着弄这个问题,效果真的惊到我了:
-
整体思路清晰:
- 几分钟就看出问题在那个递归加载算法上
- 提了个渐进式加载的完整方案
- 连加载提示这种细节都想到了(确实是我容易忽略的)
-
代码实现贼准:
- 后端:加了个子树加载的功能,还能控制加载深度
- 前端:把组件的数据获取和渲染都改了
- 接口:加了需要的参数和标记,前后端一次对接就通了
-
全局理解超强:
- 不管是类型定义还是状态管理都没落下
- 之前不敢改的几个复杂组件,它一次就改对了
- 连潜在的 bug 都提前给我规避掉了
-
调试能力长进不少:
- 第一次有个方法不存在的错误,立马找到原因修好了
- 主动加了日志方便我排查
- 代码前后几个部分改完一提交,居然基本能跑了!
最终在两次回答花费 0.25 刀完成所有修改,整体感觉就像是从实习生升级到了中级开发,方案一次成型,改完基本能跑,还需要我微调的地方也就两三处。
最终方案
最后实现的效果还挺满意:
-
后端改了:
- 默认只给第一层目录
- 点开再加载下一层
- 给树节点加了标记表示"有内容但还没加载"
-
前端也跟着改:
- 树组件支持动态加载
- 展开时才去请求内容
- 加了个小菊花转起来,用户体验好多了
-
速度提升明显:
- 从 30 多秒变成秒开
- 按需加载省了不少带宽
- 用户不用死等,可以边看边加载
唠唠叨叨
Max 在处理这种多文件、前后端交互的复杂改动上,确实比 Sonnet 强不少。主要是:
- 能看透整个架构的关系
- 改代码改得更全面
- 少犯低级错误
- 出了问题能快速定位修复
作为一个经常 996 的码农,这种能力的提升让我可以把更多时间花在摸鱼(不是)、设计和创意上,而不是拿着显微镜找 bug 。
如果以后 Max 能加入 Cursor 会员免费调用,那绝对是神器,一天能多出不少时间来刷刷 B 站什么的。就算按次付费,解决那些卡脖子问题时,也值得花这个钱,毕竟时间比金钱珍贵多了。
絮叨
AI 辅助编程发展是真快啊,从最早的代码补全,到现在能实现复杂功能,跟谁进步一样。Max 的表现让我看到更多可能,希望未来各家模型继续卷起来,让我们这些懒程序员的生活更轻松点。
|