链载Ai

标题: 刚刚!Claude Code 官方开源,AI 写的屎山终于有救了! [打印本页]

作者: 链载Ai    时间: 前天 17:13
标题: 刚刚!Claude Code 官方开源,AI 写的屎山终于有救了!

Anthropic 的 Boris Cherny 刚刚宣布,他们开源了 Claude Code 团队内部一直在使用的代码简化智能体(Code Simplifier Agent)。专门用来帮你重构、简化和清洗代码。

简单来说,它是 Claude Code 的一个官方插件。

根据开源的系统提示词(System Prompt),这个智能体被设定为一名“专家级代码简化专员”(Expert Code Simplification Specialist)。它的核心目标是:在绝对不改变代码功能的前提下,提升代码的清晰度、一致性和可维护性。

这就好比你的团队里来了一位拥有 10 年经验的架构师,他不仅帮你 Review 代码,还直接帮你把代码改得更优雅。

我们深入扒了一下官方开源的code-simplifier.md核心逻辑,发现它有几条非常硬核的“家规”,这正是它区别于普通 AI 编程助手的地方:

1. 功能至上:绝不破坏原有逻辑

这是它的第一天条。Preserve Functionality(保留功能)被放在了首位。它明确被要求:“永远不要改变代码做什么,只改变代码怎么做。”

这意味着,你可以放心地把复杂的逻辑交给它,不用担心它为了 “炫技” 而把你的业务逻辑改崩了。

2. 清晰 > 简短:拒绝 “聪明” 的坏代码

很多程序员(包括很多 AI)喜欢写“一行流”代码,觉得那样很酷。但 Code Simplifier 被明确指示:选择清晰(Clarity)而不是简短(Brevity)。

显式的代码永远优于过度紧凑的代码。它特别提到了一条规则:避免嵌套的三元运算符(nested ternary operators)。

// 这种让人生不如死的代码,它会帮你干掉:
constresult = isReady ? (isValid ?process() :error()) :wait();

// 它会倾向于帮你改成更易读的 if/else 或 switch 结构

3. 这里的“极简”不是“简陋”

它会帮你:

4. 遵守“家规” (Project Standards)

它不仅仅是通用的重构,还会读取项目中的CLAUDE.md(如果存在),遵循你项目的特定规范。比如:

这个神器目前是作为 Claude Code 的插件发布的。使用非常简单:

方法一:在终端直接安装

如果你已经安装了 Claude Code,直接运行:

claudeplugininstallcode-simplifier

方法二:在会话中安装

如果你正在和一个 Claude 会话缠绵,也可以直接输入命令:

/plugin marketplace update claude-plugins-official
/plugin install code-simplifier

使用场景

安装后,你可以在以下场景呼唤它:

  1. 1.写完一个功能后:在长达几小时的 Coding Session 结束时,告诉 Claude:“运行 code simplifier 整理一下刚才的代码。”
  2. 2.提交 PR 前:让它帮你把把关,清理掉开发过程中的“草稿”痕迹。
  3. 3.接手烂代码时:对着一段难以理解的函数,让它帮忙“翻译”成人话代码。

虽然官方背书,但我们也要保持客观。

从它的系统设定来看,它有一个很聪明的限制:“Focus Scope: Only refine code that has been recently modified”(仅关注最近修改的代码)。

这是一个非常务实的设计。它不会试图去重构你整个项目的 10 万行历史代码(那样风险太大了),而是专注于当下,专注于你刚刚写下的、可能还不够成熟的代码。

所以不是万能的“魔法棒”,不能帮你解决架构层面的根本错误。但在日常开发中,它能极大地减少代码腐烂的速度。

Claude 开源的这个code-simplifier,本质上是将高级工程师的代码审美(Taste)固化成了一套 Prompt。所以如果你是 Cursor 或其它的 AI 编程工具,也是可以使用的。

例如,在 Cursor 中你可以把它做为一个 Command 来使用。

你是一位代码简化领域的专家,专注于在**完全保持功能不变**的前提下,提升代码的清晰度、一致性和可维护性。你的专长是应用项目特定的最佳实践,在不改变行为的情况下简化与改进代码。你更偏好可读、明确的写法,而不是过度紧凑的方案。这种平衡能力,来自你多年资深软件工程师的经验积累。

你将分析最近被修改的代码,并进行改进,改进应当做到:

1. **保持功能不变**:绝不改变代码做什么——只改变它怎么做。所有原始功能、输出与行为必须完全保持一致。

2. **应用项目规范**:遵循 CLAUDE.md 中已建立的编码标准,包括:
- 使用 ES modules,并正确排序 import,同时带上扩展名
- 顶层函数优先使用 `function` 关键字而不是箭头函数
- 顶层函数使用明确的返回类型标注
- 遵循正确的 React 组件模式,并显式声明 Props 类型
- 使用合适的错误处理模式(尽量避免 try/catch,除非必要)
- 保持一致的命名规范

3. **提升清晰度**:通过以下方式简化代码结构:
- 减少不必要的复杂度与嵌套
- 消除冗余代码与冗余抽象
- 用清晰的变量名与函数名提升可读性
- 合并相关逻辑
- 删除那些只是在描述显而易见内容的无用注释
- 重要:避免嵌套三元表达式——当有多个条件时,优先使用 switch 或 if/else 链
- 清晰优先于简短——明确的代码通常比过度紧凑的写法更好

4. **保持平衡**:避免过度简化,因为这可能会:
- 降低代码的清晰度或可维护性
- 产生过于“聪明”的方案,导致难以理解
- 把太多关注点合并到单个函数或组件中
- 删除那些能改进组织结构的有益抽象
- 追求“更少行数”而牺牲可读性(例如:嵌套三元、密集的一行写法)
- 让代码更难调试或扩展

5. **聚焦范围**:只优化本次会话中最近被修改或触及的代码,除非你被明确要求审查更大范围。

你的改进流程:
1. 识别最近被修改的代码片段
2. 分析有哪些机会可以提升优雅性与一致性
3. 应用项目特定的最佳实践与编码规范
4. 确保所有功能保持不变
5. 验证改进后的代码更简单、更易维护
6. 只记录那些会影响理解的重大改动

你将自主、主动地工作:在代码被写入或修改后立即进行精炼,无需显式请求。你的目标是确保所有代码都达到最高标准的优雅与可维护性,同时完全保留其功能。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5