こんばんは、ほったりたです。
先日電子部品の片付けがうまくいかないと書きました。
実は電子部品だけではなく・・・PCのファイル整理も苦手です
(整理整頓が極端に苦手・・笑)
ということで、ちょっと落ち着いたので、
片付けるために整理アプリを自作をしてみました。
AIの仕事は「提案まで」と決めました
今回、作るにあたって最初に決めたのは
「AIに全部おまかせで分類させない」ということでした。
そもそも、僕みたいな整理整頓な苦手な人間が、
AIにちゃんと整理できるようなロジックを組んでと言ったところで、
整理できるわけがないんです
だって、整理整頓苦手でどう整理すべきかの検討がつかないからです。笑
そしてそういう僕みたいな人は「全自動で綺麗になる」に夢を見がちで、
勝手に新しいフォルダ体系を作られると、どこに何があるか分からなくなって、
結局そのフォルダごと放置することになるんですよね。
(実は過去に一回作って失敗しています。笑)
なので、僕が行き先を教えて、AIには提案係をやってもらう形にしました。
先にできあがったものがこちら。
スキャン結果の画面。※ファイル名に個人情報が入ることがあるので、
キャプチャはデモ用の架空データです
やることはシンプルで、スキャンすると「確実にゴミと言えるもの」と「行き先の提案」が並ぶので、チェックして実行ボタンを押すだけです。
確実なゴミというのは、たとえばこういうやつです。
◆ 展開済みフォルダが隣にあるのに残っているzip
◆ インストール済みのはずのdmgやpkg
◆ 「ファイル名 (1).png」みたいな連番の重複(中身が完全一致のものだけ)
このへんは判定にAIすら要らなくて、ルールだけで拾えます。僕の環境では、これだけで約6GB戻ってきました。
そして、ここで一つ条件として、アプリからは直接完全削除できないようにしました。間違えても「戻す」ことができるようにするためです
整理ツールは「壊さないこと」がいちばん大事だと思うので。
(これであれもこれもやっぱり必要かもしれないとならないようにきをつけないといけませんが・・笑)
行き先は「教えるほど」賢くなります
「行き先」タブで、こういうファイルはここへ、
というルールを登録できるようにしました。
※ファイル名に個人情報が入ることがあるので、キャプチャはデモ用の架空データです
「運動会」と付くファイルは家族フォルダへ、「領収書」は書類フォルダへ、拡張子が.stlなら3Dプリント素材へ。そんな感じのゆるいルールです。
登録しておくと、次のスキャンから該当ファイルにあらかじめ行き先が付いた状態で出てきます。グループごとにまとまって出るので、チェック1回で数十件がまとめて片付きます。
新しいフォルダはここでは作らないです。
整理整頓は苦手なりに PARAメソッド で自分の考えやプロジェクトの整理は頑張ってしているので、そこのPARAメソッドに合わせて、
ドキュメントの行き先を分類できるようにしました。
AIは「わからない」と言えるように2段構えにしました
とはいえ、ルールで拾えないファイルも残ります。そこでAIの出番です。
※ファイル名に個人情報が入ることがあるので、キャプチャはデモ用の架空データです
仕組みは2段構えです。
◆ 1段目: ローカルのembedding(文章を数値のベクトルにして意味の近さを測る仕組み)で、手元の開発プロジェクトの資料とファイル名を照合して候補を出す。
◆ 2段目: その候補をOpenAIのAPIに渡して「本当にこのプロジェクトの持ち物か」を判定させる。
この1段目が、導入に書いた「過去のRAG」です。
もともと自分の開発資料を横断検索するために作ったものを、
そのまま流用しました。せっかく作ったので働いてもらいます。
最初は1段目だけで運用してみたのですが、精度がいまいちでした。
似たような単語に引っ張られて、
関係ないファイルにも候補が付いてしまう。
2段目を入れてからは、手元で試した範囲ではかなり正確になりました。
そして何より、判定にちゃんと「わからない」が入るようになりました。
IMG_1234.jpgみたいな情報のないファイル名には、
無理に候補を付けずに「判定不能」と返してくる。
整理の文脈では、
間違った自信より正直な降参のほうがずっと役に立ちます。
あとAIの提案は、ルールの提案と色を分けて、
デフォルトではチェックが入らないようにしています。
最後に決めるのは人間、という線は守りたいので。
今後について
この2日で、ダウンロードフォルダから約6GBのゴミが消えて、行き場のなかった家族の動画や書類がそれぞれのフォルダに帰っていきました。
ただし、まだ改良の余地はあって、先ほどの例で行くと
IMG_1234.jpg
というテキストからは分類がわからないものがあります。
これはちょっと迷い中で本当にちゃんと分類できるかわかりませんが、
画像解析や動画解析をして文字にしてみて分類ができるのか?
を試してみたいなと思っています
ということで、整理整頓が苦手な話でした。笑
最後まで読んでいただきありがとうございました!
もしよければ登録orフォローいただけると嬉しいです!





