RACCOON TECH BLOG

株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。

CSS大掃除をAIとやってみたら、めっちゃ楽だった話

こんにちは、デザイン部の田中です。

去年の年末に、古いページのコードの大掃除を行いました。
リファクタリングといえるほど大層なことはやってないですが、見た目や動作は変えず、無駄な記述を消す作業です。私の部署では毎年必ずではありませんが、大体年末の落ち着いた時期に実施されています。
今回は、ちょうど社内で AI 活用が推奨されていたタイミングでもあったため、活用の良い機会だと思い、自分が主導して進めてみました。

本記事では、その際の体験談を通じた AI 活用の強みと注意点 などの学びを共有します。

今回の対象と目的

私が担当したファイルは以下のとおりです。

更新頻度が高いファイルも、膨大な記述を抱えているファイルも、未使用の記述が紛れ込みやすいので、優先的に対象としました。

CSS の記述量はサイトのパフォーマンスに少なからず影響しますし、長く放置されるほど整理が難しくなります。
当社では事業部側の協力的姿勢もあって、こうした取り組みを定期的に行える環境が整っており非常にありがたいです。(とはいえ、まだまだ無駄な記述は多いですが……。)

まず試してみた

今回の作業では、当社で既に導入されていた GitHub Copilot を使用しました。
VS Code のチャット機能にて、まずは軽く以下のように依頼してみました。

「このファイルの中で、ローカルで使っていない id の CSS 記述を削除して」

するとものの1分程で、ファイル内の id を一覧化し、ローカルの HTML に存在しない id を抽出し、それらの記述を削除した差分を返してくれました。

速っ!!神じゃん!!!!!!
と思ったのも束の間、内容を確認していくといくつかミスを発見しました。

発生した問題

対象 id のブロックの “すぐ下” にある別ブロックまで削除されてしまう

/* 消したい特集ページ----- */
#event-kesu { color: #333; }
  // ... 中略 ...
#event-kesu > .last-content { margin: 0; } ←ここまでのはずが

#event-kesanai { color: #666; }
  // ... 中略 ...
#event-kesanai .last-content { padding: 5px; } ←ここまで消えてしまった!
/* 関係ない○○ページ----- */

理由は完全にはわかりませんが、どうやら 先頭行のコメントアウトを起点として次のコメントアウトまでを一つのブロックと認識した ため、意図しない範囲が削除されてしまったようでした。(消したくないブロックの頭にはコメントがありませんでした)

さらに、修正を依頼した際には、自身が削除した分の行数変化を考慮できず、元々予定していた行数分をそのまま削除してしまうといった現象も発生するなど、予想以上にすんなりいかないなーとなることもありました。

そのため、いったん作業状態をまっさらな状態に戻し、やり方を見直しました。

対応策と実際の作業

試行錯誤した結果、削除作業を安全に進めるためのフローは次のようになりました。

  1. まず削除候補の一覧だけを生成する(即削除させない)

  2. 人間側で候補を再確認する

  3. 削除時の条件を具体的に伝えて削除してもらう

    • 削除対象ではないセレクタを明示
    • 近接するブロックを誤って消さないことを強調
    • 行数の変動があっても破綻しないよう下から順に削除するよう指定
       
  4. 生成された差分を目視で最終確認する

念のため、一連の流れをid → class の順で分けて作業してより安全性を高めながら 3 ファイルに対して同じ手順を実施しました。

2 の工程で手動検索している際、JavaScript 側で動的に生成される要素のセレクタが削除候補に含まれていることに気づきました。
もちろんプロンプトで細かく指定すれば防げるのでしょうが、人間の判断を挟んで正解だったと感じました。

結果:AI と協力すれば地味な作業がかなり楽になる

今回の作業で特に効果を感じたのは、
「人間がやると単調で時間がかかる部分を、AI が高速で処理してくれる」
という点でした。

具体的には以下の作業が人間の速度とは比べ物にならなかったです。

これらは人間がやると地道すぎて面倒で、見落としも発生しがちですが、AI は繰り返し作業や総当たりに強いため、効率化とストレス軽減に直結しました。

一方で、文脈理解や削除範囲の判断は現時点ではまだ苦手な場面もあり、
「AI が得意な部分だけ任せる」
という形が最も楽で安定していました。

試行錯誤を加味しても、作業時間が体感で 例年の 5 分の 1 以下 くらいに短縮できました。

リファクタリングや不要ソース削除は事業に直接効果がある仕事ではないので、短い時間で気軽にできることがとても大事ですし、今回の経験と改善したプロンプトを活かすことで、今後も効率よく実施していきたいです。

 
現在ラクーンホールディングスではエンジニア・デザイナーを募集中です!
興味を持っていただいた方はこちらからエントリーをお願いします。カジュアル面談も実施中です!

一緒にラクーンのサービスを作りませんか? 採用情報を詳しく見る

関連記事

運営会社:株式会社ラクーンホールディングス(c)2000 RACCOON HOLDINGS, Inc