コパイと相談しながらアークテクチャを確定させました。
当初、C#⇒Pythonnetを使う構想だったのですが、ストアアプリでは、プロセス起動が制限されPythonの起動は許されないとの指摘を受け、以下のように変更しました。
- Python(FastMCP)が NamedPipe 経由で WinForms に API を発行
- WinForms は Python の要求に応じて UI を操作
- 双方向ストリーミング
- ストアアプリ制限ゼロ
- MCP と UI がリアルタイム連携
<GUIで制約を可視化>
このアーキテクチャは、下記のようなモデリングに対するフィードバックを備えていません。
MCP TOOLは、スケジュールナース上の制約オブジェクト群に対する操作であり、一つ一つの制約は、GUIで可視化されます。ユーザは、それを見ながら、指示を出して行けばよい、という構想です。大雑把な設定は、AIモデリング、細かなチューニングは、従来通りGUIベースという発想です。
<AIで指示しなくともよい>
もう一つの特徴は、基本的にスケジュールナースの制約オブジェクトに関する操作そのものなので、必ずしもAIが指示する必要はない、ということです。プログラミング言語による操作でもよく、Python記述の指示を人が記述しても良いです。
■AIモデリングは、大雑把な枠組みの記述することが出来ます。
■あるいは、シフトスケジューリングサーバとして、AIとは別に動作させることも出来ます。
(従来は、ソルバIFをユーザIFとしてしましたが、今回はGUIを含んでいるところが違います)
■あるいは、ストアアプリであるスケジュールナースをAIと会話しながらモデリングをする楽しさを味わうことも出来ます。
これから、APIを設計して行きますが、基本的には、現状、備えている
制約⇔GUI
処理系をそのままJSONスキーマに落としていくだけの機械的な作業です。
新しい部分は、
■Python記述生成
Python記述(DSL(Domain Specific Language)によるGUIでは対応不可能な部分の記述)を自動生成する部分ですが、これは未だ構想の域を出ません。
■予定編集
例えば「AさんのX月Y日から3日間休みにして」と言うと(Claude AIはテキストベースなので、これは出来ませんが)予定を追加するツールになります。
■概略モデル生成
LPソルバベースでの概略モデルを生成します。現在のスケジュールナースは、最初からFINEモデルを要求しているきらいがありますが、とりあえずの概算モデルを高速に生成します。これは、COARSEモデルです。
現在JSONのシリアライズは、Newtonsoftを用いていますが、JSONスキーマを生成するには、有償版を使う必要があります。そこにコストはかけたくないので、JSON生成を別なものに置き換えることにしました。
そのための作業を開始しています。
<ユーザ側で用意するのは>
■生成AIモデル
無償・有償(サブスク)どちらもアリです。
■Python処理系
Python3以上であれば、バージョンを問いません。無償です。
つまり、生成AIモデリングを愉しむのに余計なコストはかかりません。PythonMCPソースもスケジュールナースが生成するので、すぐに始められようになる筈です。
「完璧」は期待すべくもありません。しかし、AIモデリングの一つの実施形態として問いてみたい、一言で言えば、愉しみたい、そんな想いです。
0 件のコメント:
コメントを投稿