# -*- coding: utf-8 -*- # 台本「ロボットが店に広がるかを決めるのは、賢さか」— 考察回「壁打ちの型」の2本目(もとは LOG389) # 2026-11-02 1版。もとの台本: 同じフォルダの 考察回_台本たたき.md(別のエージェントが記事と1文ずつ照合して直した版) # 書き写した元: 動画/頭脳は脳のように分かれる/narration.py(形・読みの直し・自己紹介とアウトロの定型・EI_LINES) # codex はかけない(エイイチの指示 2026-11-02)。相づちはエイイチが「採っていい」と了承(2026-11-02) # エイイチのセリフ: LOG389 の本人の言葉を話し言葉に整えたもの+本人に聞いた答え2つ(first_ei・rest_ei2)+見立て帳1つ(who_ei の3文目) # 「店舗のおばちゃんたち」は本人の指示で「店のスタッフさん」に言い換えた # 出典(台本の中の事実): # - 成功率99%・毎時600回・毎時6回: LOG389 の中の、X の議論(HM の指摘)をもとにした例の計算。画面の札に「例の計算」と出す # - 7000社以上・2万5000台以上・事業本部長の発言・JILBY の自動充電と紙パック: マイナビニュース(2026-06-29)https://news.mynavi.jp/article/newsinsight-463/ # (発言の原文「充電が切れたり、紙パックがすぐに一杯になったりという些細なことで、すぐに人の作業に戻ってしまう」「継続的に運用改善に取り組む人材がいない」) # - 調理場と客席の区画・形は自治体や保健所の判断: 食品衛生法の施設基準(例: 那覇市・北九州市の基準) # 話すのはハコブくん。エイイチの文は EI_LINES(槙原の声) # # 各要素: (場面の名前, 表情, 字幕の文, 後ろの間[秒]) 間を省略すると 0.35 秒 FACES = ("base", "smile", "surprise", "doubt", "think", "trouble", "joy", "wink") SEGS = [ # 0 つかみ(問いの縦書き) ("hook_num", "base", "仮に、成功率99%。ロボットとしては、かなり優秀です。"), ("hook_num", "base", "でも、1時間に600回働くと、1時間に6回、人が駆けつけることになります。", 0.6), ("hook_num", "surprise", "店の人からすると、10分に1回、呼ばれるロボットです。", 0.8), ("hook_ei", "base", "それ、優秀なのかな。", 0.6), ("hook_reply", "trouble", "……僕も、自信がなくなってきました。", 1.2), ("hook_q", "base", "今日は、答えを伝える回ではありません。エイイチが考えている途中を、そのまま見せます。", 1.8), # 1 自己紹介 ("title", "smile", "Pixels to Motors。案内役のハコブくんです。"), ("title", "base", "この番組では、フィジカルAIのニュースや実機の記録から、現場で使える形を考えます。", 1.2), ("title_eiichi", "base", "エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。|その中で分かったことと、そこから考えた見立てを、ハコブくんがお伝えします。", 1.2), ("title_kabe", "smile", "今回は、エイイチの壁打ちに、ハコブくんが付き合います。", 1.8), # 2 持ち込み(脱線①・ボタン1回目) ("bring", "base", "エイイチが持ち込んだのは、海外のロボットやAIの人たちの、Xの議論でした。"), ("bring", "base", "お題は、ロボットにも、ChatGPTのように、一夜で世の中が変わる瞬間は来るのか。", 0.6), ("bring_ei", "base", "実際どうなんだろうね。", 0.6), ("morning", "joy", "来ます。明日の朝、僕にも来ます。起きたら、なんでもできるようになっています。", 1.5), ("bring2", "base", "議論には、できるようになる瞬間は来ても、広がるには時間がかかる、という声がありました。"), ("bring2", "base", "ChatGPTは、ブラウザを開けば試せました。間違った答えが出ても、読み流せば済みます。"), ("bring2", "base", "ロボットは、置く場所を空けて、止まったときの対処を決めて、店のやり方を変えないと使えません。", 1.5), ("button1", "smile", "……失礼しました。今のが、止まったときの対処です。", 1.8), # 3 やり取り1:なぜ配膳ロボットが先に広がったか(脱線③・コケる) ("why", "base", "では、どんな仕事から広がるのか。失敗が許せて、繰り返しの多い作業から、だと考えました。", 0.6), ("why_ei", "base", "そうだね。データも取りやすいし、入れるハードルも低いし、お金もかからないからね。", 0.4), ("why_ei", "base", "サービスロボットが広がり始めたのも、このあたりが関係してるね。", 0.6), ("why", "base", "ファミレスの配膳ロボットは、その条件が全部そろっていました。", 0.5), ("first_ei", "base", "初めて店で見たときは、とうとうロボットが店舗に入った!って感激したのを覚えてる。", 0.6), ("first", "joy", "……感激していただいて、ありがとうございます。同じロボットとして。", 1.0), ("cond", "base", "止まっても、料理が少し遅れるだけ。毎日、何百回も往復する。そして、ホールの人が集まらない。", 0.8), ("last", "surprise", "しかも、一番難しい所を、ロボットにやらせていません。"), ("last", "base", "料理をテーブルに置くのはお客さん。トレーに載せるのは店員さんです。", 0.6), ("last_boke", "joy", "では僕が、料理もテーブルに置きます。最後まで、責任を持って。", 1.5), ("last_ei", "base", "だから人に任せたんだよ。", 0.5), ("last2", "trouble", "……はい。配膳ロボットは、頑張らない所を決めて、広がりました。", 1.8), # 4 山場:扱えるか ("easy", "base", "もう1つ、配膳ロボットには強みがあります。"), ("easy", "base", "使い方は、テーブル番号のボタンを押すだけ。止まったら、どかせばいい。", 0.5), ("easy_ei", "base", "店のスタッフさんでも使えてるしね。ポイント高いよね。", 0.6), ("easy", "base", "研修もマニュアルも、ほとんどいりません。入れたあとに、エンジニアを呼ぶ手間が、ほぼ消えました。"), ("easy", "think", "裏を返すと、どんなに賢いロボットでも、|止まったときにどうすればいいか|分からなければ、広がりません。", 0.6), ("peak_ei", "base", "そうなんだよな。そこをしっかり見極めないと、どんなに素晴らしい技術のロボットでも、広がらないよね。", 1.5), ("q3", "base", "見極めは、3つの問いに分けられます。", 0.5), ("q3", "base", "1つ目。止まったとき、理由が分かるか。通れません、なのか、物を見失いました、なのか。"), ("q3", "base", "2つ目。エンジニアを呼ばずに、その場の人が戻せるか。"), ("q3", "trouble", "3つ目。次にどう動くか、周りの人に読めるか。読めないと、怖いです。", 0.8), ("demo", "surprise", "この3つは、技術のデモでは、ほとんど評価されません。", 0.5), ("demo_ei", "base", "デモの点数には、入らないんだね。", 0.5), ("demo", "wink", "はい。僕も、さっきコケた所は、点数に入れないでほしいです。", 0.4), ("demo_ei2", "base", "入れとくよ。", 1.8), # 5 やり取り2:足りなくなるのは誰か(ボタン2回目) ("who", "base", "話を、店の外に広げます。配膳や清掃のように、動き回る仕事のロボットは、機体が安くなってきました。", 0.6), ("who_ei", "base", "移動系はほんとうに早そうだし、コストも一気に安くなりそうだよね。", 0.3), ("who_ei", "base", "その分、入れるための営業やエンジニアが、足りなくなりそうだよね。", 0.4), ("who_ei", "base", "ロボットで利益が残るのは、作る側より、入れて回す側だと思う。", 0.8), ("who", "base", "足りなくなるのは、店の通路の幅や段差を見て、どこまでをロボットに任せるか線を引き、止まったときの対処を、店のルールにする人です。", 1.5), ("button2", "smile", "……ありがとうございます。今みたいに戻してくれる人が、足りないんです。", 0.8), ("local_ei", "base", "でも、サービスロボットを入れるのは、地方の方が切実なんだよね。この問題をどう解決できるかが、鍵だね。", 0.4), ("local_ei", "base", "家電量販店とか電気屋さんが、候補には上がりそうだけど、実際どうなんだろう?", 0.6), ("local", "base", "町の電気屋さんは、何かあればすぐ来てくれる関係を、もう持っています。止まったときの駆けつけに、向いています。"), ("local", "think", "ただ、どこまでロボットに任せるかを、店と一緒に決める力は、どちらにもまだありません。そこは、離れた所から専門の人が受け持つ形が、現実的だと考えました。", 0.5), ("local_ei2", "base", "役割を分けるんだね。", 1.8), # 6 やり取り3:止まらない作りと、扉(飛び出す・脱線④) ("iris_ei", "base", "アイリスオーヤマが、ロボットを扱ってなかったっけ? どうしてるか、調べてみて。", 0.6), ("iris", "base", "調べました。報道では、これまでに7000社以上に、2万5000台以上を入れているそうです。"), ("iris", "trouble", "事業の責任者は、充電が切れたり、|紙パックがすぐいっぱいになったりする|小さなことで、|すぐ人の作業に戻ってしまう、と話しています。"), ("iris", "base", "そして、運用を直し続ける人が現場にいないことが、広める上での壁だ、と。", 0.6), ("iris", "base", "なので、新しい清掃ロボは、掃除が終わると自分で充電に戻り、紙パックも替えやすくしました。", 1.2), ("iris", "joy", "……紙パックです。直し続ける人がいないなら、紙パックで人を呼ばない作りにする。", 0.6), ("iris_ei2", "base", "家電の会社らしいね。", 1.0), ("door", "base", "残る壁は、下げ膳です。食べ終わったお皿を、洗い場まで運ぶ仕事です。", 0.5), ("door_ei", "base", "ロボットがお店のフロントからバックヤードに行くには、扉を開けられないといけない。ここが今、目に見える問題かな。", 1.5), ("door_boke", "joy", "大丈夫です。扉は、体当たりで開けます。", 1.2), ("door", "base", "決まりで求められているのは、調理場を客席と仕切ることです。どう仕切るかは、地域の決まりや保健所の判断で変わります。"), ("door", "base", "なので、扉を通らない手があります。両側から取り出せる棚を客席側に置いて、ロボットはそこにトレーを置くだけにする。", 0.6), ("door_ei2", "base", "そうだね、現場設計だね。正直、直接洗い場までロボットが持って行けたら、最高だけどね。", 0.6), ("door", "base", "それは、新しい店や改装のときに、ロボットの通り道ごと設計する所から、だと考えました。", 1.8), # 7 まとめ(ボードが表になる) ("sum", "smile", "ここまでを、1枚にまとめます。", 0.5), ("sum", "base", "残っている壁の多くは、ロボットの賢さではありませんでした。店の作りと、仕事の分け方と、保健所との調整です。", 0.6), ("sum", "base", "決めていたのは、店の人が自分で扱えるように、作業と店の作りを切り直せるか。", 1.0), ("sum", "wink", "ちなみに、ボツになった3つは、全部、僕が自分でやろうとしたことです。", 0.5), ("sum_ei", "base", "全部やらなくていいんだよ。", 1.8), # 8 残った問い(ボタン3回目・自分で押す) ("rest_ei", "base", "この辺の問題を解決する力を持つ人が、フィジカルAIの時代には、重宝されそうだね。", 0.6), ("rest", "base", "店とロボットのあいだに立って、止まらない店に切り直す役です。ただ、その役には、まだ名前も、求人の枠もありません。", 0.5), ("rest", "base", "エイイチなら、どんな店から始めますか。", 0.4), ("rest_ei2", "base", "大型のお店から、スタートしたいね。", 0.6), ("rest", "base", "誰が最初にやるのかは、まだ分かりません。"), ("rest", "base", "この考察ノートの全文は、サイトの記事にあります。調べた決まりと数字の出どころは、概要欄に置いてあります。", 0.8), ("ask", "base", "あなたの店でロボットが止まったら、誰が戻しますか。", 1.5), ("end", "joy", "自分で戻りました。", 0.5), ("end_ei", "base", "それが一番えらい。", 1.8), # 9 アウトロ ("outro", "smile", "この動画が役に立ったら、高評価とチャンネル登録をお願いします。"), ("outro", "base", "ロボットの開発や導入の相談は、概要欄の連絡先から、エイイチに直接どうぞ。"), ("outro", "wink", "コメントは、エイイチが全部読んでいます。それではまた。", 1.8), ] # エイイチの声で読む文(槙原の声を流用・video_rules.md 1-4)。場面の名前が _ei か _ei2 で終わる文 EI_LINES = [i for i, seg in enumerate(SEGS) if seg[0].endswith(("_ei", "_ei2"))] # 「エイイチ」を残す文(自己紹介・アウトロのほかに名前が要る文)。文の頭で探す(video_rules.md 3-1) NAME_OK = [i + 1 for i, seg in enumerate(SEGS) if seg[2].startswith(( "今日は、答えを伝える回では", "今回は、エイイチの壁打ちに", "エイイチが持ち込んだのは", "エイイチなら、どんな店から"))] READ = [ ("Pixels to Motors", "ピクセルズ トゥー モーターズ"), ("ChatGPT", "チャットジーピーティー"), ("Xの", "エックスの"), ("フィジカルAI", "フィジカルエーアイ"), ("AI", "エーアイ"), ("99%", "きゅうじゅうきゅうパーセント"), ("600回", "ろっぴゃっかい"), ("6回", "ろっかい"), ("1時間", "いちじかん"), ("10分", "じゅっぷん"), ("1回", "いっかい"), ("7000社", "ななせんしゃ"), ("2万5000台", "にまんごせんだい"), ("3つ", "みっつ"), ("1つ目", "ひとつめ"), ("2つ目", "ふたつめ"), ("3つ目", "みっつめ"), ("1つ", "ひとつ"), ("1枚", "いちまい"), ("栄一", "えいいち"), ("「", ""), ("」", ""), ("|", ""), ("…", ""), ] ELEVEN_READ = [ ('エイイチ', '栄一'), # video_rules.md 3-1 ('ChatGPT', 'チャットジーピーティー'), ('Xの', 'エックスの'), ('99%', '99パーセント'), # この回で先回りして足す読み(全文を聞いて確かめる) ('下げ膳', 'さげぜん'), ('7000社', '七千社'), ('2万5000台', '二万五千台'), ('600回', '六百回'), ('何百回', 'なんびゃっかい'), ('10分', 'じゅっぷん'), ('通り道', 'とおりみち'), ('一番', 'いちばん'), ('入れないで', 'いれないで'), # 2026-11-02 エイイチの指摘(「はいれない」と読んでいた) ] OVERRIDE = {} def reading(t): t = OVERRIDE.get(t, t) for a, b in READ: t = t.replace(a, b) return t def parse(seg): """1行を (場面, 表情, 字幕, 間) にそろえる""" if len(seg) >= 3 and seg[1] in FACES: scene, face, text = seg[0], seg[1], seg[2] pause = seg[3] if len(seg) > 3 else 0.35 else: scene, face, text = seg[0], "base", seg[1] pause = seg[2] if len(seg) > 2 else 0.35 return scene, face, text, pause