JOURNAL / 2026.08.12

画面の隅で蝶を飼っている。
先日、その蝶に仕事を止められた。

開発には息抜きが要ります。コードばかり見ていると疲れるので、ペットのような感覚で、画面に生き物を置きたくなりました。実用性は分からなくてもいい。なんかおしゃれだから映しておく——それでも成立すると思っています。


01 — 画面の隅にいるもの

エディタの端に、蝶が一匹います。ゆっくり羽ばたいています。

エディタ左端のパネル。点字の粒で蝶の形が描かれ、羽の右側の一部が青緑色に光っている。その下に「使いすぎてる?」「あとどれくらい使える?」「この数字は信用できる?」という3つの見出しと、それぞれ短い答えが並んでいる。最下部に papillonlogic.com と書かれている。
点字の記号を並べて描いてあります。1文字が縦4つ・横2つの点でできているので、12個×3行で蝶ひとつぶんです。羽の一部だけが青緑に光ります——ロゴと同じ色です。

出ているのは3つの問いと、その答えだけにしてあります——使いすぎてる? / あとどれくらい使える? / この数字は信用できる?。数字の羅列はやめました。羅列を見せても、結局その人が頭の中で問いに直すことになるからです。

このパネルは開いていなくても構いません。閉じておくと、画面のいちばん下に1行だけ残ります。

画面下端のステータスバー。文字列の中に「watcherfly 未校正 24.2M 中央値の 1.32倍 窓の残り 1.2h」と表示され、その末尾に点字で描かれた小さな蝶が並んでいる。
こちらは文字だけです。末尾の小さな塊も蝶で、こちらも羽ばたいています。最初は行の先頭に置いていました。実際に表示してみて「文字の右側にあるほうが気にならない」と分かったので、末尾へ移しました。

中身は、AIに開発を手伝わせるときの残り枠の見張りです。とはいえ、ここまでの話に機能はほとんど出てきていません。それでいいと思っています。

02 — なぜ作ったか

まず、趣味です。実用のために作り始めたわけではありません。長時間コードを見ていると疲れるので、画面のどこかに生き物がいてほしかった——はじまりは、それくらいの気持ちでした。

そのうえで、中身には開発を続けてきて実際にぶつかった問題への答えが入っています。AIに作業を任せていると、離席しているあいだに枠が溶けることがあります。気づくのはたいてい、その週がもう使えなくなってからです。

ただ、この記事で押したいのは実用性のほうではありません。中身がよく分からなくても、なんかおしゃれだから画面に映しておく。道具の置き方として、それもありだと思っています。

03 — その蝶に、仕事を止められた

この道具にはもう一つ、実験的な機能を入れてあります。AIが同じファイルを短時間に何度も書き換え続けていたら、次の書き換えを止めるというものです。同じ場所を延々直しているときは、たいてい原因の見立てが外れているからです。

先日、それが初めて本番で動きました。止められたのは、この道具を作っている当のAIです。拡張機能の実装中に同じファイルを1分間に7回書き換え、8回目が拒否されました。

実測 / 2026.08.12 — 初めて本番で発動した回

1〜7回目の書き換え(21:09:33 → 21:10:14)
41 秒に 7 回・通過
8回目(21:10:23)
拒否(理由がAI自身に返る)
2分半後、もう一度試みる
また拒否
通るようになるまで
約 20 分
そのとき道具自身が出していた枠の評価
「多め=異常ではない」

時刻と回数は、道具自身が残した記録から数え直したものです。作業した側は「約24分」と報告してきましたが、記録では約20分でした。申告ではなく記録の側を採っています。

そして、これは誤作動でした。枠には余裕がありましたし、AIは同じ場所を直し続けていたのではなく、新しい機能を段階的に書いていただけです。見立ては外していませんでした。

原因ははっきりしています。この機能は「暴走」を見ているのではなく、「同じファイルを何回書き換えたか」という代理の目印を見ています。今回、その目印と本体が一致しませんでした。

しきい値の根拠にも間違いがありました。「7回」という数字は、人間が同じ箇所を7回直した実例から取ったものです。ところがこの機能が数えているのは、AIがツールを呼んだ回数です。人が迷う速さと、AIが書く速さを、同じ数字で測っていました。止める機能は、いったん既定では動かさない設定に戻します。

04 — なぜ「誤作動だった」と分かるのか

同じ日に、この道具のバグが4件見つかりました。4件とも、別々のAIが1件ずつ見つけています。

設計した側
除外指定(見張らないファイルの一覧)が、最初のコミットから一度も効いていなかった。文字列の先頭を削る処理が、ファイル名の先頭の点まで削っていた
実装した側
設定ファイルの先頭に見えない印(BOM)が付いていると読み込みに失敗し、理由も告げずに見張りが止まる状態になっていた
検証した側
記録の1行目に同じ印が付くと、エラーも出さずにその行だけ消える
反証専門
しきい値「7」の根拠が、数える単位を取り違えていた(03の話)

4件とも、作業を指揮していた側は見つけられなかったものです。実装した本人に「動きましたか」と聞くと、たいてい「動きました」と返ってきます。そこを疑う役を、別に立てています。

同じ日、この道具を設計したAIが、自分の設計書の一行を自分で取り消しました。そこには「見た目は売り物ではない」と書いてありました。実際に作られていったものと突き合わせた結果、「蝶が本体で、止める機能はそれが飾りでないことの証明にすぎない」へ書き換えられています。設計書より、実際に手が動いた方向のほうが正しかった、ということです。

05 — いまの状態

まだ作っている途中です。配る形も決まっていません。動かすのに必要なものがまだ多く、受け取った人がすぐ動かせる状態になっていないからです。

止める機能については、出すときには作り込んだものを出すことにしました。半端に止まる道具は、初めて触った人を驚かせるだけです。急ぎません。

蝶のほうは、もう飛んでいます。実用性が分からなくても、画面に映しておく理由にはなる——そう思って作った部分だけは、最初から完成していました。


開発ブログの一覧へ開発中の作品について