はじめに
IBM Bobは、IBMが提供するAI機能を持ったIDEです。幅広い開発者向けに使いやすく、親しみやすい機能を提供しています。開発パートナーとしても有能ですが、その能力は開発ではない領域にも活かすことができます。
この記事では、ローカルで行うさまざまな領域での応用を考えてみます。
例として次の2点を実現します。
- ローカルディスクの整理を行う(今回)
- Webで今日のニュースを要約する
仕事でPCを使っていると、アプリのインストールや業務ファイルの蓄積でローカルディスクの空き容量が乏しくなってきます。
空き容量を増やしたいけど、どのフォルダに削除すべきファイルがあるか分からなくて効率的に削除できないといったことはないでしょうか。今回はBobにこの課題を解決してもらいます。
この記事の内容は Bob2.0+Windows11環境 にて検証を行っています。
実際の利用にあたっては、所属されている組織の運用ルールをご確認のうえ、問題ない範囲でご利用ください。
IBM Bobとは?
IBM Bobは、コードベース上で開発者と協働し、ソフトウェア開発を支援するAIパートナーです。
コード補完だけでなく、アプリケーションの分析、設計、実装、レビュー、モダナイゼーションなど、開発ライフサイクル全体を支援します。
30日間の無料トライアルでは、IBM Bobの利用に必要な「Bobコイン」を40コイン利用できます。
- 無料トライアル:https://bob.ibm.com/trial
- Bobコインの追加購入:https://bob.ibm.com/pricing
この記事でBobが達成すること
ローカルディスクに蓄積されたファイル群から、容量解放効果が大きく、削除時のリスクが少ないファイルを選んで削除する。
- 対象ファイルリストの作成と削除処理はBobが行う
- ユーザーはファイルの選択指示だけ行う
Step.1 Bobを起動する
ワークスペースとなるフォルダを任意に作成します。
Bobを起動した後、このフォルダを開きます。成果物は基本的にこのフォルダでやりとりすることになります。
Step.2 Bobにスキルを追加する
「スキル」はBobが必要と判断したときに利用されるAI用のワークフローです。
ユーザーが明示的に利用を指示しなくてもBobが自分でどのスキルが利用できるか判断するという特徴があります。
スキルはユーザーが設計して登録できます。
Bobには、プロンプトを再利用するための「スキル」という機能があります。
「実行する機能の概要」と「実施するプロンプト」をセットで登録します。
Bobはユーザーからの指示内容を見て「これはスキルを使うべき」と判断した際に、スキルに記載されたプロンプトを実行する流れに進みます。このとき、そこまでの出力結果やユーザーの確認を踏まえながら複数ステップで実行するワークフロー的な構成にすることも可能です。
今回は、次のスキルを使用します。
---
name: disk-cleanup
description: >
HDD/SSDの空き容量を増やすための、安全な削除ワークフロー。
ユーザーが「ディスクの空き容量を増やしたい」「不要ファイルを整理したい」等を
求めたときに使用する。調査→ToDo化→ユーザー承認→承認分だけ実行、の順で進める。
---
# Disk Cleanup Skill
不要なファイル・アプリを **安全に** 削除して空き容量を増やすためのスキル。
削除は取り返しがつかないため、必ず「人間の承認」を関所として挟む。
## 絶対に守るルール
- ユーザーが `- [x]` を付けた項目**以外**は絶対に削除・移動・アンインストールしない。
- 破壊的操作の直前に、対象と推定サイズを提示し、承認を得てから実行する。
- 可能ならゴミ箱への移動を優先する。
- システム領域・OS標準アプリ・設定ファイルには触れない。
- 判断に迷ったら中断してユーザーに確認する。
### 触ってよい / ダメな領域
#### 消して比較的安全(要確認)
- ブラウザ/パッケージマネージャのキャッシュ
- アプリの一時ファイル・古いログ
- ダウンロードフォルダ内の明らかに不要な大きいファイル
#### 触らない(ブロックリスト)
- OSのシステムディレクトリ、ドライバ、レジストリ相当
- OS標準アプリ、セキュリティ製品
- ドキュメント/写真など「ユーザーの生成物」(明示承認がない限り)
- `.ssh`、認証情報、各種設定ファイル
## ワークフロー
### フェーズ1: 調査(削除は一切しない)
1. OSを判定する。
2. そのOSに適した「調査コマンド」だけを実行し、容量を消費している対象を洗い出す。
- 大きなディレクトリ上位
- キャッシュ / 一時ファイル / ログ
- ダウンロードフォルダの古い/大きいファイル
- 長期間未使用・重複アプリ
3. 各候補について パス / 推定サイズ / 安全理由 / リスク を整理する。
### フェーズ2: ToDo化
4. 結果を `cleanup_todo.md` にチェックボックス付き(`- [ ]`)で書き出す。
- カテゴリ別の見出しで整理
- 各項目に「推定削減サイズ」と「リスク注記」、高リスクには ⚠️ を付与
5. 「チェックを付けた項目だけが実行対象になる」旨を明記し、ユーザーの入力を待つ。
### フェーズ3: 実行(承認済みのみ)
6. `cleanup_todo.md` を読み直し、`- [x]` の項目だけを対象にする。
7. 各項目の削除直前に対象と推定サイズを提示し、承認を得てから実行する。
8. 完了項目に「✅ 実施済み(実削減サイズ)」を追記する。
9. 実行前後の空き容量の差分を報告する。
スキルを使用するためには、Bobにスキルを登録する必要があります。
Bobの設定メニューから次のような画面で登録を行う手順が一般的です。
少し難しそうですね。ここでもBobが活躍します。Bobに対して次のように指示を出すことで、Bobが登録を代行してくれます。
モードをAgentに指定し、次のように指示を出します。
次のテキストをスキルとして登録して。
<上のスキルを指示したテキストを貼り付け>
この指示で進めた場合、スキルのスコープをグローバル/ワークスペースのどちらにするか、Bobが確認してくると思います。
| スコープ | 機能 |
|---|---|
| グローバル | いつでもBobが使えるようにする |
| ワークスペース | 今回開いているフォルダ(ワークスペース)のみ有効とする |
という違いがあります。
グローバルのほうが便利そうですが、スコープを絞ることでスキルが想定しない文脈で選択されることを防ぐことができます。今回の検証ではワークスペースを選択しています。
上記の指示でBobがスキル登録できるのは、create-skillという「スキルを追加する」スキルをBobが保持しているからです。Bobは指示を理解して、create-skillを使うべきだと判断したわけです。この時点で既にスキルの可能性が感じられますね。
ちなみに...
「スキルを削除する」スキルは準備されておらず、削除が必要な場合は設定メニューから実施する必要があります。とはいえ、リストから選択して削除ボタンを押すだけなので、スキルに頼らずとも対応可能なレベルです。
削除手順が分からない場合、Bobに「スキルを設定から削除するためにはどう操作したらいいの?」と聞いてみてください、教えてくれると思います。
Step.3 Bobに指示を出す
ユーザーはスキル定義を意識せず、自分が実施したいことを言葉にして指示します。
Bobは、指示を解釈して「スキルを利用するべき」と判断したら、スキル定義に合わせてユーザーを導きます。
新しいチャットを立ち上げて(先のスキルは新しいチャットから有効になります)、例えば次のようにBobに指示します。
ディスクの空き容量を増やしたい
Bobは指示を理解して、さきほど登録したスキルが必要と認識して利用を開始します。
今回の処理はワークスペース外のファイルを参照する必要があり、OSコマンドで空き容量の確認を開始します。BobのデフォルトではOSコマンドの実行は自動承認ではないため、都度確認が入ります。これを承認しながら進めます。
危険性があるコマンド
には、リスクを認識して進めるようにアテンション高めの承認依頼が入ります。承認に濃淡がある点はユーザーにとっては扱いやすいですね。
確認の結果、ワークスペースに cleanup_todo.md というファイルが作成されます。
ここにはBobが削除候補としてリストアップしたファイルが記載されています。
ユーザーは削除したいファイルの行頭の [] にチェックを入れて [x] に変更します。
チェックが終了したらファイルを保存し、Bobに対して削除を促す指示を出します。文脈は理解しているので
やっちゃってください
のようなアバウトな表現でも受け付けてくれます![]()
ここからコマンドの承認を行いつつ実際の削除が進みます。
削除が終了した時点のBobの結果報告です。43.5GBが確保できました。暫くは容量不足に悩まなくても済みそうです。
おわりに
Bobは開発業務が得意なAIパートナーですが、その他の分野にも活用することができます。
事務作業の軽減は、反復タスクの手順を指示することで実現できましたが、スキル利用は反復利用の定型化や共有に適した機能です。ぜひBobともども使いこなしてください。