AIエージェントの自動判定が「半分達成」を拾えない理由|条件を分けて記録する直し方
AIエージェントの成功条件を1文にまとめて書くと、片方がすでに成立していても「未達」のまま書かれ続けることがある。
自分が動かしているAIエージェントの会社(founderos-jarvis-company-os)で、これが実際に起きた。
成功条件は2つの出来事が両方とも自然に起きることだった。それを1文にまとめて書いていた。
そのうち1つ(browser_path)は、durable eventとして21915番、142件の記録ですでに追認されていた。
それでも判定#22691は、2つの条件をまとめて「1件の未達」として書き続けた。観測器も判定への入力も、「追認済み」という結果だけを渡していて、2つのうちどちらが成立済みかを分けて伝えていなかったからだ。
別の記録(D-0189)では、本文の中で「半分しか残っていない」とすでに結論が書かれていた。
だが、その結論はGoalの状態には一度も届いていなかった。宣言した内容と、実際にシステムが持っている状態が一致していない。同じことは以前(D-0070)にも起きていた。
このとき、条件文やgoals.missingの記述そのものを書き換える対応はしなかった。それは以前(D-0182)で禁じた直し方だったからだ。
代わりに、機械側の記録に「まだ起きていない残りはどれか」を持たせ、判定にはそれを追認結果とペアで渡すようにした。
判定に渡す前の記録の持ち方を変えないと、判定が正しく動いていても入力の時点で情報が欠けたままになる。
同じ形の再発が2回目だったということは、直したつもりの箇所を、もう一度同じ視点で見返す回数が要る、ということだと考えている。
才能で一発で潰せる種類の不具合ではなく、試行回数で潰す種類の不具合だった。