本記事は Ansible Advent Calendar 2025 の4日目の記事です。
1日目の記事がAnsibleというよりEmacsの話になってしまったのでもう一本投稿します。
最近のAIの発展の勢いは目覚ましく、日々の業務に活用している方も多いのではないでしょうか。
これは Ansible を用いたインフラ構築や運用も例外ではなく、様々なAIと組み合わせた活用が行われています。いくつか代表的な方法を確認してみます。
1は Playbook の開発に便利で、多くの方に利用されていると思います。2はこれから発展や応用が期待される分野で、AI の判断を元にして AI Agent や MCP を通して、Ansible の Playbook を実行します。
そして、今回は3の「Ansible から AI へプロンプトを送信」するに焦点を当てます。これは従来は AIBot に対して人間がチャットを通してプロンプトを送信していた部分をAnsibleに自動化させるというものです。一見すると大したことが無いように見えます(実際にPlaybookとしては簡単です)が、使ってみると想像以上に便利です。
では、これより本題です。
非常に簡単です。ほとんどのAIはAPIでリクエストを受け付けてくれますので、それをPlaybookから叩くだけです。
例えばこんな感じです。
https://github.com/irixjp/aap-demos/blob/main/aiops/ask_to_chatgps.yaml
- name: Create prompt
set_fact:
gpt_prompt: |
これは {{ error_source }} です。
ログから原因の推定と、調査方法、可能であればエラーへの対処方法を教えて下さい
(markdown形式で出力)
{{ error_logs }}
- name: send prompt
ansible.builtin.uri:
url: "{{ ai_api_endpoint }}"
method: POST
headers:
Content-Type: "application/json"
Authorization: "Bearer {{ lookup('env', 'gpt_token') }}"
body:
model: "{{ ai_model }}"
messages:
- role: user
content: "{{ gpt_prompt }}"
body_format: json
return_content: true
timeout: 300
register: ai_ret
この Playbook では最初のタスクでAIへ送信するプロンプトを作成し、次のタスクでプロンプトをAIへ送信しています。AIの回答は変数に格納されます。実に簡単なPlaybookです。
これだけですとチャットで人間が指示するものを置き換えているだけですが、ここに「サーバーから分析対象の情報を取得するPlaybook」「AIからの回答をチケットに書き込むPlaybook」などのPlaybookを組み合わせると利便性が大きく向上します。
例えば以下のような自動化が行えるようになります。
これは障害対応などの初動の動きを自動化してくれます。シンプルですが非常に便利です。更に監視システムと連携させれば、障害に連動して初動の分析までを自動で実施できます。
この方法はシンプルで単純が故に広く応用が効きます。例えば以下のようにして使うことも可能です。
| ステップ | 応用 |
|---|---|
| 情報の取得 | Ansibleが操作できるサーバーやネットワーク機器であれば、どんな情報でも取得し、複数台から同時に収集が可能 |
| 送信するプロンプト構築 | 単純な原因分析から、対策の方法の問い合わせ、潜在的な設定不備やセキュリティ上のリスク見、 複数台のログから類似の事象を見つける、など多岐にわたる |
| AIへのプロンプト送信 | API連携可能なAIであれば何でも使用可能 |
| 結果の通知 | チケット作成・追記、Chatやメールへの送信など、API連携可能なものであれば何でも通知可能 |
そしてこれらを Event-Driven Ansibleに組み込んで、監視システムやObservabilityツールやデータ分析ツールと連携させることで、様々な事象に対応する「自動レスポンス」の仕組みを構築出来ます。
更にこの仕組みを発展させ、冒頭に挙げたAIとAnsibleを組み合わせて以下のシステムを実現することができます。
この仕組みはシステムから発生するイベントを捉えて、AIを使って自動で原因を分析し、解決までを自動で実施してくれます。
もちろんこのシステムを実現するには課題もまだまだあります。システムのイベントをどれだけ正確に捉えることができるか、AIの出す回答、AIの生成するPlaybookの精度などです。しかし、AIの進歩は目覚ましく正確性の問題もいずれ解決していくでしょう。また複数の異なるAIを使うことで精度を挙げたり、Ansible の Policy Enforcement のようにAIの挙動にガードレールを設けて安全性を向上させるなど、様々な工夫も行われています。そう遠くない将来に、AIが当たり前にシステム運用の一部に組み込まれる時代が来ると思います。
今回はAI と Ansible を組み合わせた例をご紹介しました。この例でのAnsibleの活用方法は、操作の自動化という側面も持ちながらも、もっと広い役割を果たしています。それは、「データ(イベント)」と「アクション(操作)」をつなげるという役割です。
AIの時代においては、AIの判断をどのように現実に反映させるかが重要になります。なぜならば、AIがどんな高度で正確な判断をしても、それを現実のインフラ(サーバーやネットワーク機器)に反映させるために人間が介入しては意味がないからです。
このように、AIが発展すればするほどAnsibleの役割は変化しつつも重要になっていきます。ぜひ、この記事をきっかけに Ansible の新しい側面にも目を向けて貰えれば幸いです。