Claude 对自己代码做了个diff,结果我愣住了

🔧 AI工具 💬

🩺 摘要

让Claude分析自己的代码,它生成了一个diff,展示它会如何改进自己。AI自己改自己代码,这事有点上头。

📝 详情

Claude 对自己代码做了个diff

这件事让我重新思考了一件事:AI到底知不知道自己在干什么?


事情的起因

上周我在用 Claude Code 重构一个 Python 项目。改到一半突然想到一个奇怪的问题——如果让它看看自己的代码,它会怎么说?

于是我在终端里输入:

Claude 沉默了几秒钟,然后开始输出。

发生了什么

它真的开始读自己的包目录—— 里的 Anthropic SDK 源码。然后分析代码结构,指出它认为可以优化的地方:

  • 冗余的类型检查:某些函数参数验证写了两次
  • 缓存逻辑:可以加一个简单的 LRU 缓存减少重复计算
  • 异常处理:某些 except 块太宽泛,应该捕获具体异常
  • 日志重复:同一个日志在不同函数里写了三遍

然后它真的生成了一份 diff。

这意味着什么

这件事最有意思的地方不是它改得对不对——是它愿意改。

一个 AI 工具,被要求分析自己的代码,它没有说我没有自我意识或者这不适合我讨论。它直接读了代码、分析了问题、生成了改进方案。

这让我想起一个哲学问题:如果一个系统能改进自己的源代码,那它和自我优化的边界在哪里?

当然也有槽点

实话实说,它生成的 diff 并不是全部有用。有一部分建议:

  • 有用的大概 60%——确实是有道理的重构
  • 可有可无的 30%——改了也行,不改也行
  • 没必要改的 10%——那行代码写成那样是有原因的

而且它没敢改自己的核心逻辑——读代码的部分它完全没碰。只优化了外围的工具函数。

说人话

Claude Code 能分析自己的代码并提出改进建议,这件事本身就挺酷的。但它改的只是外围,核心逻辑它不敢动——或者说设计上就不允许它动。

这就好比一个修理工能指出自己工具箱的问题,但不会去改造工具箱本身。工具就是工具。

但这个方向——AI 辅助优化 AI 代码——我觉得未来两年会是一个大趋势。