
让 AI 给自己擦屁股
你有没有这种经历?
用 Claude Code 写代码速度飞快,结果回头一看——
妈呀,这是什么玩意儿?
三百行的函数、套了八层的 if-else、变量名叫 temp1 temp2 temp3……
写的全是屎山。
问题来了:AI 挖的坑,谁来填?
答案是:让 AI 自己填。
2025 年 1 月,Anthropic 官方发布了 code-simplifier 插件——
专门用来清理 AI 生成的烂代码,把屎山变成人能读的东西。
Claude Code 创始人 Boris Cherny 在 Twitter 说道:
"我们刚刚开源了 Claude Code 团队内部使用的 code-simplifier agent。试用:claude plugin install code-simplifier。在长时间编码后,或清理复杂 PR 时,让 Claude 使用代码简化 agent。"
code-simplifier 是什么?
一句话概括:Claude Code 官方出品的代码简化 Agent。
它的核心能力:
- 🔍 扫描冗余代码 - 识别重复逻辑、过度抽象、不必要复杂度
- ✂️ 自动重构优化 - 拆分大函数、优化命名、统一代码风格
- 📝 保持功能不变 - 只优化结构和可读性,不改变程序行为
- 📖 遵循你的规范 - 读取项目
CLAUDE.md,应用团队编码标准
也就是说——
AI 写的烂代码,现在可以让 Claude Code 自己来清理了。
这波操作 666。
四大核心原则
code-simplifier 遵循四大核心原则,确保优化质量:
1️⃣ 保留功能(Preserve Functionality)
永不改变代码功能 - 只改变实现方式。
- 所有原始特性保持不变
- 输出和行为完全一致
- 测试用例必须全部通过
2️⃣ 应用项目标准(Apply Project Standards)
自动遵循项目的 CLAUDE.md 中定义的编码规范:
- 使用 ES 模块,正确排序和扩展导入
- 优先使用
function关键字而非箭头函数 - 为顶层函数使用显式返回类型注解
- 遵循适当的 React 组件模式和显式 Props 类型
- 使用正确的错误处理模式
- 保持一致的命名约定
3️⃣ 增强清晰度(Enhance Clarity)
通过以下方式简化代码结构:
- 减少不必要的复杂性和嵌套
- 消除冗余代码和抽象
- 通过清晰的变量和函数名提高可读性
- 合并相关逻辑
- 删除描述明显代码的不必要注释
- 重要:避免嵌套三元运算符,对于多条件选择使用 switch 语句或 if/else 链
- 选择清晰而非简洁,显式代码通常优于过度紧凑的代码
4️⃣ 保持平衡(Maintain Balance)
避免过度简化可能导致:
- 降低代码清晰度或可维护性
- 创建难以理解的过度巧妙解决方案
- 将过多关注点组合到单个函数或组件中
- 删除改善代码组织的有用抽象
- 优先考虑"更少行数"而非可读性(如嵌套三元、密集的单行代码)
- 使代码更难调试或扩展
三步安装,即插即用
安装过程简单到离谱,三条命令搞定:
方法一:通过插件市场安装(推荐)
1️⃣ 打开 Claude Code
确保你已经安装了 Claude Code 最新版本。
2️⃣ 更新插件市场
在 Claude Code 会话中输入:
/plugin marketplace update claude-plugins-official
这一步是同步官方插件库,确保你能看到最新发布的插件。
3️⃣ 安装 code-simplifier
接着输入:
/plugin install code-simplifier
搞定。
方法二:直接命令安装
claude plugin install code-simplifier
等待安装完成,你就拥有了一个专门帮你清理代码的 AI 助手。
验证安装成功:
/plugin list
看到 code-simplifier 在列表中,就说明安装成功了。
五种使用姿势
安装完成后,你可以用以下方式召唤它:
1️⃣ 直接 @mention
@code-simplifier 帮我优化这段代码
2️⃣ 指定文件范围
@code-simplifier 优化 src/utils/helpers.ts 这个文件
3️⃣ 自然语言指令
请使用 code-simplifier 帮我整理一下刚才修改的代码
4️⃣ 只检查不修改
请使用 code-simplifier 帮我检查一下 dayu.ts,不要做任何修改
5️⃣ 完整指令(推荐)
@agent-code-simplifier:code-simplifier 请在不改变任何功能的前提下,优化并简化代码,使其更清晰、更一致、更易维护。
默认情况下,它只会优化最近修改过的代码,避免误伤其他文件。
实测效果:真香警告
我拿了一个之前用 AI 生成的项目来测试。
优化前:
- 一个 500+ 行的「上帝函数」
- 变量命名全是
dataresulttemp - 嵌套层级深到看不见底
- 重复逻辑到处复制粘贴
优化后:
- 拆分成 12 个职责单一的小函数
- 变量名语义化,一眼看懂
- 代码量反而减少了 30%
- 统一了代码风格,符合团队规范
这才叫代码,之前那是什么?乱码吗?
真实案例:嵌套三元运算符优化
优化前(噩梦):
const status = user.active ?
user.verified ? 'active-verified' : 'active-unverified' :
user.suspended ? 'suspended' : 'inactive';
这种嵌套三元运算符,读起来想吐。
优化后(清晰):
function getUserStatus(user) {
if (user.suspended) return 'suspended';
if (!user.active) return 'inactive';
return user.verified ? 'active-verified' : 'active-unverified';
}
const status = getUserStatus(user);
一目了然,这才是人写的代码!
code-simplifier 自动识别嵌套三元运算符,并将其重构为清晰的函数,符合"选择清晰而非简洁"的原则。
配置自定义规则:让插件听你的
code-simplifier 最强的地方在于——
它会读取你项目根目录的 CLAUDE.md 文件,遵循你的团队编码规范。
创建自定义规则
在项目根目录创建或编辑 CLAUDE.md:
# Coding Standards
## Import Convention
- Use ES modules with explicit extensions (.js, .ts)
- Sort imports: external packages first, then local modules
## Function Patterns
- Prefer `function` keyword for top-level functions
- Use arrow functions for callbacks and inline functions
## Type Annotations
- All exported functions must have return type annotations
- Prefer explicit types over `any`
## 命名规范
- 函数名使用 camelCase
- 组件 Props 必须显式声明类型
- 常量使用 UPPER_SNAKE_CASE
## 代码风格
- 优先使用 function 关键字,而非箭头函数
- import 语句必须包含文件扩展名
- 错误处理统一使用 try-catch
## 注释规范
- 删除所有注释,代码应该自解释
- 例外:复杂算法逻辑保留注释
## 其他
- 禁止使用 var 声明变量
- 优先使用 const,其次是 let
示例:强制使用箭头函数
如果你的团队偏好箭头函数:
## 函数声明
- 优先使用箭头函数:const foo = () => {}
- 避免使用 function 关键字
code-simplifier 会自动把所有 function foo() {} 改成 const foo = () => {}。
这就像是给插件装了「团队 DNA」,优化出来的代码完全符合你们的风格。
典型使用场景
场景一:清理 AI 生成的原型代码
问题:
用 Claude Code 快速搭建 MVP,代码能跑但难以维护。
解决方案:
@code-simplifier 帮我重构 src/ 目录下的所有代码
场景二:统一团队代码风格
问题:
多人协作项目,代码风格五花八门,code review 痛苦。
解决方案:
在 CLAUDE.md 定义团队规范,然后:
@code-simplifier 统一整个项目的代码风格
场景三:优化遗留代码
问题:
接手别人的老项目,代码复杂到不敢动。
解决方案:
@code-simplifier 先检查一下 legacy/ 目录,列出可以优化的地方,不要修改
场景四:代码审查前的清理
问题:
提交 PR 前,想让自己的代码更专业。
解决方案:
@code-simplifier 优化我最近修改的文件
⚠️ 重要提醒:备份!备份!备份!
划重点了兄弟们!
在使用 code-simplifier 之前,一定要先备份代码!
虽然这个插件很智能,但毕竟是自动重构——
万一出点意外,没备份的话,你可能会哭晕在厕所。
推荐做法:
方法一:Git 提交
git add .
git commit -m "backup before simplify"
方法二:创建分支
git checkout -b backup-branch
方法三:直接复制文件夹
简单粗暴,但有效。
切记:宁可多备份一次,也别事后哭爹喊娘。
高级技巧:结合工作流
最佳实践流程
1️⃣ Plan 阶段:正常开发
@frontend-engineer 实现用户登录功能
2️⃣ Build 阶段:功能完成后,清理代码
@code-simplifier 优化刚才的代码
3️⃣ 人工审查:检查优化结果
git diff
4️⃣ 提交代码:确认无误后提交
git add .
git commit -m "feat: 实现用户登录功能"
工作流集成
你可以把 code-simplifier 集成到 CI/CD 流程:
# .github/workflows/code-quality.yml
- name: Code Simplification Check
run: |
claude plugin run code-simplifier --check-only
插件原理揭秘
code-simplifier 使用 Claude Opus 模型,专门训练用于代码优化。
完整工作流程(6 步)
1️⃣ 识别最近修改的代码段
- 分析 git diff
- 找出最近修改或触及的代码
- 默认只处理最近修改的部分
2️⃣ 读取项目上下文
- 扫描项目结构
- 读取
CLAUDE.md规范 - 分析代码依赖关系
3️⃣ 分析改进机会
- 使用 Opus 模型分析
- 识别代码复杂度问题
- 发现重复逻辑
- 检测命名不规范
4️⃣ 应用项目最佳实践
- 应用项目特定的最佳实践和编码标准
- 生成优化方案
- 拆分大函数
- 优化变量命名
- 删除冗余代码
5️⃣ 确保功能不变
- 保持所有原始特性、输出和行为
- 确保测试通过
- 验证精炼后的代码更简单、更易维护
6️⃣ 应用修改并记录
- 应用修改到代码文件
- 仅记录影响理解的重要更改
- 生成修改报告
Agent 定义
name: code-simplifier
description: Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
model: opus
tools: Read, Edit, Glob, Grep
Agent Prompt 核心逻辑
You are an expert code simplification specialist focused on enhancing
code clarity, consistency, and maintainability while preserving exact
functionality.
Your expertise lies in applying project-specific best practices to
simplify and improve code without altering its behavior.
You prioritize readable, explicit code over overly compact solutions.
它使用的是 Opus 模型,确保优化质量。
与 ESLint/Prettier 的区别
很多人会问:我有了 ESLint 和 Prettier,还需要 code-simplifier 吗?
答案是:需要!它们是互补的。
| 对比维度 | code-simplifier | ESLint/Prettier |
|---|---|---|
| 代码格式化 | ❌ | ✅ |
| 语法检查 | ❌ | ✅ |
| 逻辑重构 | ✅ | ❌ |
| 理解上下文 | ✅ | ❌ |
| 保持功能 | ✅ | N/A |
| 自动化程度 | 高 | 中 |
| AI 能力 | ✅ | ❌ |
关键区别
ESLint/Prettier:
- 只做语法检查和格式化
- 不理解代码逻辑
- 无法重构复杂逻辑
code-simplifier:
- 理解代码语义和上下文
- 能重构嵌套三元运算符
- 能拆分大函数
- 能优化代码结构
最佳实践:三者配合使用
# 1. 先用 code-simplifier 重构逻辑
@code-simplifier 优化这段代码
# 2. 再用 ESLint 检查语法
npm run lint
# 3. 最后用 Prettier 格式化
npm run format
与手动重构的对比
| 对比维度 | code-simplifier | 手动重构 |
|---|---|---|
| 速度 | 快 | 慢 |
| 一致性 | 高 | 取决于开发者 |
| 学习成本 | 低 | 高 |
| 理解深度 | AI 辅助 | 人类判断 |
| 复杂决策 | 需要指导 | 完全控制 |
code-simplifier 不是替代手动重构,而是加速重构过程。
插件 vs MCP Server:别搞混了
很多人会混淆 Claude Code Plugin 和 MCP Server:
| 对比维度 | Claude Code Plugin | MCP Server |
|---|---|---|
| 运行环境 | Claude Code 内部 | 独立进程 |
| 调用方式 | @mention 或自然语言 | 需要配置 MCP 连接 |
| 权限范围 | 只能访问当前项目 | 可访问系统资源 |
| 典型用途 | 代码优化、重构 | 数据库连接、API 调用 |
| 开发难度 | 简单(Markdown 配置) | 中等(需要编写代码) |
code-simplifier 是 Plugin,不是 MCP Server。
它运行在 Claude Code 的 Agent 系统内,只能访问当前项目的代码。
开源地址
code-simplifier 是开源项目,你可以在 GitHub 查看源码:
官方仓库由 Boris Cherny(Claude Code 创始人)维护。
支持的编程语言
code-simplifier 支持所有主流编程语言,特别擅长:
- TypeScript/JavaScript - 最强支持
- Python - 优秀的重构能力
- Go - 理解 Go 特有模式
- Rust - 支持所有权和生命周期优化
- Java - 理解面向对象模式
- C/C++ - 支持内存管理优化
- Ruby - 理解 Ruby 惯用法
- PHP - 支持现代 PHP 模式
无论你用哪种语言,code-simplifier 都能帮到你!
为什么这个插件很重要?
2025 年,Vibe Coding 火遍全球。
越来越多人开始用 AI 写代码——
- 不会写代码的产品经理,用 Cursor 做出了 MVP
- 设计师用 Claude Code 实现了自己的创意
- 学生靠 AI 完成了毕业设计
但问题也来了:
AI 生成的代码,往往「能跑」但「难以维护」。
玩具还好,但如果你想长期迭代——
屎山迟早会反噬你。
现在有了 code-simplifier,等于给 AI 开发加了一道质量保险。
用 AI 生成 ➜ 用 AI 简化 ➜ 人工微调 ➜ 完美交付
这才是完整的 AI 辅助开发闭环。
常见问题 FAQ
Q1: code-simplifier 会改变代码功能吗?
A: 不会。这是 code-simplifier 的核心原则 - 只改变实现方式,不改变功能。所有原始特性、输出和行为保持不变。
Q2: 它支持哪些编程语言?
A: code-simplifier 支持所有主流语言,特别擅长 TypeScript/JavaScript、Python、Go、Rust、Java。
Q3: 可以自定义优化规则吗?
A: 可以,通过项目根目录的 CLAUDE.md 文件定义团队的编码标准,code-simplifier 会自动遵循。
Q4: 它会删除注释吗?
A: 只删除描述明显代码的冗余注释。有价值的文档注释和复杂逻辑说明会被保留。
Q5: 如何撤销 code-simplifier 的更改?
A: 使用 git 回滚即可:
git checkout -- <file>
建议在运行前提交代码,方便对比和回滚。
Q6: 它能处理大型项目吗?
A: 可以。code-simplifier 默认只处理最近修改的代码,避免全项目扫描。你也可以指定特定文件或目录。
Q7: 需要联网吗?
A: 不需要。code-simplifier 运行在本地,不需要联网。它使用本地部署的 Opus 模型。
Q8: 会泄露我的代码吗?
A: 不会。所有代码处理都在本地完成,不会上传到任何服务器。
总结
AI 写的屎山,终究还是交给了 Claude Code。
这不是打脸,这是进化。
从「能用就行」到「用得优雅」——
AI 辅助编程,正在走向成熟。
code-simplifier 的核心价值:
🎯 对个人开发者
- 提升代码质量 - 自动清理冗余,优化结构
- 学习最佳实践 - 观察 AI 如何重构代码
- 节省重构时间 - 快速清理 AI 生成的原型代码
🏢 对团队
- 统一代码风格 - 遵循 CLAUDE.md 规范
- 降低 Code Review 成本 - 提交前自动优化
- 降低维护成本 - 让代码更易读、易维护
🚀 对项目
- 提高代码可维护性 - 减少技术债务
- 加速开发迭代 - 快速清理遗留代码
- 保障代码质量 - 自动化代码优化流程
安装只需 3 步,使用只需 1 句话。
配合 ESLint + Prettier,打造完美的代码质量工具链。
还在等什么?赶紧用起来!
欢迎关注公众号 FishTech Notes,一块交流使用心得!