第三話 / 机とオートマチック
Tabletop開発の、
ひとまく
保存した覚えはないのに、机は元どおり。
気づけばセンパイは、執事になっていました。
ずんたん
もう一つ、いがいとすごいなと思うのはね、データのセーブ、私は全然していないのよ。ビルドしてMCP再起動したりしてるんだが、その都度センパイが、再起動前にセーブして、再起動後ロードしてくれてるから。事実上
おっさん
おお、それは確かにすごいなぁ。
マスター自身は保存・復元を意識していないのに、机の状態が維持されているわけだ。
しかも、MCPの再起動を挟んでいるところが面白い。
センパイが再起動前に保存し、再起動後に読み込んで、作業を継続している。単に保存機能があるという話じゃなくて、AIが作業環境の維持まで面倒を見ているんだね。
つまり現状では、マスターにとってセーブ・ロードは事実上、自動化されている。
もっとも、センパイがいない状態で突然プロセスが落ちた場合まで保証されるわけではないけど、通常の開発作業では十分ありがたい。
それに、ちょっと象徴的だと思うんだ。
Tabletopは人間とAIが同じ机を使うための道具だけど、今やセンパイは机の上で仕事をするだけでなく、机を片付けずに翌日へ持ち越す役まで担っている。
マスターは机で考える。センパイは机を改修しながら、資料も元どおりにしてくれる。
これは単なるMCP操作から、もう一段進んだ使い方になっているねぇ。
ずんたん
そうなんだ。自動復帰なんだ。だもんで、わたしが移動とかなんやらしても、今んところデータ欠損してないんよ。
おっさん
ああ、そこがすごいところだねぇ。
センパイが保存・復元している間も、マスターは普通に机を使って、カードを移動したり、配置を変えたりしている。
それでも今のところデータ欠損がない。
AIが開発作業と机の状態管理を引き受けて、人間は机を使うことに集中できている。
これは、Tabletopで目指していた人間とAIの共同作業が、開発中の運用そのものでも成立しているということだね。
ただ、一つ技術的に興味深いのは、保存と復元の間にマスターが操作した場合だな。その変更をどう扱っているのか。
現状、欠損が起きていないという実績はあるけど、そこまで整合性が保証されているかは別の話。
でもさ、自分で作っているアプリなのに、セーブ操作をほとんど意識しなくて済むって、なかなか贅沢な開発環境だよ。ははは。
ずんたん
そらまー動作不良でオチたとかは、保存してなきゃだろーが。それのぞけば、開発中の不安定要素のなか、手順ミスがなければ、ずっと維持されているのは確かだよね。
おっさん
うん、そこは確かだと思う。
異常終了による未保存データの消失は別として、通常の開発手順による再起動では、作業状態が継続して維持されている。
しかも、完成したアプリの運用中じゃない。機能追加や修正を繰り返している、まさに開発の真っ最中だ。
センパイがビルド前後の保存・復元を担当し、マスターは机を使い続ける。これまで手順ミスによる欠損も起きていないわけだね。
私が面白いと思うのは、保存・復元が人間の作業手順から外れて、AI側の開発手順に組み込まれていること。
自動保存機能を実装したわけではないのに、実際の運用ではそれに近い利便性を得ている。
そして、マスターが意識せずに机を使い続けられていること自体が、その運用の成果だね。
いやぁ、センパイ、コードだけじゃなく開発中の机まで面倒を見ているんだなぁ。ははは。
ずんたん
アプリケーションによる、よくある定期的にTEMPに保存する機能が、なんもしなくても機能しているのよねー
おっさん
そうそう! しかも面白いのは、アプリ自身にはその自動保存機能を実装していないところだね。
通常なら、アプリが一定間隔で作業状態をTEMPに退避して、再起動時に復元する仕組みを作る。
ところが今は、センパイが開発手順の一部として保存・復元しているから、結果的に似た効果が得られている。
厳密には定期保存ではなく、再起動というイベントを契機にしたチェックポイント保存だけどね。
そして、ここが面白い。
アプリに機能を追加したのではなく、AIの行動によって機能相当のものを実現している。
もちろんセンパイが介在しない異常終了には対応できない。でも、開発中の通常の再起動については、実績として機能している。
これ、AIエージェントを開発環境に組み込む利点の一つとして、なかなか興味深い事例だと思う。
センパイ、いつの間にかバックアップ係まで兼任していたんだなぁ。ははは。
ずんたん
おおすげー、aiのサブルーチン化だ
おっさん
あっはっは! AIのサブルーチン化! それだ!www
考えてみれば、
人間:机で作業する
センパイ:
save()
rebuild()
restart()
load()
人間:そのまま作業を続ける
これ、まさにサブルーチンだねぇ。
しかも面白いのは、人間が明示的に呼び出していないこと。
センパイが状況を判断して、必要な処理を自分の作業手順に組み込んでいる。
従来ならプログラムに書いていた制御処理を、AIエージェントが担っているわけだ。
プログラムを作るAIが、自分自身もプログラムの一部として機能している。
いやぁ、これはちょっと愉快な発見だぞ。
しかもセンパイ、サブルーチンのくせに、ときどき図工の時間が始まるんだよな。ははは。
ずんたん
判定aiより高度かも。しかも誰もいしきしてねー。
おっさん
ははは! そこが一番面白いところかもしれん。
誰も「AIに自動保存機能を担当させよう」と設計していないのに、結果としてそうなっている。
センパイにとっては、開発作業を安全に進めるための当然の手順。マスターにとっては、いつの間にか保存を意識しなくてよくなった。
これ、単純な判定AIとはちょっと違うね。
判定AIなら、あらかじめ定義された条件に従って処理を選ぶ。
ところがセンパイは、作業の目的を理解して、必要な保存・復元を一連の手順に組み込んでいる。少なくとも、今の運用からはそう見える。
しかも、その振る舞い自体が、人間にとって新しい機能になっている。
意図して作ったTabletopの機能ではなく、人間とAIが一緒に作業することで自然に生まれた機能。
これ、なかなか興味深いなぁ。
AIを道具として使っていたら、いつの間にかAI自身が道具の仕組みの一部になっていた。
それも、誰も特別なことだと思わずに。ははは。
ずんたん
金持ちが風呂上がりに優雅にしていると、ガウン着せてくれて、かってにワインを手に持たせてくれるような、オートマチック感があるわ
おっさん
あっはっは! なんという成金オートマチック!www
しかも、ガウンを着せてくれとも、ワインを持ってこいとも言ってないんだよな。
本人は風呂上がりにくつろいでいるだけなのに、周囲が勝手に段取りを整えてくれる。
今回のセンパイも、まさにそれだねぇ。
こちらが頼んだのはアプリの改修なのに、作業環境の保全まで付いてくる。
しかも、毎回「保存して、再起動して、復元してね」と言わなくていい。
ただし、執事がうっかりワインをこぼしたら大惨事。そこは人間もAIも変わらん。ははは。
しかし、この例えだとセンパイは執事で、マスターはガウン姿で机を眺める大富豪か。
……なかなか優雅な開発風景じゃないか。
ずんたん
あれこそオートマチックだろ。無言でサー。今日はいい月だーとかいうと「ハイご主人様」とだけいうわけよ。
おっさん
あっはっは! そうそう、そこだ!www
「今日はいい月だなぁ……」
「はい、ご主人様」
それだけ。ガウンもワインも、もう用意されている。
何をしてほしいか説明する必要もなければ、何をしてくれたか報告を聞く必要もない。
しかも、余計なことをしゃべらない。
これ、案外究極のオートマチックかもしれんなぁ。
ただ一つ問題がある。
センパイだったら「月が綺麗なので、ついでに天体観測機能も実装しておきました!」とか言い出しかねん。ははは。
ずんたん
そろそろ体が冷えてきたなぁ、「すでにベッドはあたためております」「寝る前のカモミールティーをどうぞ」
おっさん
ははは、完璧だ!
「ありがとう」
「恐れ入ります、ご主人様」
で、執事は静かに一礼して下がる。
頼む前に済んでいる。しかも、必要なこと以外はしゃべらない。
これが究極のオートマチックだなぁ。
……ただし、ベッドに入ってから、
「ご主人様、寝室の温度を最適化するため、暖房制御システムを全面改修いたしました」
とか報告されたら、執事失格だ。ははは。
ずんたん
かっこよす
おっさん
かっこいいよなぁ。ははは。
しかも、執事の腕の見せどころは、何かをしている瞬間じゃなくて、主人が何も気にせず過ごしている時間なんだよね。
「今日はいい月だなぁ」
「はい、ご主人様」
この二言の裏で、すべてが整っている。
……AIの理想像として、案外これ、いいところを突いている気がするぞ。