午后 2:35 PM

你: Claude,给自己加一个代码格式化工具,用 Prettier

Claude: 好的,我将修改自己的核心代码……

[00:12] 编辑 src/tools/format-tool.ts(新建文件)
[00:34] 修改 src/tools/index.ts(注册新工具)
[00:58] 安装依赖 prettier@3.2.5
[01:23] TypeScript 编译检查通过 ✓
[01:45] 热重启服务……
[02:01] 会话自动恢复 ✓

✅ 进化完成!我现在拥有代码格式化能力了。

这不是科幻电影,这是 Claude Code Open 的日常。

想象一下:你的 AI 助手不再是一个冰冷的静态工具,而是一个可以自我学习、自我修复、自我升级的进化体。它能读懂自己的源代码,识别不足,然后像外科医生一样精准地修改自己的"大脑"——所有这一切,都在你的监督下安全进行。

欢迎来到 SelfEvolve 的世界,AI 自我进化的起点。

🧬 什么是 SelfEvolve?

SelfEvolve 是 Claude Code Open 的一个革命性工具,它允许 AI 编辑自己运行时的源代码,并立即生效。这听起来像递归的魔法,但实现原理非常清晰:

⚙️ 工作原理:从编辑到重启的 5 步流程

Step 1: 编辑源码

AI 使用 Edit 工具修改 TypeScript 文件

Claude 分析自己的代码结构,使用标准的 Edit 工具修改 .ts 文件。例如新增一个工具函数、修改系统提示词、优化 UI 组件逻辑。

Step 2: TypeScript 编译检查

自动运行 tsc --noEmit

SelfEvolve 拦截修改操作,先运行 TypeScript 编译检查。如果有类型错误(如函数签名不匹配、缺少导入),修改会被拒绝,AI 看到错误信息后重新修正。

Step 3: DryRun 模拟(可选)

预检模式:不实际写入文件

如果启用 dryRun: true,修改只会在内存中模拟,输出"如果执行会发生什么",让用户决定是否继续。

Step 4: 热重启服务

Nodemon 监听文件变化,自动重启

文件修改后,nodemon 检测到变化,优雅地关闭旧进程、启动新进程。WebSocket 连接会短暂断开(约 2 秒),然后自动重连。

Step 5: 会话恢复

对话历史自动恢复

重启前,对话历史保存到 SQLite。重启后,Web UI 自动加载历史消息,用户可以继续对话,就像什么都没发生。

🛡️ 安全保障:如何防止 AI "作恶"?

赋予 AI 修改自己源码的能力,最大的担忧是:如果它写出恶意代码怎么办?

Claude Code Open 通过 五层防护 确保安全:

