作者用Claude Code几个月后,代码产出确实变快了。但他算了一笔账:有些任务省下的时间,在调试时全赔回去了。
这篇文章不是唱衰AI。作者想聊的是那些被忽略的"隐性成本"——当AI自信满满地给出错误答案时,你付出的信任税。
一次激进的重构
作者有个Vue组件,横跨三个文件。历史遗留代码,不好看,但能跑。
他给Claude Code的指令很简单:"清理一下,把类型定义整合。"
AI照做了。而且超额完成任务。然后继续超额。
最终输出:一个优雅、干净的组件。以及四个悄无声息消失的功能。
其中包括一个边界情况处理——加载空内容时的特殊逻辑。这段代码没有测试、没有注释、没有任何提示,但应用另外两个模块依赖它。
Claude Code分析了代码结构,却没理解代码背后的行为意图。
技术层面的重构完全正确,隐性行为契约却被破坏了。
作者现在的应对:重构任务必须明确列出"哪些行为必须保留",而不是只说"改哪些文件"。
这听起来理所当然。但他承认,自己早期经常忘。
一个虚构的API
这次作者承认,锅有一部分是自己的。
他让Claude Code写一个外部服务集成。AI输出流畅、自信、结构清晰——方法名合理,参数设计到位,该有的都有。
唯独有两个方法根本不存在。API从未提供过。
可能是AI记混了文档版本,可能是凭空捏造——作者不确定。确定的是:代码编译通过,类型检查通过,直到第一次真实调用才崩溃。
他本可以提前发现。本该先查官方文档再采纳代码。但他当时状态正佳,代码看着顺眼,就信了。
这就是"自信的错误"最危险的地方。AI犹豫或写"我不确定"时,人会警惕;AI回答清晰有条理时,人反而放松。这个本能反应完全搞反了。
作者现在的应对:所有涉及外部API或库的代码,必须对照原始文档核实。不是不信任AI,而是风险高、核查只要两分钟。
CLAUDE.md里的盲区
这次纯属作者自己的问题,但和Claude Code有关,值得写进来。
他让AI实现一个新页面区块。Builder agent干得不错,区块看起来干净。唯独区块标签——标题上方的小型等宽字体标签——用了纯文本,而非CLI风格。
这是项目规范,写在CLAUDE.md里。但那个文件太长了。作者自己都没完整读过,AI漏掉也不奇怪。
关键教训:关键约束必须放在AI的上下文窗口内,不能指望它去翻文档。
作者现在的应对:把核心规则塞进Claude Code的系统提示,而不是埋进长文档。
为什么这些坑值得被看见
作者的核心观点:AI编程工具的真实价值,不在于它多聪明,而在于你能不能建立正确的"人机协作协议"。
重构要显式约束行为边界。外部集成要强制文档核验。项目规范要塞进上下文而非依赖检索。
这些都不是AI的缺陷,是使用方式的进化。
作者最后没给结论。他说自己还在摸索,这些只是到目前为止的学费。
热门跟贴