Gemini と会話する ESXi Agent を作ってみたぞ!
1. はじめに
こんにちは、ネットワールドの海野です。
VMware ESXi を自然言語で操作できたら、運用の入口はどう変わるのか。
そんな疑問から、Google Gemini を使って「会話する ESXi」を試作しました。
この記事は前後編です。
-
前編: 何を作ったか / どういう構成か / 何が面白いか
-
後編: セットアップ / 実行デモ / 実装コード断片
本記事は、VMware ユーザー会(VMUG) での登壇スライドの内容をベースにしています。
2. ESXi-AIOps-Agent とは
ESXi-AIOps-Agent は、Google Gemini を用いて、自然言語(日本語)で VMware ESXi ホストを操作するための小さな AIOps エージェントです。
プロジェクトの一次情報(README / コード)はここに置いています。
このプロジェクトで一番言いたいことはシンプルで、
-
AI は「考える役」(意図理解・手順の組み立て)
-
実行は「Python がやる」(SSH / Web UI 操作)
という責務分離です。AI に実行まで丸投げしない。
ここがスタートラインだと思っています。
3. 全体アーキテクチャ
構成要素は以下です。
-
操作端末: Windows 11 + PowerShell
-
実行環境: Python(venv)
-
操作手段: paramiko(SSH) + Playwright(Web UI)
-
対象: ESXi on Raspberry Pi 5
-
生成 AI: Google Gemini(例: Gemini 2.5 Flash)
イメージとしてはこうです。
-
PowerShell が "対話コンソール"
-
Python が "実行ランタイム"
-
Gemini が "意図理解と段取り作り"
-
ESXi が "操作対象"
つまり、
人 -> PowerShell -> Gemini -> Python -> ESXi
という流れになります。
ここで大事なのは、Gemini は ESXi を直接叩きません。
Gemini が返すのは「どう動くべきか」の案で、実際の操作(SSH コマンド実行や Web UI クリック)は Python 側が行います。
4. どんなことができるのか
デモでは、PowerShell を起点にして Gemini と会話しながら ESXi を操作しました。やったことは概ね以下です。
-
PowerShell 起動 -> ディレクトリ移動 -> venv 有効化 -> Python 実行
-
PowerShell が Gemini のコンソールになる
-
以降、自然言語で ESXi を操作
-
仮想マシン一覧の取得
-
電源状態の確認
-
Power On / Shutdown
-
スナップショット取得
-
この時点では「完全自動運用」を目指していません。狙いはあくまで、
-
人が "何をしたいか" を伝える
-
AI が "どうやるか" を組み立てる
-
ランタイムが "安全に手を動かす"
という体験を、手触りとして確認することです。
5. AIOps として何が面白いのか(まとめ)
運用の入口が変わる
CLI や API の知識を前提にせず、「やりたいこと」を言葉で渡せる。これは運用の入口を広げます。
(もちろん裏側のガード設計は必須で、そこが後編の論点になります)
Runbook + AI の現実味
Runbook を "手順書" として読むのではなく、"会話で実行できる形" に寄せると、定型運用はかなり違う形になります。
障害対応も、手順の分岐や確認ポイントを AI が前に出してくれるだけで、運用者の負荷が変わるはずです。
可能性と限界(現時点)
可能性は見えますが、限界もはっきりしています。
-
ガードレールがないと危険(誤操作・暴走・権限逸脱)
-
"できる/できない" の境界設計が必要(どこまで AI に任せるか)
-
監査ログ/再現性/ロールバックまで含めて運用品質になる
このあたりを踏まえて、後編では「実装のポイント」も含めて、手を動かす話をご紹介してまいります。