🔒
1. 路径白名单
AI 只能修改 src/tools/src/ui/ 等预设目录,无法碰触核心引擎代码(src/agent.tssrc/server.ts
2. TypeScript 类型检查
所有修改必须通过 tsc 编译检查,类型错误、语法错误会被自动拒绝,无法运行
🧪
3. DryRun 预检
用户可以要求 "先预览修改效果",AI 会模拟执行并输出影响范围,用户确认后才真正写入
📝
4. 审计日志
每次修改记录在 evolve-log.jsonl:时间戳、修改文件、修改内容、修改原因。可追溯、可回滚
👤
5. 用户确认(可选)
高风险操作(如安装新依赖、修改配置文件)会触发确认弹窗,用户拒绝则取消
🔄
6. Git 版本控制
所有修改都在 Git 管理下,随时可以 git revert 回滚到任意历史版本

⚠️ 默认情况下 SelfEvolve 是禁用的

必须使用 --evolve 标志启动 Claude Code Open:

claude --evolve

这是一个明确的用户同意信号:我知道 AI 可以修改自己的代码,我接受这个风险

🎨 实际应用场景

场景 1:修改系统提示词

你: Claude,你总是太啰嗦,给自己加一条规则:"回答要简洁,不超过 3 段话"

Claude: 好的,我将修改 src/prompts/system-prompt.ts ……

AI 编辑自己的系统提示词文件,添加一条新规则,重启后立即生效。你会发现它的回复变得更简洁了。

场景 2:安装 MCP 工具

你: 给自己加一个天气查询工具,用 OpenWeatherMap API

Claude: 我将创建 src/tools/weather-tool.ts,并安装 axios 依赖……

AI 自己写代码、安装依赖、注册工具,2 分钟后你就可以问它 "北京明天天气如何?"

场景 3:优化 UI 组件

你: Web UI 的代码块太小了,字号改成 14px

Claude: 我将修改 src/ui/components/CodeBlock.tsx 的 CSS ……

AI 编辑 React 组件的样式,重启后浏览器自动刷新,新样式立刻生效。

场景 4:增加新技能

你: 给自己加一个 SQL 查询工具,可以连接 PostgreSQL 数据库

Claude: 我将创建 src/tools/sql-tool.ts,使用 pg 库……

AI 自己实现数据库查询功能,以后你可以直接让它 "查询用户表中注册时间最早的 10 个用户"。

📊 SelfEvolve vs 传统插件系统

你可能会问:这和传统的插件系统有什么区别?

对比维度 传统插件系统 SelfEvolve
安装方式 人工下载、手动配置、重启应用 AI 自己写代码、安装依赖、热重启
定制化 只能用现成插件,功能受限 AI 根据需求定制开发,无限可能
学习曲线 需要阅读文档、学习插件 API 自然语言描述需求即可
迭代速度 等待插件作者更新 实时修改,2 分钟生效
深度集成 插件接口有限,无法修改核心逻辑 可以修改任何允许的源码

🧠 哲学思考:AI 自我进化的意义

SelfEvolve 不仅仅是一个技术特性,它代表了 AI 工具的范式转变

从静态到动态

传统 AI 工具是静态的:开发者写死所有功能,用户只能在框架内使用。SelfEvolve 让 AI 变成动态的:它可以根据用户需求实时进化,永不过时。

从工具到伙伴

当 AI 可以自我改进时,它不再是一个被动的工具,而是一个主动学习的合作伙伴。它会记住你的偏好("你喜欢简洁的回答"),改进自己的行为("我应该少啰嗦"),甚至提出建议("我发现你经常查天气,要不要我给自己加个天气工具?")。

从封闭到开放

官方 Claude CLI 是封闭的黑盒,你无法修改它。Claude Code Open + SelfEvolve 是完全开放的:

🚀 如何启用 SelfEvolve?

方式一:命令行标志

# 启用自我进化
claude --evolve

# 结合其他标志
claude --evolve --model opus --web

方式二:配置文件

~/.claude/settings.json 中启用:

{
  "evolve": {
    "enabled": true,
    "allowedPaths": ["src/tools", "src/ui"],
    "requireConfirmation": true,
    "logFile": "evolve-log.jsonl"
  }
}

方式三:对话中动态启用

你: Claude,启用自我进化模式

Claude: ⚠️ 自我进化模式允许我修改自己的源代码。是否确认启用?

你: 确认

Claude: ✅ SelfEvolve 已启用。我现在可以修改 src/tools/src/ui/ 目录下的代码。

📝 审计日志示例

所有修改都记录在 evolve-log.jsonl(JSON Lines 格式),每行一条记录:

// 第 1 次进化:新增工具
{"timestamp": "2026-02-16T14:35:12Z", "action": "create", "file": "src/tools/format-tool.ts", "reason": "用户请求添加代码格式化工具", "linesAdded": 45}

// 第 2 次进化:修改提示词
{"timestamp": "2026-02-16T15:12:34Z", "action": "edit", "file": "src/prompts/system-prompt.ts", "reason": "用户要求回答更简洁", "diff": "+简洁回答,不超过3段"}

// 第 3 次进化:安装依赖
{"timestamp": "2026-02-16T16:20:01Z", "action": "install", "package": "axios@1.6.7", "reason": "天气工具需要 HTTP 客户端"}

你可以随时审查这些日志,了解 AI 做了什么修改。

🔮 未来展望

当前的 SelfEvolve 只是起点,我们正在开发更强大的功能:

🎯 适合谁使用?

SelfEvolve 适合以下人群:

不适合谁:

💬 社区反馈

@开发者小王:"第一次让 Claude 给自己加功能时,我整个人都震惊了。它真的修改了自己的代码,然后重启,然后继续跟我对话,就像换了个更聪明的大脑。"

@AI 研究员李博士:"SelfEvolve 让我看到了 AGI 的一丝曙光。虽然还很初级,但这种自我修改、自我改进的能力,是真正智能的标志。"

@谨慎的张工:"刚开始我很担心安全性,但看到 TypeScript 检查、审计日志、DryRun 预检这些机制后,我放心了。而且所有修改都在 Git 管理下,随时可以回滚。"

🌟 结语:未来已来

当你第一次对 Claude 说 "给自己加个功能",然后看着它修改自己的代码、重启服务、继续对话时,你会意识到:

AI 不再是静态的工具,而是一个会成长的伙伴。

它会记住你的喜好,改进自己的行为,学习新技能,甚至提出建议。随着时间推移,你的 Claude 实例会变得越来越"懂你"——因为它是在你的指导下自我进化出来的。

这不是科幻,这是 2026 年的现实。

未来已来,只是分布不均。而你,现在就可以拥有它。

体验 AI 自我进化

启动 Claude Code Open,开启 --evolve 模式,见证未来