はじめに:なぜ生成AIは「分析しているように見える」のか
生成AI、とりわけLLM(Large Language Model)と対話していると、ときどき強い既視感を覚えます。
- 過去の会話を踏まえている
- 傾向を捉えて評価してくる
- まるでSIEMの相関分析結果のような文章が出てくる
だが、この「分析している感じ」は、本当に分析なのでしょうか。
本コラムでは、SIEMとLLMを対比しながら、生成AIが何をしていて、何をしていないのかを整理してみます。
SIEM(Security Information and Event Management)
複数のシステムやセキュリティ機器のログを集約し、ルールや統計的手法に基づいて異常や兆候を検知する仕組み。事実の検知と可視化を担うシステム。
LLM(Large Language Model/大規模言語モデル)
大量のテキストから言語の分布を学習し、文脈に対してもっともらしい続きを生成するモデル。ログ検索や相関分析を行っているわけではなく、入力全体を高次元ベクトル空間に写像し、その形状に沿って文章を生成する。
SIEMはAIか?という違和感
まず前提として、現在主流のSIEMはAIとは言い難いでしょう。
SIEMがやっていることは、突き詰めれば次の延長だからです。
- ログの収集と正規化
- ルールや条件による相関
- 統計的な逸脱検知
これは非常に高度ではあるものの、本質的にはデータ分析と観測の延長であり、「意味」を扱っているわけではないのです。
SIEMは「異常」を検知するが、「状況を語る」ことはできない。ここが重要です。
LLMはログを解析しているのか?
生成AIが性格分析や状況整理を行っているように見えるとき、つい次のように考えてしまいます。
- 過去ログを検索しているのでは?
- 特徴量を抽出して分類しているのでは?
- SIEMのように相関分析しているのでは?
しかし、実際にはどれも行っていないのです。
LLMはログをDBのように検索しないし、ラベル付きで要素を切り出してもいないのです。
実態は「ベクトル雲」
LLMがやっていることを、できるだけ正確に表現するとこうなります。
- 言葉(トークン)を高次元ベクトルに変換する
- 会話全体を、巨大な意味ベクトルの分布として保持する
- その分布(雲)の形状と勾配に沿って、次の単語を選ぶ
ここで重要なのは、
- 単語は検索キーではない
- 意味はラベル化されていない
- 要素は明示的に分離されていない
という点です。
すべては連続値であり、ニュアンスとして重なり合った「意味の雲」として存在しています。
なぜ会話が大きく逸れないのか
生成AIは「一番それっぽい単語を選んでいるだけ」なのに、なぜ会話は破綻しにくいのでしょうか。
理由は単純で、
- ベクトル雲には形がある
- 雲の外へ飛ぶ方向は確率勾配が急
- 局所的に一番滑らかな経路を進む
からと言えます。
理解しているから逸れないのではないのです。
逸れにくい地形の中で生成しているだけなのです。
SIEM × LLM を考える
ここまで来ると、自然に次の発想に行き着きます。
SIEMにLLMを組み込んだらどうなるのか?
このとき重要なのは、
- SIEMをそのまま「AI化」しようとしないこと
- 判断をLLMに委ねないこと
です。
現実的な構成は、次の三層です。
-
真実層(従来SIEM)
決定論・完全性・監査性を担保する -
意味層(ベクトル雲)
ログやイベントをEmbeddingし、形状や遷移を捉える -
翻訳層(LLM)
状況を言語化し、対応候補や類型を提示する
LLMは判断者ではなく、状況翻訳機として使うべきなのです。
ハルシネーションという本質的制約
クリティカルな障害対応やセキュリティインシデントにおいて、ハルシネーションは許されません。
これは偶発的な欠陥ではなく、LLMの本質的性質なのです。
- LLMは「正しさ」ではなく「もっともらしさ」を最適化する
- 確率が高いことと、正解であることは別
だからこそ、
LLMに全幅の信頼を置かない設計
が重要になります。
おわりに:AIっぽさの正体
生成AIが分析しているように見える理由は、
- 分析結果を出しているからではない
- 分析レポートを書く人間の文体を再現しているから
SIEMとLLMは、似ているようで全く違います。
- SIEMは「事実を検知する装置」
- LLMは「意味を語る装置」
この違いを混同しないことが、これからのAIOpsやSOC設計において、最も重要な前提になるでしょう。
使う側、紹介する側も、より高度なリテラシーが求められますね。