統一モデリング言語(UML)はソフトウェア工学におけるアーキテクチャ設計図として機能し、特定の視点のセットを用いて、さまざまな視点からシステムを記述する。UMLの核心的な原則の一つは、単一の図は真空状態で動作するわけではないむしろ、それらは大きなパズルの相互接続された一部である。しかし、汎用的大規模言語モデル(LLM)の台頭により、微妙な課題が生じている。図を別々で独立したプロンプトによって生成する場合、結果として一貫性のあるシステムモデルではなく、断片的な画像の集合が得られることが多い。 AIモデリングにおける不整合の課題 開発者が標準のLLMに依存してUMLアーティファクトを生成する場合、しばしば意味的整合性という問題に直面する。専門的なモデリングツールとは異なり、汎用LLMは通常、永続的なモデルリポジトリを備えていない。それらは個別にリクエストを処理するため、あるチャットターンで生成された図は、前のターンで確立された構造的定義を認識していない。 この状態の無さは、システムの静的構造(例:クラス図)とその記述された動作(例:シーケンス図)との間に乖離を生じさせる。システムモデルが有効であるためには、シーケンス図で呼び出される操作が、クラス定義内に理論的に存在しなければならない。自動的なクロスリファレンスがなければ、AIツールは頻繁に矛盾する詳細を妄想し、実際の開発に信頼できないモデルを生み出す。 LLM生成図における一般的な不整合 AIが共有される基盤モデルなしで図を生成する場合、いくつかのタイプの誤りが通常生じる。これらの不整合は、出力をコーディングやドキュメンテーションの真実の出典として利用することを困難にする。 不整合の種類 説明 例のシナリオ 操作の不一致 AIが、異なる視点で同じ関数に対して異なる名前を考案する。 クラス図ではcheckout()と定義しているが、シーケンス図ではplaceOrder()というイベントに使用している。 孤立要素 コンポーネントが一つの視点に現れるが、別の視点では説明なしに消える。 あるCartクラスは構造的視点に存在するが、行動的フローでは完全に省略されている。 矛盾する制約 静的視点で定義されたルールが、動的視点で示される相互作用と矛盾する。 クラス図では1対多の関係を強制しているが、シーケンス図では1対1の相互作用
