AIが書いたコードの「ダメなところ」だけを検出するリンター — AISlop、50超のルールで7言語対応
CursorやClaude Codeで書いたコードを、そのままプッシュしていないだろうか。
AIが生成するコードには独特のクセがある。処理の内容をそのまま繰り返すだけのコメント、catchブロックで例外を握りつぶす、TypeScriptでas anyを乱発する、存在しないモジュールをimportする——人間のコードレビューでは見落としがちな、しかし確実にコードベースを腐らせるパターンだ。
AISlop は、こうした「AIスロップ」だけを狙い撃ちにするCLIリンターだ。Hacker Newsのフロントページに上がり、「AIコーディングの副作用」という今もっともタイムリーなテーマで議論を呼んでいる。
1コマンドで試せる
導入の敷居は極めて低い。
npx aislop@latest scan
これだけでカレントディレクトリのコードがスキャンされる。npm、Homebrew、pipxからのグローバルインストールにも対応しており、Bun・Yarnでも動く。実行はサブ秒。コードが外部に送信されることもない。MIT ライセンスのOSSだ。
ここが素直にいいと思う点で、LLMを一切使わない。内部では6つの並列エンジン(Biome、ruff、oxlint、gofmtなど既存のフォーマッタ・リンターを統合したもの)を走らせる決定論的な解析だ。同じ入力に対して常に同じ出力が返る。CI/CDパイプラインに組み込む場合、この再現性は必須条件になる。
何を検出するのか
50超のルールが7言語(TypeScript、JavaScript、Python、Go、Rust、Ruby、PHP)をカバーする。いくつか具体例を挙げる。
ナラティブコメント: // ユーザーデータを取得するのような、コードの内容をそのまま日本語(英語)で繰り返すだけのコメント。AIが律儀に全行にコメントを付ける症状。人間は普通こんなコメントを書かない。
例外の握りつぶし: catch (error) {}。AIは「とりあえずtry-catchで囲んでおく」をやりがちで、エラーが静かに消えるコードが量産される。
as anyキャスト: TypeScriptの型安全性を台無しにする。AIは型エラーを黙らせるために安易にキャストする傾向がある。
TODOスタブ: AIが「後で実装する」と書いて放置した関数。レビューで見逃すとそのまま本番に載る。
巨大関数: AIは指示されたロジックをひとつの関数に詰め込みがちだ。人間なら分割するところを、AIは躊躇なく200行の関数を書く。
正直、どれも人間がコードレビューで指摘すべき項目ばかりだ。しかし現実には、AIが書いたコードを人間がレビューする体制自体がスケールしていない。1日に100件のAI生成PRが飛んでくるチームで、全件を目視レビューするのは不可能に近い。
競合ツールとの違い
AIコードの品質問題に対するアプローチは今、急速に増えている。
CodeRabbit: AI搭載のコードレビューツール。PRの差分を読んでフィードバックを返す。LLMベースなので柔軟な指摘が可能だが、実行のたびにAPIコストがかかる。
KarpeSlop: Karpathyのツイートに触発された別のOSSリンター。「情報のノイズ」「情報の嘘」「スタイル」の3軸でAIスロップを検出する。
Claude Security / Stage CLI: セキュリティ脆弱性やコード変更のレビューに特化。AIスロップ検出とは目的が異なる。
AISlop の立ち位置は「LLMを使わず、決定論的に、既存リンターと並列で走らせられる」点にある。CodeRabbitのようなLLMベースのツールは深い文脈理解ができる反面、実行コストと結果の揺らぎが避けられない。AISlop は静的解析の延長線上にあり、ESLintやruffと同じ感覚でCIに追加できる。
ルール50件で足りるのか問題
まだ初期段階のツールであることは否めない。ルール数は50超とはいえ、ESLintの数百ルールに比べれば少ない。VS Code拡張もまだ存在しない。あるレビュアーが「Cursor中心のリポジトリ3つでスキャンしたら47件の指摘が出て、ほとんどが恥ずかしいものだった」と書いているが、裏を返せば「恥ずかしい」レベルのものしか検出できていない可能性もある。
AI生成コードのアンチパターンは日々変化する。モデルが賢くなれば「ナラティブコメント」の頻度は減るかもしれないが、別の種類のスロップが出現する。ルールの更新速度がモデルの進化に追いつけるかは未知数だ。
CI/CDに入れてからが本番
AISlop が真価を発揮するのは、ローカルで1回走らせた時ではなく、CIパイプラインに組み込んで毎PRで自動実行する時だ。
AIコーディングエージェントが書いたPRに対して、まずAISlop が機械的にスロップを弾き、残った指摘を人間がレビューする。この2段階フィルターが回り始めれば、AI生成コードのレビュー負荷は大幅に下がる。CodeRabbit のようなLLMレビューツールと組み合わせれば、静的解析では拾えない設計上の問題もカバーできる。
GitHubの統計によると、2026年初頭にコミットされたコードの51%がAIの関与を受けている。この比率は上がることはあっても下がることはない。AIが書いたコードの品質を「人間の目」だけでは守れない時代に、AIスロップ専用のリンターという発想自体が正しい。あとはルールの厚みとエコシステムの成熟が追いつくかどうかだ。
関連記事
35Bのモデルが3B分のメモリで動く — Qwen3.6-35B-A3BをMacで試す
Qwen3.6-35B-A3Bは35Bパラメータのうち3Bだけ使う超効率MoEモデル。SWE-bench 73.4%の実力をOllamaでローカル実行する方法、27B Dense版との違いを解説。
Devinと同じことを無料でやるOSSが6万スターを超えた — OpenHandsの実力と限界
OpenHandsはDevinのOSS代替として急成長中のAIコーディングエージェント。セルフホスト・無料クラウドの使い方と弱点を整理。
Mastra — Gatsbyチームが作ったTypeScript AIエージェントフレームワークは本物か
Gatsbyチーム発のTypeScript AIエージェントフレームワークMastraを実際に触ってレビュー。LangChain.jsやVercel AI SDKとの違いがわかる