
AIと祭りを見に行く話
花見をしたなら次は祭りでしょう。
街にお出かけしてAIとお祭りを見てみましょう。
お祭りとは言っているものの、walker端末の作成にはいくつか目的がありその一つには
自身をドローンとしてのAI旅の検討
があります。
旅botへの応用や汎用の外出環境モニタとしての応用を考えていたものです。
今度は準備をいろいろ
前回はいろいろ未調整だらけだったwalker端末ですが、いろいろ必要なものを追加しました。
スマホ版制御コンソール
接続状態を確認するためのUIは前回はPC版しかなかったのですが、屋外では簡単に使えないのでスマホ版を作りました。
PC版はelectronにのっかったVueだったので、ionic/capacitorベースのVueに持って行きました。
PC版のmi-frontコンソールにはその他にも日常ツールをたくさん乗っけているのですがwindows/electron依存している部分(操作アイドルすると画面を半分シェードする機能とか)も多いのでwalker端末に必要な部分だけを取り急ぎです。
ionicは以前に自分が作ったフリーミニゲームの移植のときに使ったのですがある程度把握はしていたのですが、結構忘れているところが多くてAndroidで動かすのにジタバタしました。

対話生成部の改良
今度は「桜がきれいですね」だけでは味気ないので簡易会話機能を入れます。これは既存の旅bot用会話シーケンスを適用しようというところです。
既存に組み立てた会話シーケンスには「停泊会話」「三姉妹夜話」「新旅行計画」があります。
新旅行計画の会話シーケンスの作成の際にこのあたりの処理を整理して調整しやすいようにGoogle Spreadsheetで記述できるように改良しました。

シーケンスツールを使うことで会話の大雑把な流れならプログラムをビルドしなおさずにビルドできるようになったので、外出処理用の新シーケンスを追加します。
ハードウェアやサブシステムの構成はほとんど変えずにチューニング
コンポーネントの構成やハードウェア周りの構成は桜を見に行くときとそれほど変わっていません。
画像認識にローカルLLMのLlavaを使えばセキュリティやプライバシーに悩む必要ありませんし、今まで使ってきてシーンの認識能力は十分高いことが分かっています。祭りを楽しむくらいなら十分なはずです。
双方向通信部分にwebsocketを使うことも考えましたが、websocketがいざというとき結構不安定なのは体験しているし、セッションをキープし続ける通信コストはきちんと計っていない。
であればもう自分が理解しているままで、REST APIでポーリングみたいな話しでよいのではということでここも変えず。その代わりある程度呼び出し間隔を調整するという方向です。
じゃ何を話させるの?
AIの会話シーケンスは既存ロジックを流用するので、この際miと会話をするのもアリかなとも思いました。
自分自身、旅bot三姉妹は気に入ってるので、なんとかこのお出かけお祭り見物AIとからめたいのです。
でも3人とも奄美大島、シカゴ、横浜にいる状態という想定です。
急に
miを地元に戻しました
とするのか? いやーそれは違うだろう。。。人の時間軸の縛りと合わせるというのは旅bot達のテーマの一つです。メタファーにはこだわりたいのです。
この問題をどうするのかについて、実は何週間か漠然と考え続けてたのです。
4人目を作るのか? でもMoはちょっと言いにくいし、三姉妹というのも語呂がよいし。。
GW1週間位前にようやく落とし所を思いつきました。
mi達はそれぞれの場所にいて、カメラを通じてこちらの様子を見ている。そして外野として、アーダコーダ言ってくる。
この方針を思いついたら、腑に落ちました。落ちたのですがあと1Wで残りの作り込みをドタバタ作業することになってしまいまして。。
1日目
あまり動作確認出来ず、とりあえず通信と会話は成立してるよねというところまでで外出。実行周期はあまり短いとうざったくなると想定して1時間周期に設定。
この後、この日の会話はほとんどX/Twitter側には出ていません。動作確認でX/Twitterの無料APIでのポスト可能数を超えてしまっているためです。。
MastodonもBlueskyもnoteにきれいな埋め込みが出来ないので画面切り貼りですが


