我用Claude Code + GLM4.7修前端Bug的翻车现场,1小时烧光5小时限额

本来想体验一把“vibe coding 省时间”,结果变成“vibe coding 省不了、还很贵”:折腾将近一小时,GLM 额度直接打满,Bug 还在。


背景:事情是怎么开始的

最近遇到一个前端 Bug,属于那种看起来不大、但很烦的类型:页面运行时报错,提示动态导入某个模块失败(报错里能看到类似 Failed to fetch dynamically imported module .../router/index.ts 这种信息)。

我想着正好试试工具链:Claude Code + GLM4.7。理想情况是:它读代码、跑命令、给修改方案,我负责点确认就行。

现实是另一回事。



结果:时间花了,额度没了,Bug 还没修好

简单总结一下这次的“账单”:

  • 时间:差不多 1 小时
  • token:累计 3000 万+
  • GLM 套餐:5 小时使用限额直接用光
  • 结果:依然没解决

过程中 Claude Code 做了很多事:读路由文件、尝试修改、清缓存、重启 dev server、反复验证……看起来很努力,但就是一直不收敛。

最让我难受的点其实不是“没修好”,而是:它是在持续消耗资源的前提下没修好。这跟我自己手动 debug 不一样——我自己卡住了,最多是浪费时间;它卡住了,是时间 + 额度一起烧。


为什么 Claude Code 这么吃 token?(我的体感原因)

我这次感觉 token 高,并不是我问了多少问题,而是它的工作方式决定的。

1)它不是“聊天”,更像一个一直在跑的 Agent

它会不断做这套循环:

  1. 读文件(读一堆)
  2. 给判断(往往还挺像那么回事)
  3. 改代码/跑命令
  4. 把新日志再丢回去继续推理

这套链路一旦跑起来,就很容易停不下来。

2)前端日志太长了,而且会反复进上下文

前端工具链输出本来就长:Vite/Webpack、HMR、各种 warning、stack trace……
你以为“就一段报错”,实际上它每次重启都会多出一坨新内容。

更关键的是:这些日志会被反复引用。上一轮的 log、下一轮的 log、它自己的总结、它提过的假设……都在累积。

3)“尝试式修复”很费钱

这类工具经常是这样的节奏:猜一个原因 → 改一下 → 跑一下 → 不行再换一个猜法。

如果方向一开始就偏了,那后面就是持续的“试错”,而试错在 Agent 模式下特别贵。

4)工具链/环境一旦不稳,token 会被“空转”吃掉

截图里还能看到一些类似 exit code 127/137 的失败信息。
这种问题往往跟脚本、权限、端口、内存、依赖环境有关。

我自己的经验是:只要验证环节不可靠,后面就很难收敛。因为它得不到稳定反馈,只能继续猜、继续换方案、继续跑,然后继续烧。


GLM4.7 是不是“能力不行”?

这个问题我纠结了一下。最后我更倾向于:不完全是模型能力问题,而是前端 Bug 本身太“现场”了

1)很多前端 Bug,不是“知道答案就行”

动态 import 失败这种,根因可能在很多地方:

  • 构建配置(Vite / Webpack)
  • base 路径、publicPath、路由 history 模式
  • tsconfig alias
  • 依赖冲突、缓存、HMR
  • 本地环境和启动方式差异

它不像一道算法题:你给足信息,模型就能直接解。
它更像“带着项目在现场排雷”,需要不断缩小范围、做最小复现、做二分定位。

2)模型想解决它,前提是你得给它“能定位”的素材

比如:最关键的 100 行报错、最小能复现的路由/页面、确定能跑通的验证命令。
如果这些东西不稳定(比如命令都跑不起来),模型就算再强,也只能在雾里摸。

所以我对 GLM4.7 的评价是:
它能做很多辅助工作,但在这种工程化、链路长、变量多的问题上,很容易卡住。


这次之后我对 vibe coding 的真实看法

我不想“唱衰”,因为它确实有爽点,但它也确实没到“全自动写代码”的程度。

优势:它能帮你把脏活累活干得很快

  • 快速扫代码、总结目录结构
  • 帮你写小 patch、补类型、补测试
  • 写脚本、写文档、写配置模板都很顺
  • 常见坑(比如 lint、ts 类型、简单构建问题)命中率不低

缺点:一旦进入死胡同,会比人手更贵

  • token 消耗不可控(尤其是带日志的多轮迭代)
  • 容易“修一个问题,改一堆地方”,最后你还得自己收拾
  • 对环境依赖很重:只要跑命令不稳定,它就容易乱
  • 它的“自信总结”有时候会让你误以为快到终点了,其实方向早偏了

目前我觉得还很难搞定的场景

  • 复杂工程化问题(monorepo、pnpm workspace、各种 bundler 插件链)
  • 偶发问题、竞态、缓存相关问题
  • 需要非常强业务上下文的 bug(表面报错,根因在业务状态)
  • 工具链本身就不稳定(127/137 这种都没解决前,后面基本白跑)

我现在会怎么用它(避免再烧一次)

