AutoBotでセルフホスト型AIプラットフォームを構築する
フック:30%問題
あなたは1日の約30%を、反復的なインフラ作業に費やしています。ログを確認するためにサーバーへSSHする。環境ごとにデプロイコマンドを書く。何かが壊れたときにドキュメントを探し回る。こうした作業のほとんどは、自動化されるべきルーティンです。
問題はツールがないことではありません。Terraform、Ansible、Dockerはあります。問題はコンテキストスイッチです。コマンドラインを離れて設定ファイルへ潜り込み、YAMLをデバッグしてから、また戻ってくる。これは非効率で、頭の負担も増えます。
もし同僚のようにインフラに話しかけられたらどうでしょう。質問する、デプロイをトリガーする、システムヘルスを確認する—すべてを1つの会話型インターフェースから。これがAutoBotです。
この記事の最後には、AutoBotが何かを理解し、5分以内に動かせるようになります。
AutoBotとは?
AutoBotは、インフラ自動化のためのセルフホスト型AIプラットフォームです。すべてがあなたのハードウェア上で動作し、誰かのクラウド上では動きません。データはあなたのもののままです。設定はあなたの管理下に置かれます。外部API呼び出しはありません。ベンダーロックインもありません。
なぜセルフホストが重要なのでしょうか? インフラの秘密情報、ランブック、手順をクラウドサービスにアップロードすると、そのデータは誰かのサーバーに保存されます。あなたが制御できないネットワーク経由で移動します。あなたが学習させていない機械学習モデルによって処理されます。セルフホストはこれを反転させます。インフラの知識はあなたのプライベートネットワークに残ります。
コンプライアンスが重視される業界(医療、金融、政府)では、これは必須です。その他のすべての人にとっては、安心感を得られます。コストに敏感な組織なら、SaaSの請求やエグレス(送信)料金がありません。
1つのダッシュボード。あなたのインフラ。完全なコントロール。
AutoBotは、既存のツールを置き換えるのではなく補完します。インフラをコードとして扱うためにTerraformを、設定管理にはAnsibleを引き続き使います。AutoBotは、それらを結びつけ日々の運用での摩擦を減らす会話型レイヤーになります。
主要機能の解説
チャットインターフェース:インフラに話しかける
インフラに質問を投げ、答えが返ってくると想像してみてください。「今、プロダクションサーバーでは何が起きている?」「APIの最新バージョンをデプロイして。」「CPUが80%以上のプロセスをすべて見つけて。」これらは空想ではありません。AutoBotがチャットインターフェース経由で実行する、自然言語のコマンドです。
チャットインターフェースは、インフラの言語を理解する会話型AIエンドポイントです。質問やコマンドを入力すると、AutoBotが意図を解析し、適切なアクションを実行して結果を返します。たとえば:
You: "How many containers are running?"
AutoBot: "I found 14 containers across your fleet. 12 are in 'running' state, 2 are in 'exited' state."
これにより、CLIコマンドを暗記したり、ツールを切り替えたりする必要がなくなります。
フリート管理:1サーバーから100まで
単一のサーバーを管理するのは簡単です。3つのデータセンターにまたがる50台のサーバーを管理するのは、すぐに複雑になります。AutoBotのフリート管理により、あなたのインフラ全体を1つの論理ユニットとして扱えます。
たとえば、フリート全体でディスク使用量を確認したいとします。各サーバーに個別にSSHする代わりに、AutoBotに「すべてのプロダクションサーバーのディスク使用量を表示して」と聞きます。AutoBotはリクエストを展開し、応答を収集して、統合されたビューを提示します。これにより、ホムラボ(1〜2台)からエンタープライズのインフラ(100台以上)まで、システムとのやり取りの仕方を変えずにスケールできます。
You: "Restart the web tier"
AutoBot: "Restarting 5 web servers... [progress updates] ✓ All 5 restarted successfully in 2m 15s"
ナレッジベース:Q&Aエンジンとしてのランブック
チームの知識は分散しています。ランブックはConfluenceにあります。デプロイ手順はWikiにあります。スクリプトはGitHubにあります。午前3時に危機が来ても、何も見つけられません。
AutoBotはナレッジベースでこれを解決します。AI検索を使って、ドキュメントをインテリジェントなQ&Aシステムに変換する機能です。システムはあなたのランブック、手順、ガイドをインデックス化し、その後、AIが最も関連性の高い情報を取り出して質問に答えます。これはRAG(Retrieval-Augmented Generation)です。あなたのドキュメントが、インテリジェントなQ&Aシステムになります。
You: "How do we handle database failover?"
AutoBot: [Retrieves relevant runbook section] "According to your runbooks, the failover procedure is: 1) Promote replica, 2) Update DNS, 3) Verify replication. Full steps are in section 3.2 of your DBA runbook."
ビジョン処理:スクリーンショットを理解する
すべての問題がテキストベースとは限りません。ダッシュボードのスクリーンショット、書式付きのログファイル、図などを解析する必要があることもあります。AutoBotは画像を処理できます。ダッシュボードの分析、ログの読み取り、アーキテクチャ図の理解です。
何かが壊れたとき、モニタリングダッシュボードのスクリーンショットを撮って、AutoBotに見えている内容を説明してもらえます:
You: [Upload screenshot of Grafana dashboard with alarms]
AutoBot: "I see 3 critical alerts: High CPU on db-primary, Memory above 90% on cache-node-2, and high network error rate. Based on your runbooks, this suggests a cascading failure. Recommended action: Scale cache tier."
ワークフロー:自動化をコード化
すべてが単発の質問ではありません。中には、複雑で多段階の手順があり、毎回確実に実行されるべきものがあります。AutoBotはワークフローをサポートします。ビジュアルなもの、宣言的なパイプライン、あるいはトリガーで動作するコードベースの自動化のいずれも可能です。
ワークフローは例えばこうかもしれません。「各デプロイでテストを実行 → Dockerイメージをビルド → レジストリへプッシュ → Kubernetesマニフェストを更新 → ステージングへロールアウト → ヘルスチェックを検証」。一度定義すれば、会話でトリガーできます:
You: "Deploy the payment service to staging"
AutoBot: [Executes your pre-defined deployment workflow] "✓ Tests passed. ✓ Image built and pushed. ✓ Staging deployment complete. Health checks: green."
実例:DevOpsチームの1日
AutoBot導入前:
サラは9時にスタートします。まず:デプロイ状況の確認。SSHでモニタリングサーバーへ入り、PrometheusとGrafanaを確認(20分)。次に、バグ修正のデプロイ。リポジトリをクローンし、コードを確認し、テストを実行(30分)、Dockerイメージをビルドしてプッシュ、マニフェストを更新してデプロイ(45分)。その後、プロダクションのアラートが発火。サーバーへSSHしてログを確認し、3つのWikiから修正方法を探し、適用して、モニタリング(1.5時間)。日中ずっとコンテキストスイッチの連続です。17時までには疲れ果て、予定していたインフラ改善には手がつけられていません。
AutoBot導入後:
サラはAutoBotのチャットを開きます。「昨日のデプロイの状況は?」—30秒。「バグ修正をステージングへデプロイ」—ワークフローが自動で実行されます(5分)。プロダクションアラートが発火。「データベースサーバーで何が起きてる?」AutoBotがログを取得して提案します:「キャッシュサービスでメモリリークです。修正はランブックの4.1章にあります。」それを適用すると、ロールアウトします(15分)。正午までにクリティカルなタスクは完了。午後は火消しではなく、本当の改善に時間を使えます。
違い:リアクティブな作業を4時間やると、集中した作業は45分になります。ミスから遠ざかるための手作業の指示ではなく、文書化された信頼性の高いプロセスを持てるようになります。
Getting Started: 3 Steps to Running AutoBot
AutoBotはDocker上で動作します。つまり、インストールは本当に簡単です。
Step 1: クローンして設定する
git clone https://github.com/AutoBot/AutoBot.git
cd AutoBot
cp .env.example .env
# .env をインフラの詳細で編集(任意。デフォルトが使えます)
Step 2: プラットフォームを起動する
docker-compose up -d
期待される出力:
Creating network "autobot_default" with default driver
Creating autobot_postgres ... done
Creating autobot_redis ... done
Creating autobot_core ... done
Creating autobot_api ... done
Starting autobot_web ... done
Step 3: ブラウザを開く
http://localhost:8080 を開く
AutoBotのダッシュボードのログイン画面が表示されるはずです。
デフォルトの認証情報:admin / デフォルトの管理者パスワードは .env ファイルで確認してください
以上です。これでAutoBotを実行しています。総所要時間:約2〜3分。
ここから次のステップは:
- インフラを追加する — サーバーまたはクラウドアカウントを登録する
- ドキュメントをアップロードする — ランブックをナレッジベースに追加する
- 最初の質問をする — 「私のサーバーでは何が動いている?」
詳しいセットアップ(Dockerなし、クラウドへのデプロイ、セキュリティ強化)については、フルドキュメントをご覧ください。
Common Questions
「AutoBotはTerraform/Ansibleの代替ですか?」
いいえ。Terraformはインフラをコードとして定義します。Ansibleは設定を管理します。AutoBotは会話型インターフェースとして、これらのツールのまわりにラップするだけです。リソースのプロビジョニングにはTerraformを、設定にはAnsibleを引き続き使用します。AutoBotは、日々の運用でインフラに対するやり取りをより簡単にするだけです。
「データのプライバシーはどうなりますか?AutoBotはデータをクラウドに送りますか?」
すべてが手元のハードウェアに留まります。AutoBotはインフラのデータを処理するために外部API呼び出しを行いません。会話はデータベース内に保存されます。LLM(大規模言語モデル)を使う場合でも、Ollamaを使ってローカルで実行できますし、あるいは自分のAPIゲートウェイ経由でルーティングすることもできます。完全なプライバシーです。
「費用はいくらですか?」
無料です。AutoBotはオープンソース(MITライセンス)です。ライセンス費用は不要で、従量課金制の価格設定もなく、請求の思わぬサプライズもありません。既存のハードウェアにホストしてください。
「Linuxのエキスパートである必要がありますか?」
いいえ。Dockerを実行でき、基本的なシェルコマンドが使えるなら、AutoBotを利用できます。複雑な作業(Kubernetes、Ansible)は経験が役立ちますが、それは一般的にインフラ作業でも同じです。
What's Next?
AutoBotはすでに動いています。インフラ作業における摩擦を減らす方法を見てもらいました。本当の力が発揮されるのは、AutoBotにあなた固有のインフラとプロセスを教えたときです。
次回の投稿ではナレッジベースを詳しく掘り下げます。ランブックをどう構成するか、必要なときにAutoBotのAIが適切な情報をどう見つけるか、さらにRAG(Retrieval-Augmented Generation)を活用して、チームの知識を検索可能でインテリジェントにする方法を説明します。
さらにパワーを引き出す準備はできましたか?
パート2:ナレッジベース検索にRAGをどう使っているかを読む →



