In this article
従来型(シンボリック)AIをわかりやすく解説
チャットボットやニューラルネットワーク、自己学習システムが登場する前から、AIの世界を動かしていた別のタイプのAIがありました。それが従来型AIです。シンボリックAIやGOFAI(Good Old-Fashioned AI)とも呼ばれます。人工知能の「ルールブックを備えた頭脳」と考えてみてください。明快で論理的、そして人間らしい推論を行います。
1980年代、MYCINというプログラムが、医師による細菌感染症の診断を支援しました。専門家が作成した一連の質問と論理ルールのツリーに従って、治療法を提案する仕組みです。機械学習もニューラルネットワークもありません。純粋なルールベースの知能です。驚くことに、一部のテストでは実際の医師と同等の成績を上げました。
初期のAIプログラムであるELIZAは、あらかじめ設定されたパターンに従って心理療法士をまねました。現代の基準では「知的」とは言えませんが、人々はELIZAに感情的なつながりを感じました。シンプルな論理ベースの機械でも、人間らしさを感じさせられることを示したのです。
シンボリックAIとは?
従来型AIを理解する
シンボリックAIは、論理、記号、明示的なルールを基盤としています。推理や演繹、事実によって事件を解決する昔の探偵小説のような思考法です。知識と構造を使って論理的に考え、問題を解決する人間の思考を再現しようとします。
コンピューターに、フラッシュカードや「もし〜ならば」のルールを使って子どもに教えるように、何かを教える場面を想像してみてください。
もし信号が赤なら止まる、またはもし雨が降っているなら傘を持っていく。
シンボリックAIが活用するのは、
論理ベースのルール:「もし〜ならば」という条件文です。
知識ベース:事実を体系的にまとめたライブラリです(機械のための百科事典のようなものです)。
オントロジーと推論エンジン:情報を結び付け、新しい知見を導き出します。
コンピューターにマニュアルを渡し、その指示どおりに実行させるようなものです。
なぜ今もシンボリックAIが話題になるのでしょうか?
機械学習やディープラーニングが注目を集める今も、シンボリックAIは非常に重要です。
規制システムと専門家の論理:法律、金融、医療など多くの業界では、今も説明可能なAIが求められています。ブラックボックスの数値的な重みではなく、明確なルールに基づいて判断の根拠をたどれるAIです。
セキュリティとポリシーの適用:サイバーセキュリティやコンプライアンスの分野では、ポリシーの適用、ルール違反の検出、論理ベースの判断にシンボリック推論が使われています。
ハイブリッドAI:現在の高度なシステムの多くは、パターン認識に機械学習を、推論にシンボリックAIを使い、両方の強みを組み合わせています。
シンボリックAIの主な構成要素
AIが考えるには、まず知る必要がありました。シンボリックAIでは、次のような構造が使われていました。
知識表現:機械が物事をどのように「知っている」のかを理解するためのものです。
推論エンジン:AIが推論し、演繹し、小さなデジタル版シャーロック・ホームズのように結論を導き出すシステムです。
プランニングシステム:パズルを解く、コーヒーを入れるといった目標を機械に与えたら、達成するための計画が必要です。そこで活躍するのが、次のようなプランニングシステムです。
STRIPS(Stanford Research Institute Problem Solver):大きな目標を、達成可能な小さなステップに分解する、伝説的なプランナーです。
OR Goal Trees:決定木とは逆に、目標から出発して「そこに到達するには何をすればよいか?」と問いかけます。
従来型AIの強み
透明性と解釈可能性:シンボリックAIでは、すべての判断、ルール、理由を確認できます。紙に書かれた明快な「思考プロセス」を読むようなものです。
決定論的で予測可能:同じ入力に対して、シンボリックAIは常にまったく同じように動作します。予想外のことも、ランダム性も、謎もありません。
ルールベースの領域に強い:従来型AIは、明確なルールと体系化された知識がある領域で力を発揮します。たとえば法律分野では、ルールベースの論理を使って法的文書を解析し、矛盾を見つけるのに役立ちます。
デバッグと検証が容易:シンボリックAIシステムに問題が起きても、ニューラルネットワークの高度な学位を持つデータサイエンティストは必要ありません。論理を理解している人がいれば十分です。シンボリックAIはレゴのようなもの。壊れても、どこに問題があるかを確認して、元に戻せます。
重大な結果を伴う、ルールに厳格に従う環境では、シンボリックAIは今も頼れる頭脳です。学習するからではなく、自分が何をしているかを把握しているからです。時には、最善のAIとは推測するAIではなく、説明できるAIなのです。
従来型AIの限界
従来型(シンボリック)AIは、論理と追跡可能性が重視される、明確に定義されたルールベースのシステムで優れた力を発揮します。しかし、世界が予測しにくくなると、シンボリックAIはうまく機能しません。「すぐに」や「近く」といった曖昧な表現を扱うのが苦手で、混乱してしまいます。あらゆる例外ケースを細かく定義しない限り、パターンから学習したり、現代の機械学習モデルのように雑然とした非構造化データを理解したりできません。また、わずかな入力の変化で壊れてしまう脆さもあります。更新のたびに、専門家が複雑なルールセットを書き直す必要があります。しかし、この硬直性は皮肉にも、コードセキュリティのような分野では強みになります。
この分野では、特に呼び出し経路の追跡や脆弱性の特定において、一貫性、説明可能性、そしてハルシネーションを一切許さないことは、単なる「あればよい」ものではなく、不可欠です。だからこそシンボリックAIは、Snykのようなツールにおいて強力な味方であり続けています。推測するのではなく、推論するからです。誤った回答によって開発者の時間が失われたり、脆弱性を見逃したりするなら、毎回、推論に軍配が上がります。
SnykのシンボリックAIに対する考え方
シンボリックAI、機械学習(ML)、大規模言語モデル(LLM)を組み合わせ、開発者のセキュリティワークフローに集中させることで、単一のモデルでは実現できない成果が得られます。

この例では、データフローを抽象的に理解したうえで問題を検査するために、シンボリックAIを活用しています。文字列の一致ではなく、フロー、ソース、サニタイザー、シンクを検査するため、より正確な結果が得られます。MLを使って検索に適用できる新しいルールを生成し、時間とともに精度とカバレッジを高めています。脆弱性が見つかったら、LLMで修正案を生成します。ただし、ユーザーに提示する前に、修正済みコードの「バージョン」をテストにかけ、修正が機能し、新たな問題を引き起こさないことを確認します。
LLMによる修正だけ、あるいはMLだけを使っても、IDE内で高速かつ網羅的なスキャンをリアルタイムに行い、問題を検出して修正案を提示する一連のソリューションは提供できません。そうなれば、AIで得られるはずだった生産性向上が失われるほど開発者が手順を繰り返すか、実は安全ではない「修正」を適用してしまう可能性があります。
適切な場面で適切なツールを使う統合的なアプローチが、最良の結果をもたらします。変数の状態をすべて追跡し、「読み取り後の書き込み」や「ミューテックスの二重ロック」など、何が起きているかを確認します。これらのルールは評価され、検証されています。
シンボリックAIは、教科書やフローチャート、ルールブックを使って機械に教えるようなもので、構造、秩序、論理を与えてきました。現代のAIのようにデータから学習することはできませんでしたが、自分の考えを説明できました。これは、現代のブラックボックス型モデルが今も苦手としていることです。
結局のところ、「ディープラーニングが直感なら、シンボリックAIは知恵です。」