待ち望んでいた機能が実装されたようです。
https://note.com/mz700/n/n1ff5b41abb8b
Azure版でも可能になっています。
Azure OpenAI Service で構造化出力を使用する方法 - Azure OpenAI | Microsoft Learn
これで、何が嬉しいかというと、出力が完全なjsonで出てくるということです。しかも、ユーザの定義するJson形式で出てくるというです。スケジュールナースの制約指示は、私が定義したJsonスキーマに基づいて、GUIが作成を担当しています。つまり、
制約作成者⇒GUI⇒JSON⇒ソルバ
という現在の流れになっています。これを、AIに学習させれば、
制約作成者⇒AI⇒JSON⇒{ソルバ GUI}
という、最も熟練度を要する部分をある程度、置き換えることが出来る可能性が出てきた、ということです。既にGitlab-copilotのように、AIは、pythonコードも出力することが出来るようになってきました。スケジュールナースのJsonは、実はPythonコードも含む仕様です。なので、モデリングの全てを任せられる可能性まで視野に入れることも出来ます。信頼性については問題があるのが現状ですが、AIの日進月歩に期待しましょう。テキストもしくは音声で、「ああして、こうして」と言うだけで勝手にモデリングしてくれたらなんて幸せでしょう?
かって、看護師長時の妻は、私の傍らにいて、「ああして、こうして。」と言うだけでした。結局、私という存在がいるので、最後までスケジュールナースの制約を覚えることはありませんでした。それでも、私という制約作成者がいたおかげで勤務表づくりは何の問題もありませんでした。
私の代わりをAIに担わせることは出来ないでしょうか?
幸いにして、スケジュールナースは、オープンソースのモデリング集があります。日本、否、世界中の看護師勤務に関する知見もあります。このブログも実は、モデリング学習資源の一つです。10年に渡る膨大なスケジュールナースのモデリング資源があり学習資源については事欠きません。
そのスケジュールナースJsonスキーマは、公開していませんが、出力されるJson形式をみれば、大体想像がつくと思います。
また、JsonからGUIにコンバートするプログラムの開発も必要となります。AIが出力したJsonを人間が視覚的に理解するには、GUIでの視覚表現に戻す必要があるからです。
今後の予定として、
世界記録を更新し、
公開されているナーススケジューリング問題を全て解き、
ソルバの再構築の後に
取り組んでみようと思います。ソルバ再構築は、未だ構想段階です。今回のINRC2を全て解こうという取り組みの際、得られた知見を持って再度ソルバ全体を見直す必要が感じました。一言で言うとSAT表現とリニアソルバの融合になります。具体構想については、別の機会に。
来春以降、主要テーマとしたいと思います。
0 件のコメント:
コメントを投稿