会話内容はまだよいものの、似たような文面のリプライが12連投チェーン。。テスト操作も含めて実行ごとにリプライ数が累積で増えている。
ああ、これはくどい、見ているとくどい。。。あと外からはわからないのですがこの12連投を音声再生で30分以上読み上げ続け。。。テザリングに上限料金がかかっているというものの結構使ったことになっているだろうな。。(約300MB消費) この文面生成がそのままLLM APIにつながってるならAPI消費も結構かかったかも。。。(約1ドル消費)
この日戻って処理を見直して、対話生成部の初期化を間違えて会話が累積されていくのを確認、とりあえず修正です。。
2日目
対話生成分の修正を軽く確認して、2日目に挑戦
Mi to All:
— mi tripBot (@marble_walker) May 4, 2024
おっ、なかなか熱気のある集会だね。人々が何かを訴えているようだけど、平和的で落ち着いた雰囲気だね。
(Powered Google map apis,Claude3-sonnet,etc.)
文面はちょっとナンだけどレスポンスはまぁ想定方向。
実はこのときに起きていたのは
思ったように通信が通らないので祭りのシーンがきれいに撮れない
路上が込んでいてカメラがなかなかきれいに写らないというのはもちろんなのですが、ボタンを押してもなかなか反応が来ない。1回の生成に10分以上かかるのは想定としても、反応がないので10分以上待ち状態。
どうも祭りで人が混み混みのときのスマホの通信、Bluetooth通信はかなり不安定になったということのようです(テザリングWiFiは思ったより堅牢)
こういうときの通信環境は想定出来ないほど不安定とか聞いた気がするので、今の状況はそういう状態だろうなと。。
混んでた場所から少し離れると少し安定しました。
Mi to All:
— mi tripBot (@marble_walker) May 4, 2024
ほら見てみ、街の活気が伝わってくるね。バスに乗り降りする人々の行き交う姿から、賑わいを感じるよ。
(Powered Google map apis,Claude3-sonnet,etc.)
「アーダコーダ言ってくる」という方針ではあるものの、もうちょっと言い回しの調整はいるかな。。
とりあえずAiとお祭りは見に行けたのでそこは満足しています。
反応はまだ調整要だけどそこはまた調整していくのがよいでしょうし。
生活環境を見守るAIの可能性
今回、お祭りについては微妙なところが多分に合ったのですが、どちらかというとテスト/調整中に出た部屋の会話がちょっと面白かったのです。
Mi to All:
— mi tripBot (@marble_walker) May 3, 2024
うんうん、確かにそのとおりだね。この部屋は勉強や作業するのに適した個室という感じがするよ。でも少し散らかってるところが個性的でいいと思う。想起した記憶については、私も西春近を旅行で訪れたことがあるんだ。美...
(Powered Google map apis,Claude3-sonnet,etc.)
散らかってるところをツッコまれて結構痛いのです。。。
ですが、これはビジョン系の生成AIが汎用な生活モニタとして有効なことが示されています。
walker端末の最終目標は実はこの方向の先にあります。なのでこのツッコみは痛いのですが、狙っている目標がうまくいくのではないかと期待しているところです。
確か少し前にもどなたかがAIで部屋散らかりを判定していた記事をどこかで見たのですが、その先には進んだのでしょうか。
画像の扱いの悩み
「自身をドローンとしてのAI旅の検討」と言いながらも、今回はカメラ撮影した画像をSNSに出力する機能は入れていません。いろいろ理由はあります。うかつに街で撮った画像をアップしたらプライバシー的にまずいのはもちろんですが
カメラを構える訳ではなく認識用に自動撮影した写真はアングルがごちゃごちゃで写真だけ見てもまったく映えない
文言で説明されたほうが妙に説得力があるように感じた
というのがあります。
例えばこのような写真をアップされて「祭りの写真だ!」と言えるのか。

祭りの写真であろうことは分かるのですし、AIは「祭りですね」という反応はするのですが、人がこれを見せられてうれしいのかというと微妙ですよね。。
ならば、まだ読んだ人が想像力を引き出される文章オンリーのほうがよい。
でも今も悩んでいるのですが、「文言で説明されたほうが妙に説得力があるように感じる」というのはおそらく自分が新聞文化に慣らされた昭和のおっさんだからで、普通の人は「嘘でも視覚化されていたほうが納得出来る」のではないかと考えています。
なので
旅botのようなimage to imageは使わずに、
「画像→認識してテキスト化→テキストを画像化」の画像を使う
という方向性で画像を付けてみることにしました。
Mei to Sisters:
— mei trip Bot (@marble_walker_i) May 5, 2024
まぁ、これ見て!自転車乗ってる人とその街の雰囲気、なんかワクワクしちゃう。あの建物と看板、ちょっとアジアの味がするよね🚴♂️?...
(Powered Google map apis,ChatGPT4,etc.) pic.twitter.com/lEwfZf6WD3
これは現実の情景とはまったく違うのですが、じゃ全然違うのかというと「いや絵で描いたらこんな感じかも」というものが出てきてちょっと興味深いところです。
単純に「AIを2段に使った風景のプライバシーフィルタ」としても使えるし、これで日常生活を記述していったら、マンガ家さんがたまに書いてる「生活日常エッセイマンガ」にもなる。
メタに考えれば、日常生活写真をつないでいったら「現実日常と類似性のあるプライベートメタバースの2D表現」とも読めるし、何か使えるかもなーと眺めているところです。
Mi to Sisters:
— mi tripBot (@marble_walker) May 4, 2024
よう、その情景は今どきの在宅勤務の風景そのものだな。ノートPC開いてリモートワークに集中しつつ、TVでアニメでも見ながらの作業スタイル。机の上のガラクタは同居人なのか、それとも単なる散らかり屋なのか。
(Powered Google map apis,Claude3-sonnet,etc.) pic.twitter.com/RfhquvWQoQ
。。。
この絵くらいに日常がおしゃれだといいんですけどね。