modem-dev/slop-scan

Detect AI code slop patterns in your repo

解決的問題

識別 JavaScript 與 TypeScript 倉庫中常見的「低判斷力」、「可疑」或「樣板化」的模式(即「slop」),這些模式通常出現在未經審查的 AI 生成程式碼中。幫助開發者區分成熟、經過人工審查的開源軟體與感覺像「氛圍編碼」或過度依賴生成樣板的程式碼庫。

工作原理

該工具使用決定性 CLI 掃描倉庫,查找特定啟發式規則(即規則),以標記常見的 AI 相關模式。它提供原始分數與歸一化分數(按檔案數、邏輯 KLOC 與函數數),以便在不同大小的倉庫之間進行公平比較。同時支援 delta 模式,用於追蹤這些模式隨時間或在不同分支之間是增加還是減少。

適用對象

  • 審計第三方倉庫品質的開發者。
  • 希望在自身程式碼庫中發現低判斷力樣板的團隊。
  • 比較 AI 生成倉庫與成熟開源基準的研究人員。
  • 迭代優化用於檢測生成程式碼的決定性啟發式規則的使用者。

主要亮點

  • 決定性掃描:使用經過驗證的規則集,查找空的 catch 塊、隱藏錯誤的 catch 塊、重複的函數簽名等模式。
  • 歸一化指標:透過比率(例如,Score/KLOC)比較倉庫,確保公平基準測試。
  • 可擴展性:支援第三方規則外掛與透過 slop-scan.config.json 進行自訂設定。
  • CI/CD 整合:提供 --lint 模式以產生人類可讀日誌,以及 --json 模式以輸出機器可讀資料,可根據新發現失敗建置。
  • 固定基準:包含一組基準測試,將 AI 生成倉庫與在 2025 年前的提交中固定的成熟開源倉庫進行比較,以建立基線。

相關

  • 專案
  • 專案
  • 專案
  • 專案