用 Codemod 审查 Vibe Code
概述
Vibe Code 指用 AI 编程工具生成的代码,通常质量参差不齐,需要额外审查。
Codemod 是一个 AI 驱动的代码自动化平台,专注于大规模代码迁移、框架升级和重复性重构任务。与其他代码审查工具不同,Codemod 不仅审查代码,还能实际修改代码,提供 AST(抽象语法树)操作的确定性正确性保证。
核心价值: 自动化代码转换 + 混合 AST+AI 方法 + 多仓库编排。
一、Codemod 是什么
1.1 核心定位
| 定位 | 说明 |
|---|---|
| 传统代码审查 | CodeRabbit、Greptile、Qodo — PR 评论机器人 |
| Codemod | 代码自动化 — 实际修改代码,不只是评论 |
1.2 核心能力
| 能力 | 说明 |
|---|---|
| Codemod Studio | Web IDE,构建、测试、迭代 codemod |
| Codemod CLI | 开源 CLI,运行、测试、发布 codemod |
| Codemod MCP | Model Context Protocol 服务器,连接 Claude、Cursor |
| JSSG | TypeScript AST 转换脚本,模式匹配 + 语义分析 |
| Workflow Engine | YAML 配置编排多步骤迁移 |
| Codemod Registry | 社区市场(100k+ codemod) |
| Codemod Campaign | 跨仓库协调迁移 |
二、如何工作
2.1 工作流系统
workflow.yaml
├── version: "1"
├── nodes:
│ ├── id: migrate
│ ├── steps:
│ │ ├── js-ast-grep: # 确定性 AST 转换
│ │ ├── ai: # AI 驱动修复
│ │ └── run: # Shell 命令
│ └── strategy: # 矩阵并行策略
├── state: # 跨运行持久化
└── params: # 运行时可配置
2.2 转换引擎
| 引擎 | 说明 |
|---|---|
| JSSG (js-ast-grep) | JavaScript/TypeScript AST 模式匹配 |
| YAML ast-grep | 声明式规则(最快、确定性) |
| AI Step | LLM 驱动的转换 |
| Shell 命令 | 设置、清理 |
三、价格
| 计划 | 价格 | 功能 |
|---|---|---|
| Community | $0 永久 | CLI、基础 AI 功能、公共 codemod |
| Starter | $300/1 MLOC/月 | Studio、MCP、Pro codemod、任何 Git 提供商 |
| Full | $1,000/1 MLOC/月 | Insights、Campaign、本地部署、SOC2、RBAC |
按代码行数计费,而非按席位。
四、快速开始(5 分钟)
4.1 安装 CLI
# 安装
npm install -g codemod
# 验证
codemod --version
4.2 使用现成 Codemod
# 搜索
codemod search react
# 运行 React 升级
npx codemod react-18-to-19
4.3 创建自定义 Codemod
- 访问 studio.codemod.com
- 提供 before/after 代码示例
- AI 生成 draft
- 测试和发布
4.4 在 AI 工具中使用
# 安装 MCP
npm install -g @codemod/mcp
# Claude Code / Cursor 自动获得工具:
# - dump_ast
# - run_jssg_tests
# - get_ast_grep_instructions
4.5 基本工作流示例
# workflow.yaml
version: "1"
nodes:
- id: standardize
steps:
- js-ast-grep:
rule: |
function $FUNC($PARAMS) { return $BODY; }
update: |
function $FUNC($PARAMS) {
if (!$PARAMS) return;
return $BODY;
}
- run: npx prettier --write {path}
五、用 Codemod 审查 Vibe Code
5.1 为什么适合
| Vibe Code 问题 | Codemod 方案 |
|---|---|
| AI 代码模式不一致 | JSSG 自动标准化 |
| 大规模修改困难 | Campaign 跨仓库 |
| 审查跟不上速度 | 自动化转换,不只是评论 |
| AI 幻觉风险 | AST 确定性,非纯 LLM |
5.2 工作流
Claude/Cursor 生成代码
↓
Codemod MCP 工具
↓
JSSG 确定性修复
↓
AI 处理复杂情况
↓
自动创建 PR
5.3 与 AI 编码工具配合
AI 工具负责生成
Codemod 负责标准化
确定性 + AI 混合方法
六、GitHub 和 GitLab 集成
6.1 GitHub
安装: GitHub Marketplace → Codemod App → 选择仓库
权限: 读取代码、创建分支/PR
6.2 GitLab
设置: 创建 Group Access Token → 配置 Codemod
6.3 Campaign 功能
- 实时状态流
- PR/MR 链接
- 任务状态:Todo → In Review → Done
七、优缺点
7.1 优点
| 优点 | 说明 |
|---|---|
| 确定性转换 | AST 基础,可靠不易幻觉 |
| 混合方法 | ast-grep + AI 组合 |
| 企业就绪 | 试运行、审批门禁、SOC2 |
| 跨仓库扩展 | 矩阵策略、并行执行 |
| MCP 集成 | 原生支持 Claude、Cursor |
| 社区 Registry | 100k+ 开源 codemod |
7.2 缺点
| 缺点 | 说明 |
|---|---|
| 学习曲线 | AST/YAML 概念较陡 |
| 非实时审查 | 是批量迁移工具,不是 PR 评论机器人 |
| YAML 复杂性 | 复杂工作流难管理 |
| 小型任务过重 | 不适合简单一次性修改 |
八、与替代工具对比
| 维度 | Codemod | CodeRabbit | Qodo | Greptile |
|---|---|---|---|---|
| 焦点 | 自动化转换 | PR 审查 | 审查 + 测试 | 代码库审查 |
| 代码转换 | ✅ | ❌ | ❌ | ❌ |
| 测试生成 | ❌ | ❌ | ✅ | ❌ |
| 价格 | $300+/MLOC | $24/人/月 | $30/人/月 | $30/人/月 |
| 平台 | GitHub, GitLab | 4 平台 | 3 平台 | 2 平台 |
选择建议:
- 大型迁移 → Codemod
- 实时 PR 审查 → CodeRabbit
- 需要测试生成 → Qodo
- Vibe Code 清理 → Codemod + Claude/Cursor
九、总结
Codemod 核心特点:
- ✅ 不是评论机器人,是实际修改工具
- ✅ AST + AI 混合方法
- ✅ 与 Claude、Cursor MCP 集成
- ✅ 跨仓库大规模迁移
不适合:
- ❌ 实时 PR 审查
- ❌ 小型简单任务