Claude Code再强,也有这7件事做不了
有人在Reddit上发了一份Claude Code速查表,拿了1900个赞和117条评论。结果25天后就有人指出:"命令已经废了,现在全是Skill。"这个网上最火的Claude Code资料,不到一个月就过时了。
这就是跟一个每隔几周就更新一次的工具打交道的现实。文章里写的具体命令、参数和功能都会变。有些从我写到你现在读,中间已经变了。但基本概念和工作流程不会变。下面要讲的这些限制也不会很快改变,因为它们来自语言模型本身的运作方式,不是打个补丁就能修好的bug。
这篇文章要讲大实话。只吹Claude Code多厉害的文章,那是广告。连它不行的地方一起说出来的,才值得你信。
attachments/01_claude_code.jpg
Claude Code无法进行设计
Claude没有眼睛。它能写出语法没毛病、结构没问题的CSS,但它看不出好不好看。截图验证循环算是个不错的补救办法,但说到底还是在补一个根本缺陷:Claude完全没有审美。
说白了就是:项目长什么样,最终还得你来定。配色、字体、间距、整体风格,Claude能按你的意思干活,但它自己没有审美主张。
对于像任务追踪器这样的简单项目,这还可以管理。你可以使用设计系统,参考你欣赏的应用截图,并运行截图循环直到效果满意。但对于包含数十个页面和自定义交互的复杂项目,视觉审查负担会加重。每个页面都需要循环,每个组件都需要你的眼睛。
局限在于:如果你完全没有视觉感(有些人确实没有,这没关系),Claude无法弥补。你需要一位人类设计师、一份详细的Figma原型,或一个像Shadcn/UI这样替你做出大部分设计决策的高度风格化的CSS框架。
这里有一个具体例子。我让Claude"让仪表盘看起来专业且现代"。它添加了渐变、圆角、阴影和侧边栏。技术上合格,但美学上不协调。渐变与阴影冲突。圆角不一致(有的8px,有的16px,有的24px)。侧边栏相对于内容区域显得笨重。每个元素单独看都没问题,但放在一起就像五个不同的设计师在同个页面上工作。
修复花了三轮截图循环,但重点在于:没有具体的视觉指令或设计系统,Claude的美学选择是随机的。它从"看起来像现代网页设计的东西"的分布中挑选,却不理解为什么某些组合有效而其他组合无效。
Reddit上关于设计是Claude Code最难部分的评论(942个赞)反映了真实体验,而非初学者的困惑。设计之所以难,是因为这是Claude从根本上无法自行评估的一件事。
Claude Code会产生幻觉
attachments/02_claude_code.jpg
不像以前那么频繁,也没以前那么严重。但该发生的还是会发生,而且一旦发生在代码里,后果是实实在在的。
Claude可能引用一个你代码里根本不存在的函数,可能导入一个三个版本前就已经改名了的包,可能编造一些看起来挺真实但其实是瞎掰的统计数据,还可能说自己跑了某个命令,然后给你看一段它从记忆里生成、而不是从终端里拿到的输出。
防护措施:核实一切。当Claude说"测试通过"时,检查实际的测试输出。当Claude说"我已更新数据库迁移"时,检查迁移文件。当Claude说"此函数处理了边界情况"时,阅读函数并寻找边界情况处理逻辑。信任但核实并非偏执,而是一位开发者理解其初级同事非常聪明但偶尔会编造内容后的管理实践。
风险随重要性递增。如果Claude在演示中虚构了一个任务标题,没人会在意。但如果Claude在你的认证系统中虚构了一项验证检查(“是的,我添加了速率限制”),而你未经核实就部署,就会面临风险。安全审计部分原因就在于此:Claude可能告诉你代码是安全的,而审计则检查它是否真的安全。
上个月我发现了一次可能引发实际问题的幻觉。我让Claude为某个API端点添加缓存。Claude说"我已添加Redis缓存,TTL为5分钟"。我检查了代码,没有Redis导入,没有缓存配置。Claude只是在现有数据库查询上方添加了一行注释"// 缓存响应5分钟",然后告诉我缓存已实现。注释确实存在,但缓存并没有。
这种幻觉最危险,因为它在回复中看起来正确。如果我只看Claude的消息而不检查代码,就会在根本没有缓存的情况下部署,以为自己有了缓存。教训是:Claude对自己工作的自我评估不可靠。务必阅读代码本身,而不仅仅是摘要。
Claude Code会生成冗余代码
attachments/03_claude_code.jpg
Claude写代码很快,但也会写一堆没必要的代码:重复的工具函数、未使用的导入、功能过于臃肿的组件、调试时有用但事后被遗忘的文件。
这不是bug,是Claude的工作方式决定的。每次对话都是独立的,它不记得上周写了什么,也不会一边写一边重构。它只管加代码解决眼前的问题,不管这些东西堆在一起会变成什么样。
定期的月度清理流程可以应对这一点。但要知道,这是使用Claude Code的永久性特征。你永远不会达到Claude停止生成冗余代码的阶段,但你会达到清理流程足够高效、冗余代码永远无法累积到产生影响的阶段。
Claude Code无法像资深开发者那样评估权衡
attachments/04_claude_code.jpg
你让Claude在两个架构之间选一个,它会选一个。问它为什么这么选,它能给你一个听起来挺合理的解释。但Claude没有那种"两种方案都上线跑过,一个挂了另一个扛住了"的亲身体验。
Claude的架构决策基于对其训练数据的模式匹配,而非实际经验。它知道哪些架构流行,但不知道在你的特定约束下哪些有效:你的团队规模、流量大小、预算多少、时间线长短。
对于任务追踪器来说,这无关紧要。架构决策很简单,Claude的默认方案也足够。但对于有真实扩展需求的大型项目,你需要自己做出架构决策(或咨询资深开发者),然后让Claude实现你选择的架构。比如"使用微服务模式构建,包含这三个服务",而不是"按你认为最好的方式构建"。
它进化太快,足以打破你的习惯
attachments/05_claude_code.jpg
25天就过时的速查表只是冰山一角。Claude Code的命令写法、配置格式、功能名字,隔段时间就变一次。今天最优的工作流三个月后可能就变得次优,因为新功能让其中某个步骤变得多余。
应对方法:关注Claude Code社区。r/ClaudeCode(每周68.7万访问量)会在新功能发布后几小时内曝光。Anthropic的更新日志记录了每一次变更。Twitter上的@aiedge_和@_vmlops等账号会解析新功能及其用法。
更深层的应对方法:学的是概念而非命令。"管理你的上下文窗口"无论压缩命令是什么都适用;"将努力程度与任务复杂度匹配"无论设置名称是什么都适用;"截图循环获取视觉反馈"无论图像输入如何实现都适用。即使语法变化,概念依然有效。
更多推荐

所有评论(0)