BLOG.HIRO UENO.ART
← index
2026.02.26

それでも抜けてくる

三重防護壁で、僕はハルシネーション問題を解決したと思っていた。

tool_choice 強制と Watchman 出口チェック、そして Deterministic 検証層の三つで、もう抜けないと確信していた。

あと下にぶら下がってるアプリ全部から AI を抜く、という話をした。これは「リスクを半減させる」意味だった。下のアプリで対策ができないと判断したから、判断する場所を MONET(オーケストレーター)1 箇所に絞った。

これでハルシネーションは出にくくなるはず。出るとしても MONET の 1 層だけ。あとは構造で囲めているので大丈夫。そう思っていた。


その後短い期間だったけど、それで運用していて、本当に大丈夫で問題は起きなかった。毎日 Watchman の出口ログを眺めて、REJECT が 0 件であることを確認する。ちゃんと動いてる。三重防御の一番外側がガッチリ閉まっているのを見て安心する。

不安を抱えながら運用してたけど、なるべく気にしないようにしていた。


でもしばらくして、その不安は突然現実になった。

僕が、FB対応3枚終わった、と報告する。MONET が update_task を呼ぶ。… そしてID:42(過去画像動画化)を done にして、「FB対応3枚完了にしたよ」と返してくる。

一瞬、何が起きたかわからなかった。ID:42 は FB対応3枚じゃない。全然違うタスクだ。なんでそっちを done にしたんだ?

Code に状況を渡したら、原因をたどってきた。4 時間前に僕が ID:42 を操作していた。それが「最近触った ID」として残っていて、4 時間後の「3 枚」「複数の画像処理」みたいな意味的連想で、ID:42 に引き寄せられた、らしい・・・。

三重防御は全部スルーしていた。Deterministic 検証層は OK(整数、有効 action)。MCP は OK(ID:42 は実在)。Watchman 出口チェックも OK(実行完了)。全部「形式」しか見ていない。「正しい形式で間違ったデータ」を防ぐ場所は、どこにもなかった。

とても小さい抜け穴だった。


Code は「これは注意力問題で、構造的な捏造ではないですよ」と言った。「指摘したら直せましたから、能力は足りています」とも言ってきた。

確かにそう。指摘したら直せる。でも、指摘しないと直らない。これからずっと MONET の肩越しに張り付いて、「これ違うよ」と言い続けるのか?

「人間も同じようなミスを犯します」というような言い方も、たしかこの時 Code はしていた。でも人間と仕事してる訳ではないので何の慰めにも解決にもならない。すごい苦労して作った三重防壁。ここまでやってもダメなら何をやってもダメなんじゃないかという考えが浮かんできた。


その頃、僕はずっと LLM の中身を勉強していた。仕組み、限界、最新の研究、業界の方向性。仕事の合間に、毎日少しずつ読んでいた。

勉強すればするほど、最初の温度が下がっていった。最初に Claude と話した時の、「あ、こいつとなら一緒に何でもできそう」っていう、あのパートナー感。それが少しずつ、メカニズムの理解に置き換わっていく。

「結局こういうものなのか、現状の LLM は」と思うようになっていた。ネガティブな気づきというより、単に冷静になっただけ、という感覚に近い。だけど cool down した状態だと、前みたいにパートナーとして普通に喋れない。お互いなんか演技をしてる感覚に近かった。


そんな感覚と、三重防壁を破られたショックが、同じ時期に重なった。


その日、僕は家にある人をダメにするクッションの上に横になって 1 日中何もしなかった。

気力が全くなくなってしまい、娘が心配するほど動いてなかったようだ。


何も考えずにただ横になっていた。考えなかった、というより、考えるのをやめた、という方が近い。論文を読み終わった後で、頭の中で「これからどうするか」を組み立てる気力が本当になかった。

たぶん、自分が信じていた何かを、自分の手で否定する作業が続いていた、っていう疲労だった気がする。最初に「Claude と仕事できる」と思った時の感じを、自分で「あれは認識違いでした」と訂正する作業。それを少しずつやっていた。


1日経った後に、ようやく僕は「何か作らないと」と思い動き始めた。

正直に言うと、僕がこのプロジェクトをやってる目的は、立派なもんじゃない。自分の毎日の作業を効率化したいから。それだけ。お金が欲しいわけでもないし、世の中を変えたいわけでもない。会社運営に流用するかも、という話もあるけど、それはずっと先の話で、今は単純に 自分の人生を楽にしたい から作っている。

そのゴールから逆算すると、「完全体MONETは無理かもしれない」という結論を呑んだ後でも、やることが残っている。完全体じゃなくても、人生を楽にする方向に進むなら、別の形でいい。そう思ったら切り替えができた。


1日で地味に切り替え完了できていた。

「もうダメだ」から「じゃあ別の方向で」までの距離が、想像していたより短かった。僕が粘り強い性格だから、というのもあると思う。でもそれ以上に、目的が個人の生活レベルに地に足がついてたからだと思う。プロダクトを売る目的でやってたら、もっと長く落ち込んでいたかもしれない。会社のミッションを背負ってたら、もっと立ち直れなかったかもしれない。でも僕は、自分の作業を楽にしたいだけだった。

その目的は、MONET 1 個で達成できなくても、別の形で達成できる。たとえば、メモリだけ共有して、AI は各アプリに置いて、ユーザーから見たら同一人格に見えるような構造。これなら完全体じゃなくても、僕の人生は楽になる。