这次翻车之后,我给自己立了几个“止损规则”,挺管用:

  1. 先让它做定位计划,不要直接开修
    让它先输出:最可能的 3 个根因 + 各自最小验证方式。
  2. 日志只给关键部分
    我现在会手动裁剪:只给首次报错点 + stack + 关键配置,不把整屏日志塞进去。
  3. 验证命令必须先跑通
    dev 起不来、脚本报 127/137,这种不先解决,后面全是空转。
  4. 每次改动小步提交
    一旦它开始“越改越多”,我能立刻回滚,不跟它一起沉没成本。
  5. 设预算上限
    比如 10 轮没有明显收敛,就暂停,换人类二分定位。

总结

这次体验给我的感觉很明确:

  • vibe coding 能加速,但它加速的是“尝试”,不是“必然解决”
  • 在前端工程这种复杂环境里,一旦方向错了,Agent 会把错误路线跑得非常完整——顺便把额度也跑完
  • 想让它真的变成生产力,关键不是“多问”,而是:控制输入、保证验证、让问题可收敛

都看到这了,欢迎大家一起讨论分享你们优秀的vibe coding经验,或是向我一样的翻车现场

Read more

【技术深水区】抖音 WEB 端逆向:从零到一拿下 a_bogus 参数

【技术深水区】抖音 WEB 端逆向:从零到一拿下 a_bogus 参数

前言 a_bogus 相比于之前的 x-bogus,这家伙隐藏得更深,而且裹挟着 JSVMP 混淆,让很多想要抓取数据的同学头疼不已。 注意:本文仅用于技术学习与交流,请勿用于非法爬取商业数据,所有后果自负。 一、什么是 a_bogus? 在抖音的 WEB 端请求中,a_bogus 是一个必不可少的请求签名参数。 它的作用类似于一张“动态身份证”,服务端会根据请求的 URL、参数、环境指纹等计算出签名,只有签名正确,服务器才返回真实数据。如果你直接复制浏览器里的请求链接,或者单纯注释掉 a_bogus,返回的数据要么是空的,要么直接是 403。 二、逆向分析环境准备 正式开始之前,你需要具备以下基础(如果你已经是大佬,请跳过): * 熟悉浏览器的开发者工具(Network 面板、Sources 面板)

视频续播功能实现 - 断点续看从前端到 Spring Boot 后端

视频续播功能实现 - 断点续看从前端到 Spring Boot 后端

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》专栏19年编写主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战 🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解 🌛《开源项目》本专栏主要介绍目前热门的开源项目,带大家快速了解并轻松上手使用 🍎 《前端技术》专栏以实战为主介绍日常开发中前端应用的一些功能以及技巧,均附有完整的代码示例 ✨《开发技巧》本专栏包含了各种系统的设计原理以及注意事项,并分享一些日常开发的功能小技巧 💕《Jenkins实战》专栏主要介绍Jenkins+Docker的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程 🌞《Spring Boot》专栏主要介绍我们日常工作项目中经常应用到的功能以及技巧,代码样例完整 👍《Spring Security》专栏中我们将逐步深入Spring Security的各个

1Panel+Ollama+WebUI:打造本地AI模型的完整指南(附Gemini插件教程)

1Panel、Ollama与Open WebUI:构建你的私有化AI模型应用平台实战 在AI技术日益普及的今天,许多开发者和技术爱好者不再满足于仅仅调用云端API。他们渴望在本地环境中部署、管理和实验自己的AI模型,无论是出于数据隐私的考量、网络环境的限制,还是纯粹对技术探索的热爱。构建一个稳定、易用且可扩展的本地AI平台,成为了一个极具吸引力的目标。本文将为你呈现一套完整的解决方案,它并非简单的工具堆砌,而是一个经过精心设计的、以1Panel为控制中枢,Ollama为模型引擎,Open WebUI为交互前端的集成化平台。我们将深入探讨如何将它们无缝衔接,并重点解锁通过插件系统集成如Gemini等第三方模型的高级玩法,让你在本地也能拥有媲美云端服务的AI应用体验。 1. 平台基石:1Panel与OpenResty的部署与配置 构建任何复杂应用,一个稳定且管理便捷的基础环境是首要前提。1Panel作为一个现代化的Linux服务器运维管理面板,以其直观的Web界面和容器化应用管理能力,极大地简化了服务器运维工作。而OpenResty,作为Nginx的增强版本,集成了LuaJIT,为

Docker部署music-tag-web音乐标签编辑器

Docker部署music-tag-web音乐标签编辑器

Docker部署music-tag-web音乐标签编辑器 * 一、music-tag-web介绍 * 1.1 music-tag-web简介 * 1.2 主要特点 * 二、本次实践规划 * 2.1 本地环境规划 * 2.2 本次实践介绍 * 三、本地环境检查 * 3.1 检查Docker服务状态 * 3.2 检查Docker版本 * 3.3 检查docker compose 版本 * 四、下载music-tag-web镜像 * 五、部署music-tag-web应用 * 5.1 创建部署目录 * 5.2 编辑部署文件 * 5.3 创建music-tag-web容器 * 5.4 查music-tag-web容器状态 * 5.5 查看music-tag-web容器日志 * 六、