ClawSweeper: AIベースのオープンソース課題自動管理ボット
(github.com/openclaw)openclaw/openclaw リポジトリは、未処理の項目としてオープンな Issue と PR を合わせて 13,000 件以上抱えています。ClawSweeper は、これらの項目を AI が自動でレビューし、クローズできるものと開いたままにすべきものを分類するボットで、"確信が持てないなら閉じない" という保守的な原則の上に設計されています。
中核となる動作方式
- 3 段階パイプラインで運用されます。 Plan 段階で優先順位を決め、Review 段階で OpenAI Codex(gpt-5.4) がコード・コミット履歴・Issue コメントを読み取り専用で分析し、Apply 段階で手動トリガーを通じて実際のクローズを実行します。
- クローズ提案の条件は 5 つに限定されます。 すでに実装済みのもの、再現不能なもの、別プラグインへ移管すべきもの、内容が不明確なもの、60 日以上放置され情報が不足しているものだけが対象です。それ以外はすべて開いたままにします。
- 40 個の並列シャードで大量処理します。 1 件あたり 10 分のタイムアウトを設け、レビュー結果は Markdown ファイルとして保存され、判断根拠と証拠(ファイルパス、コミット SHA など)があわせて記録されます。
安全装置
- メンテナーが作成した項目は自動クローズ対象から除外されます。 OWNER、MEMBER、COLLABORATOR ロールを持つ人の Issue・PR にはボットは手を付けません。
- スナップショットハッシュで変更有無を確認します。 提案時点と適用時点の間に Issue が更新されていた場合は自動的にスキップし、古い判断がそのまま適用される事故を防ぎます。
- 提案と適用が分離されているため、 人が介入する機会が確保されています。
実際の成果(2025 年 4 月時点)
- 7 日間でレビュー完了した項目は Issue 8,419 件、PR 5,026 件です。 このうち Issue の約 33.7%、PR の約 11.4% がクローズ候補に分類され、実際に 3,907 件が整理されました。
- 失敗およびエラー件数は 17 件で、全体の 0.1% 未満です。
- 日次ケイデンスのカバレッジは 98.2% に達し、 ほぼすべての項目が毎日レビュー対象に含まれています。
技術スタックの特徴
- TypeScript 単一ファイル約 2,500 行で全体ロジックが構成されており、 外部依存が少なく構造もシンプルです。コンパイラには Go ベースの tsgo を使い、リンターとフォーマッターには Rust ベースの oxlint・oxfmt を採用してビルド速度を高めました。
- GitHub Actions の毎時 cron で動作し、 API レート制限に合わせて自動待機するスロットリングロジックが含まれています。
AI を補助役に置きつつ、最終判断は人に残すという設計思想
ClawSweeper が示しているのは、AI がメンテナーを代替する姿ではありません。13,000 件の項目の中から根拠が明確なものだけを選び出し、それ以外の判断は人に戻す構造です。クローズ提案率が全体のおよそ 4 分の 1 にとどまっている点は、ボットが過剰に整理していないことの裏付けでもあります。オープンソース保守運用で AI ツールが実質的に有効な役割を果たすには、技術的な精緻さよりも、"どこまで自動化し、どこで止めるのか" という線引きのほうが重要であることを、このプロジェクトはよく示しています。
まだコメントはありません。