AIによる現実世界のモデル化:カフェが混沌から明晰へと至る旅 毎朝、マヤは中心街のカフェを開店する。ブリュー&ブロウ小さな店だ——バーテンダーが二人、いくつかのテーブル、そして忠実な客層がいる。だが最近、状況が混乱している。客たちは新しいメニュー項目や配達オプション、さらには毎日のシフトのタイミングについて尋ねている。店は成長しているように感じられ、それに伴い質問の数も増えている。 マヤは昔、紙にアイデアをスケッチしていた。店が何をしているか、人々がどう関わるか、そして何が壊れる可能性があるかを書き留めていた。しかし、そのメモは散らばっていた。彼女は数時間かけてそれらを一貫した流れに整理しようと努力した——客が入店したとき何が起こるのか?エスプレッソマシンが壊れた場合どうなるのか?店は混雑時にどう対応するのか? 彼女にはこれらの相互作用を明確にモデル化する方法がなかった。そのとき、彼女はこう考えるようになった。UML——特に、システムの動的行動をどう表現するか。しかし、彼女が見つけたツールはあまりにも硬直的だった。文脈を理解しなかった。自然言語に反応しなかった。さらに悪いことに、重複するイベントやネストされた条件のような複雑さを扱えなかった。 そして彼女はAI駆動のモデル化アシスタントと出会った。 なぜ伝統的なツールは現実世界のシナリオで不足しているのか 伝統的な図式化ツールは、厳格なルールに従うことを期待する。形状を選択し、配置して、そのプロパティを定義する。しかし現実のシステムは単純なルールに従わない。分岐する経路やネストされた行動、同時に起こる複数のイベントを持つ。 たとえば: 客が入店し、ドリンクを注文し、その後レビューを残すように頼むかもしれない。 同時に、バーテンダーは特別注文の準備をしているかもしれない。 エスプレッソマシンが故障した場合、店にはバックアップ計画があるが、客がすでに去ってしまっている場合は適用されない。 これらは現実世界の出来事である。それらは並行領域——同時に複数のことが起こる——そしてネストされた状態——状態の中の状態、たとえば「精算中」という状態に「支払い待ち」や「情報入力中」といったサブ状態を含むようなもの。 伝統的なツールはそれを理解できない。あるイベントが進行中の別のイベントに流れ込む様子を示せない。また、単一の状態が複数
