生成AIがあらゆる業務を自動化できるという言説が広がっている。
しかしスケジューリングの自動化に生成AIは使えない。
なぜか。
生成AIは確率的に「もっともらしい答え」を生成する仕組みだ。
大量のテキストデータから学習し、文脈に応じて自然な出力を返す。
この仕組みは、文章の生成・要約・翻訳・対話には適している。
しかしスケジューリングには適していない。
スケジューリングは「もっともらしい答え」ではなく「全ての制約を満たす答え」が求められる問題だ。
生徒の受講不可日時、講師の勤務不可日時、NGペア、教室のブース数。
これらのハード制約は一つでも破れば配置は成立しない。
生成AIは確率的な処理をするため、制約を「だいたい守る」ことはできても「必ず全て守る」ことは保証できない。
スケジューリングに生成AIを使うと、見た目は正しそうでも制約を破っている配置が出力される可能性がある。
現場でそれは使えない。
もう一つの問題は、状態の保持だ。
shiftect.が解こうとしている問題は、業務の状態に応じて何を固定対象とし何を探索対象とするかを動的に決定するという制御の問題だ。
確定済みの配置という状態情報を保持し、その上で変化した範囲だけを再調整する。
生成AIはこうした状態を構造として保持しながら処理を制御する仕組みを持っていない。
毎回の入力に対して確率的に出力を返すだけであり、「確定済みの配置を崩さずに振替先だけを探す」という制御はできない。
生成AIが「スケジューリングの話を説明する」ことはできる。
しかし「スケジューリングを実行する」ことはできない。
この違いを混同したまま「AIで自動化できる」と考えると、現場で機能しないシステムができあがる。
shiftect.が生成AIではなく制御構造を核心に置いているのは、スケジューリングという問題の性質がそれを要求しているからだ。
English summary and technical note
This article explains why generative AI is not suitable for executing schedule automation.
Generative AI can produce plausible text or tables, but scheduling requires satisfying all hard constraints, such as availability, subject compatibility, room capacity, and fixed assignments.
The key issue is not generating a timetable, but creating a feasible schedule under constraints.
shiftect. is designed around state information, fixed targets, search targets, partial regeneration, and feasibility checking, rather than probabilistic text generation.