今天本来开开心心,想体验一把最近很火的 Claude Code 工具。选了阿里的 qwen-max 模型,配好环境,就开始愉快测试。
任务很简单:写一个表单,上半部分文件上传,下半部分属性配置。七八轮对话,代码出来了,就是上传区样式有点丑,让它改了改,剩下都是简单闲聊。
一切都很正常,直到中午。
一条短信直接给我干懵了:阿里云欠费 93(之前帐号还有 10 几块) 元,大模型服务已停用。
我当时第一反应:???我干啥了???
赶紧去后台一看数据,人直接傻了:消耗了两千多万 Tokens。
七八轮简单对话,怎么可能跑出这个数字?我当场怀疑人生。
先去 Claude Code 里翻聊天记录,结果啥也找不到。最后跑到本地 .claude 目录,才发现一个巨大无比的日志文件。打开一看,真相来了:
里面疯狂刷屏同一条错误:
<tool_use_error>InputValidationError: AskUserQuestion failed due to the following issue: The parameter `questions` type is expected as `array` but provided as `string`</tool_use_error>
因为参数类型不匹配,Claude Code 一直在自动重试。粗略一数,同一个请求,重复刷了快 200 次!
更坑的还在后面。早上配置模型时,一开始用公司内部 API 调不通,同事建议加个环境变量:DISABLE_PROMPT_CACHING=1
当时只想着先跑通,没细想。后来才反应过来:**这是直接把 Prompt 缓存给关了!**每次请求都全量算 Token,不命中缓存,费用直接爆炸。
一边是死循环重试 200 次,一边是关闭缓存,Token 全额计费。双重暴击,93 块钱就这么没了。
这件事真给我上了一课:**大模型后付费,风险真的比想象高太多。**一旦代码 / 工具出问题,陷入循环调用,Token 消耗是指数级暴涨,账单来得比 bug 还快。
给各位同行提个醒:
- 用后付费大模型,务必加调用次数限制、速率限制
- 环境变量别瞎加,搞清楚每个配置是干嘛的
- 自动化工具(尤其是 AI Coding 工具)重试机制,一定要盯紧
- 本地先跑日志,确认没问题再上正式 API
小小一次测试,93 元买个教训。分享出来,希望大家别再踩同一个坑。