Agentのスケジューリングシステムに小さな意思決定モデルを追加
Jevを試してみたついでに、以前@holonrun向けに作ろうとしていたセマンティック・スケジューリングシステムを再び掘り起こした。
当時、Holonのスケジューリングシステムをリファクタリングした際の目標は、Agentが人間のように複数の作業項目の間を切り替えられるようにすることだった。ある作業項目が外部プロセスの待機を必要とする場合、別の作業項目に切り替えて処理を続行する。
しかし、いくつかの難題に直面した。Agentが入力を1つ受け取った後、システムは静的なルールだけでは次のことを判断するのが難しい。
* このGitHubイベントは現在のturnに挿入すべきか、それともキューに入れるべきか?
* これはどの作業項目に関係しているのか?
* Agentがsleep状態にあるとき、起こすべきか?
* すでに期限切れになったバックグラウンドタスクの結果は、そのまま破棄してよいのか?
これらの問題は本質的に、通常のステートマシンによる判断ではなく、セマンティックな判断だ。毎回LLMを1回呼び出すのでは、コストもレイテンシーも高すぎる。当時は、こうした判断を処理する分類器を自分で学習させようと考えたが、学習結果はあまり理想的ではなく、モデルはやや保守的で、間違いを避けるために結論を出さなかった。あるいは、自分のデータ量が