集客AI · 使い方・仕様・設計の理由

集客AI | 仕組みと技術

中で何が起きているか、なぜこの作りにしたか、どれだけ時間がかかったかの記録です。 操作方法はハンドブックにあります。

2026-08-19 時点の実装にもとづきます。数値はすべて実測です。

第2部

仕組み

何が起きているか・何が残るか

6. 全体は「1本の製造ライン」です

素材を入れると、下の順に流れます。止まるのは2か所だけで、あとは自動です。 途中で人が手を入れると、その先の工程は作り直しが必要になります(どの版が古いかは画面が教えます)。

素材 動画1〜15本 全部に共通 ① 解析(AIが見る) ② 裏取り ③ 構成・連結 → 映像が1本になる 言語ごと 言語ごとに繰り返す ④ 文章(投稿文・字幕A) ⑤ 読み上げ原稿(字幕B) ⑥ 声にする ⑦ 映像に重ねる ⑧ テロップを書く ここまで自動。 押さなくても出来ている ⑪ 確認 機械が12項目 押したときだけ ⑨ 文字を焼く ⑩ BGMを付ける 人の操作が要る 4つの版 +文章一式 止まる:裏取りNG/連結の検査NG 止めない:赤が出ても保存する (捨てるより人が見る方が安い)
素材1本でも15本でも流れは同じです。①〜③は全言語で1回だけ④〜⑧は言語の数だけ繰り返します。 言語を増やしても①〜③の費用は増えません。

7. 工程ごとの入力・処理・出力

左が「何を受け取るか」、中央が「何をするか(誰が)」、右が「何が出て、どこに残るか」です。 コード表記は保存先の名前で、打ち合わせでは読み飛ばして構いません。

01

受け取る

人が決める
入力
  • スマホの動画 1〜15本(合計90秒まで)
  • 店舗(辞書とNGワードが紐づく)
  • 事実メモ(任意)
  • 対象言語(ONの言語すべて)
処理 画面が動画を倉庫へ直接置き、帳簿に「1本受け付けた」と書きます。
この時点では何も処理していません(受付だけ)。
選んだ順が、そのまま繋ぐ順の候補になります
出力
  • 依頼1件(実行待ち)
帳簿 jobs/倉庫 videos/uploads/…

事実メモがここでの分かれ道です。 空でも作れますが、その場合AIは映像から見て取れることしか書けません。 味・創業・こだわり・受賞歴は根拠が無いので書けず、画面にもその旨が出ます。

02

解析(AIが動画を見る)

機械
入力
  • 連結前の動画
  • 解析の型 analyze@v2
処理 Gemini が動画を見て・聴いて、話している内容の文字起こし、要約、日本語の投稿文、字幕の候補を作ります。
API 1回。動画は一度Googleへ預けて解析します
出力
  • 文字起こし/要約
  • 日本語の下書き
  • 字幕A の候補
この段では帳簿に書かず、次の工程へ渡します
03

裏取り(事実の確認)

機械止まることがある
入力
  • 文字起こし・事実メモ
  • 店舗の辞書
処理 素材に根拠があるか店舗を取り違えていないかを確かめます。 翻訳を始める前に置いてあるので、間違いに気づいた時点でAPIを1回も無駄にしません。
出力
  • 発話の量(この後の音の扱いを決める)
  • 根拠あり/なし/取り違え

取り違えを見つけたら、ここでジョブを止めます。 実例=別の店舗(鰻店)の解析が混じったとき、「この動画には店名もメニューも出てきません」と出して停止しました(2026-08-13)。

04

構成(どの画をどの順で使うか)

機械が下書き人が決める
入力
  • 素材ごとの静止画と長さ
処理 AIが素材の役割(看板・外観・店内・調理・料理・食事)を見分け、順番と使う/使わないを提案します。 決めるのは人です。並べ替え・除外・素材の追加・足りない画の生成ができます。
出力
  • 構成(並び・取捨・冒頭の狙い)
  • 足りない画の指摘
帳簿 jobs.plan_json
05

連結(映像を1本にする)

機械止まることがある
入力
  • 確定した構成
  • 素材の動画
処理 すべてを縦9:16(720×1280)に作り直して繋ぎます。繋いだ直後に 「全区間を再生できるか・解像度が揃っているか」を検査します。
1カットの狙いは 2〜3秒・全体24秒
出力
  • 1本になった映像
  • 時間割=何番目の素材が何秒〜何秒に映るか
帳簿 plan_json.built.timeline

横向きの素材は左右が切れます(中央を切り出すため)。警告は出ますが止めません。 この「時間割」が、あとでテロップを画に合わせる土台になります。

06

文章(投稿文・字幕A・ハッシュタグ)

機械後から直せる
入力
  • 解析の結果
  • 店舗の辞書・NGワード
  • 事実メモ
処理 日本語は清書、他の言語は翻訳します。辞書を必ず添えるので、 店名・メニュー名の表記がぶれません。
言語ごとにAPIを呼びます
出力
  • 投稿キャプション
  • 字幕A=元の声に付ける字幕
  • ハッシュタグ(3個以上)
帳簿 outputs.caption_text / subtitle_srt / hashtags_json
07

読み上げ原稿(字幕B)

機械後から直せる
入力
  • 解析の結果
  • 動画の長さ
  • 言語ごとの読む速さ
処理 投稿文とは別の文を書きます(読む速さも読み方も違うため)。 長すぎたら短く書き直し、短すぎたら書き足して尺の8割以上を埋めます
日本語 5.2字/秒・中国語 3.1字/秒(実測)
出力
  • 読み上げ原稿
  • 字幕B=新しい声に付ける字幕
帳簿 outputs.narration_text / narration_srt

字幕が2種類あるのはこのためです。 元の声のまま出すなら字幕A、声を差し替えた動画なら字幕B。取り違えると声と字幕が食い違います。

08

声にする

機械声を選ぶ・肉声を使う
入力
  • 読み上げ原稿
  • 声(5種から選択)
  • または、録った肉声
処理 合成音声を作ります。長すぎたら原稿を短く書き直してから作り直します(早口にしません)。
肉声を使う場合は前後の無音を落とし・音量をそろえ・動画の長さに合わせてから載せます。
詰められる速度に上限があり、超えるときは人に返します
出力
  • 音声ファイル(言語ごと)
  • 実測の秒数
倉庫 audio/<依頼>/<言語>.wav
09

映像に音を重ねる

機械
入力
  • 連結した映像
  • 作った音声
  • 元動画に入っている音
処理 映像は作り直さず、音のトラックだけ差し替えます(速く、画質も落ちません)。
このとき元の音をどれだけ残すかが自動で決まります(次の章で詳しく)。
出力
  • 音声付き動画(言語ごとに1本)
倉庫 renders/<依頼>/<言語>.mp4
10

テロップ(画面に出す文字)

機械人が直せる
入力
  • 映像の時間割(05で作ったもの)
  • 素材ごとに何が映っているか
  • 辞書・NGワード
処理 AIが1枚ずつ「どの画について書くか」を決めます。文字はその画が映っている間だけ出ます。 画1つにつき1枚で、時間はこちらで割り当てます。
字幕とは別物。声と一致させません
出力
  • テロップ(文言・時間・出る画・見た目)
帳簿 outputs.telop_json

人が直せるのはここが一番多い所です。 文言・表示時間・出る画・色・背景・位置(つまんで動かす)・大きさ・縦書き。 直した内容は作り直しても消えません。

11

焼き込み/BGM

押したときだけ
入力
  • 音声付き動画
  • 確定したテロップ
  • 曲調の指示(任意)
処理 文字を映像に描き込みます(後から直せないので、押したときだけ実行)。
BGMはAIが曲を作って重ねます。元の版は消さずに残すので、やり直せます。
出力
  • テロップ入り動画
  • BGM入り動画
倉庫 renders/…_telop.mp4 / …_bgm.mp4
12

出す前の確認

機械最後は人が決める
入力
  • 出力の一式
  • 映像の時間割
処理 12項目を判定します。形が壊れているものは見せる前に自動で直します (字幕のはみ出し・テロップの重なりなど)。直した内容も画面に出ます。
出力
  • 合格/要確認/要修正
  • 打つ手(どのボタンを押すか)
帳簿 outputs.quality_json

赤が出ても処理は止めません。 文章も音声も出来ているので捨てるのは損で、人が見て決めるほうが安いためです。 ただし赤のまま公開しないでください。

8. 元動画に入っている音は、いまどう扱われるか

ご質問の点です。いまは自動で決まり、選べません。判定の分かれ道は「元動画に人の声があるか」の1つだけです。

元動画の音 歌・声・環境音 機械が判定 人の声・歌がある (文字起こしに1字でも出れば) 元の音を 0 にする =完全に消える 環境音・音楽だけ (喋っていない) 15% で残す =うっすら聞こえる 音声付き動画 + AIナレーション この分かれ道を、画面から選ぶことはできません
なぜ消すのか=ナレーションと二重に喋るのを防ぐためです(2026-08-08 の修正)。 元の声を15%で残していた頃、日本語の声が鳴り続けたまま外国語ナレーションが乗り、外国語版が使えませんでした。

そのため、いまはこうなります

歌・演奏・お客様の声など「その場の音が主役」の動画でも、消えます。 実例=8/13にお作りいただいた「経営者パーティー」(ステージの歌が入った22秒)は、 歌が発話と判定されて完全に消え、英語ナレーションに置き換わりました(実測で確認済み)。

回避する道がいまはありません。 元の音の量を画面から変えることも、ナレーション無しで文字だけ焼くことも、 連結後の映像だけを取り出すこともできません。

9. 実際に3つ作って比べました

お預かりしている「経営者パーティー」の素材(22秒・ステージの歌入り)で、同じ映像・同じ文字のまま音だけを変えて試作しました。 データは書き換えていません。どれも既にある部品だけで作れています。

元の歌ナレーション画面の文字状態
A いまの出力 消える0倍) あり(英語・AIの声) まだ焼いていない いま自動でこうなります
B 元の音を残す そのまま1.0倍) あり(重なって鳴る) まだ焼いていない 試作OK。ただし歌と声が同時に鳴ります
C 元の音のまま文字だけ そのまま(ステレオのまま) 載せない 9枚を焼き込み済み 試作OK。歌が主役の動画はこの形

試作して分かったこと

C は、いまある部品だけでそのまま作れました。 焼き込みの処理は「どの動画に文字を焼くか」を受け取る作りなので、 声を重ねる前の映像を渡せば、元の音のまま文字だけが乗ります(実測22.29秒・元の音はステレオのまま)。

足りないのは画面にその選択肢が無いことだけです。

足すとしたら、この3つ

  • 元の音を消す/小さく残す/そのままを画面で選ぶ
  • ナレーションを載せないを選べるようにする(=C の形)
  • 元の音とナレーションの音量バランス

いずれも工程09の1か所です。先に決めていただきたいのは「この店舗ではどれを既定にするか」で、 店舗ごとに持たせれば毎回選ばずに済みます。

いま(実装前)に元の音を活かすなら

この仕組みを通さず、お手元の素材をそのまま投稿することになります。 その際は字幕A(元の声に付ける字幕・多言語)をダウンロードしてお使いいただけます。 ただし構成・テロップ・BGMは付きません。

10. 出てくる4つの版と、その依存関係

成果物は別々のファイルとして併存します。上書きしないので、いつでも前の版に戻れます。 ただし後ろの版は前の版から作るので、前を直したら後ろは作り直しが必要です。

① 音声だけ 声だけ。映像なし +映像 ② 音声付き動画 文字は入っていない +文字 ③ テロップ入り 焼き込み済み +音楽 ④ BGM入り これが最後の版 前を直すと、後ろは古いまま残る → 画面が「作り直してください」と出す
例=テロップを焼いたあとに声を変えると、テロップ入りは古い声のままです。 画面はどの版が古いかを判定し、押すべきボタンまで案内します

11. データはどこに、どう残っているか

帳簿(表)は4つだけ、倉庫(ファイル置き場)は3つだけです。 言語や型はコードに書かず、表の行として持っていますので、言語を増やすときはプログラムを触りません。

置き場何が入っているか1件の単位
shops(店舗)店名/固有名詞の辞書(表記・読み・訳・出典)/使ってはいけない言葉/テロップの型店舗1つ
languages(言語)言語コード・表示名・ON/OFF・基準言語か・字幕の最大字数・声・読む速さ言語1つ
jobs(依頼)素材の場所/状態/事実メモ/構成と時間割/所要時間/API回数/費用依頼1件
outputs(出力)投稿文・字幕A・字幕B・ハッシュタグ・読み上げ原稿・テロップ・音声と動画の場所・品質判定・来歴依頼×言語
videos(倉庫)お預かりした素材と、連結した映像ファイル
audio(倉庫)作った音声・録っていただいた肉声ファイル
renders(倉庫)音声付き動画・テロップ入り・BGM入りファイル

来歴(あとから辿れること)

1件ごとにどの素材・どの型(版つき)・いつ・何回APIを呼んだかを残しています。 「なぜこの文になったか」を後から説明できます。

人が直した所は上書きしません

テロップ・投稿文・原稿など人が手を入れたものは、作り直しても消えません。 ただし時間と並びだけは映像に合わせ直します(何枚動かしたかを画面に出します)。

12. いまできないこと(聞かれる前に)

実装から確認できている範囲で、正直に並べます。

できないこといまの状態
元動画の音を活かす人の声・歌があると自動で消えます。選べません。ただし試作では作れました(3-2章)
ナレーション無しの動画4つの版すべてが声を載せる前提です。試作では作れました(3-2章のC)
音の大きさ実測 -26.5 LUFS。SNSの目安(-14前後)より12dB以上小さいです。次に直します
ナレーション中にBGMを下げる喋っている間も同じ音量で鳴ります
表紙(カバー)の指定先頭のコマ任せです
カットを音楽に合わせるカットの長さは素材都合で決まり、BGMは最後に載せるだけです
横向き素材左右が切れます(縦での撮影をお願いしています)
文言が画に合っているかどの画に出すかは機械が確かめますが、言葉と映像の中身が合っているかは人が見ます
第3部

なぜこう作ったか

技術の選定理由と、かかった時間

13. 全体の方針 — 先に決めた4つ

個々の技術より先に、この4つを決めてから部品を選びました。 どれも「あとで変えられるようにする」ための決めごとです。

① 質より先に、導管を通す

最初にやったのは「動画1本を入れて、全言語のテキストが出る」を1回通すことだけです。 質を上げる工夫は後回しにしました。

なぜ=通してみないと、どこが本当の詰まりかが分からないためです。実際、詰まったのは 生成の質ではなく音の扱い・文字と画の対応でした。先に質を作り込んでいたら、そこは触れていません。

② 変わるものはデータで持つ

言語・プロンプト・声・テロップの型・辞書は、コードに書かず表の行として持ちます

なぜ=言語を1つ増やすのに開発が要る作りだと、増やすたびに費用と時間がかかるためです。 いまは表に1行足すだけで、プログラムは触りません。

③ 鍵はブラウザに出さない

AIの鍵を持つのは実行サーバだけ。画面にできるのは「依頼を出す」「結果を読む」だけです。

なぜ=ブラウザの中身は誰でも見られます。鍵を置くと、リンクを知った第三者がAIを使い放題になり、 請求だけがこちらに来ます。1日の実行本数にも上限を付けています。

④ 人が直せる口を最初から通す

自動で出したものを、そのまま公開しない作りにしました。あとから足すのではなく、最初から通してあります。

なぜ=生成物は必ず外します。外したときに直せないと、作り直すしかない=そのぶん費用と時間がかかるためです。

14. 技術スタックと、選んだ理由

各カードは「何のために・なぜそれか・代わりに何を見送ったか」の3点セットです。 見送った案も残してあるので、前提が変われば戻せます。

Supabase

動画の倉庫+作業の帳簿(PostgreSQL)
何のために
  • 数百MBの動画を預かる置き場
  • 進捗と結果を書く台帳(4つの表)
  • 画面と実行サーバが同じものを見るための共通の置き場
見送った案 倉庫・DB・権限を別々に契約する
管理も請求も3つに増え、つなぎ込みの手間も3倍になります。

選んだ理由倉庫・帳簿・権限が最初から1つに揃っていること。 加えて、処理に数分かかるので途中経過を書く場所が必須でした。画面を閉じても処理が続き、 あとで開くと終わっているのは、進捗が帳簿に書かれているからです。

Cloudflare Workers

受付(画面を配る・合言葉・依頼の取り次ぎ)
何のために
  • 操作画面を配る
  • 合言葉(ID・パスワード)で入口を守る
  • 「実行して」の依頼を、内部だけで実行サーバへ渡す
見送った案 実行サーバを直接インターネットに出す
公開URLを持つと、鍵の管理と攻撃対策を自前で背負うことになります。

選んだ理由実行サーバに公開URLを持たせないため。 受付を通らないと触れない形にすると、③(鍵を出さない)が構造として守られます。

Cloudflare Containers + Docker

実行サーバ(AIの鍵を持つ唯一の場所)
何のために
  • 動画を取り出し、AIに渡し、結果を帳簿に書く
  • ffmpeg を積んでおくため(音を重ねる・文字を焼く)
  • 弊社のPCを不要にする
見送った案 Render(構成ファイルは残してあります)
Supabase Edge Functions(Deno)はffmpeg を起動できないため、動画処理には使えません。

選んだ理由新規アカウントも鍵の貼り付けも要らず、既に使っている道具だけで完結すること。 コードは1行も変えずに置き場所だけ移しました(Macでもコンテナでも同じ出力になることを実測で確認)。 設定の意図=同時に2つ動かさない(同じ依頼を二重に処理してAPI枠を倍使うため)/使わない間は寝かせる(課金を止めるため)。

Gemini(Google)

動画を見る・訳す・声にする・曲を作る
何のために
  • 動画をそのまま渡して内容を理解させる
  • 言語ごとの翻訳と清書
  • 読み上げ音声(5種の声)
  • BGMの生成
見送った案 用途ごとに別のサービスを組み合わせる
(動画解析+翻訳+音声合成+音楽生成=契約4つ・鍵4つ・請求4つ)

選んだ理由この4役を1つの鍵で賄えること。 特に「動画をそのまま渡して理解させられる」点が大きく、音声を書き起こしてから解析する2段構えが要りません差し替えは想定しています=プロンプトは外部ファイル、言語は表の行なので、 別のAIに替えても土台(倉庫・帳簿・工場・受付)は作り直しになりません。

ffmpeg

映像と音の加工(重ねる・繋ぐ・焼く)
何のために
  • 素材を縦9:16に揃えて繋ぐ
  • ナレーションを映像に重ねる
  • テロップを映像に焼き込む
見送った案 クラウドの動画編集API
1本ごとに費用がかかり、細かい制御(元音の量・文字の位置)が効きません。

選んだ理由これ以外に現実的な手段が無いため。 工夫として映像は作り直さず、音のトラックだけ差し替えます。 小さい箱(1/4 vCPU)でも実時間の何分の一かで終わり、画質も落ちません。

React + Vite(既存モックの流用)

操作画面
何のために
  • アップロード・実行の依頼・進捗表示・結果の編集
見送った案 画面を作り直す
先にお見せしたモックがあり、作り直すと同じ画面をもう一度作ることになります。

選んだ理由既にあるものを流用し、足したのは4つのやり取りだけ (アップロード/実行の依頼/進捗の表示/結果の表示)。 画面を描き直さないと決めたことで、P1の作業を土台づくりに集中できました。

依存ライブラリを増やさない

方針(技術そのものではない)
何のために
  • 資料のMarkdown変換・時間の割り当て・検査などは自前の短いコードで書く
見送った案 汎用ライブラリを都度入れる
動く範囲は広がりますが、更新・脆弱性・仕様変更を抱え込みます。

選んだ理由後から読む人の負担。 使う機能が限られている所にライブラリを入れると、読む対象が増えるだけです。 いま本体が使っている外部の部品は4つだけです(AI・Supabase・React・アイコン)。

15. 途中で変えた判断(変えた理由つき)

やってみて分かったことで、方針を変えた所です。変えた事実と理由を残しておくと、 同じ議論を二度しなくて済みます。

日付変えたことなぜ変えたか
08-02 弊社PCでの実行 → クラウドへ移設 「こちらがPCを開いていないと御社が実行できない」形だと、御社だけで完結しません。 着手前に「誰がいつ触るか」を確認していれば避けられた手戻りです(実測1.6H
08-08 元の声を一律15%残す → 発話があれば消す 元の声が残ったまま新しいナレーションが乗り、2人が別のことを喋る状態になっていました。 外国語版では日本語の声が鳴り続けて使えません
08-08 字幕1種類 → 2種類(元の声用/差し替え用) 「元の音のまま出す」のと「声を差し替える」のとでは、合う字幕が違います。 取り違えると聞こえる声と字幕が食い違います
08-08 目視での確認 → 機械が12項目を判定 見つかった不具合がどれも「出来上がった」と保存されてから人が気づいたものでした。 基準を資料に書くだけでは同じことが起きます
08-11 第4段階「3案から選ぶ」 → 1本を直せるようにする 3案を出しても良いものが無ければ選べません。同じ素材から3本作るより、 1本を直すほうが速く、費用も少なくて済みます
08-13 テロップを全体の要約から作る → 画ごとに作る 文字と映っているものが食い違っていました(チキンの文字が冷麺の画に)。 時間だけを文字数で割っていたのが原因で、画の切り替わりとは無関係でした
08-14 元の音の扱い(これから 歌・演奏が主役の動画でも、いまは自動で消えます。 選べるようにする必要があります(試作では既存の部品だけで作れました)

16. なぜこれだけの時間がかかったのか

まず数字を出します。AIと対話していた時間はログから実測できます(2026-07-19〜08-15)。

実測

AI対話 38.7 H
セッション58回 / 人が打った指示 179件

この数字に入っていないもの

一次情報の裏取り・生成物の目視確認・エラーの再現・外部サービスの設定と課金・テスト待ち・技術選択の判断。 8/5 までの実測では、この「外側」が 13.9H あり、AI対話(14.1H)とほぼ同じでした。

8/5以降は打刻が途切れており、正確な数字がありません(推定値は出しません)。

1) 何に使ったか(段階別・実測)

第1段階を通す8.1H
運用に載せる13.4H
第2段階(音声)6.7H
第3段階(編集)4.6H
修正と報告5.8H

いちばん大きいのは「運用に載せる」13.4Hで、機能を増やした時間ではありません。 弊社PCを外してクラウドへ移す・自動で復帰する・事実の裏取りを機械にやらせる・辞書を自動で作る、 といった毎回発生する人手を先に潰すための時間です。

2) 時間の正体は3つ

① AIが短縮するのは「書く時間」だけ

渡す前(何を作るか決める・素材と事実を揃える)と、受け取った後(見て・直して・確かめる)は減りません。 8/5の実測では、この外側がAI対話と同じ量ありました。

「AIなら3時間」という見立てはコードを書く時間としては正しく、実測でも 第1段階のコア実装は4.7Hでした。差が出るのは外側です。

② 指示の半分は「人が動いた結果」を渡す作業

179件の内訳です。

  • 純粋な実装依頼 … 91件(51%)
  • 生成物・画面を見た結果 … 29
  • 仕様・方針の判断 … 20
  • 外部サービスの設定・課金 … 19
  • エラーの報告(動かして踏んだもの) … 15
  • 事実の訂正(一次情報にもとづく) … 5

③ 実物を作らないと分からない欠陥

下の6つはすべて「出来た」と保存されてから、人が実物を見て気づいたものです。 設計段階では見つけようがありませんでした。

  • 声が二重に鳴る
  • 音が尺の3割で終わる
  • 字幕と声が別物
  • 並べ替えが動画に反映されない
  • 文字が1カットぶんずれる
  • 元の音が消える(対応中)

3) 削れたはずの時間(こちらから出します)

何が実測どうすれば防げたか
手戻り(共有リンクを作った翌日にクラウドへ作り直し)1.6H 着手前に「誰が・いつ・どこから触るか」を確認する
API無料枠による分断(1日3本しか検証できず、修正の確認が翌日へ)1〜2H 制約に気づいた日に課金する(気づいた7/31から有料化8/3まで3日空けた)
資料の作り込み過多(同時期に公開資料を4種類)1〜2H 実装が確定してから1本だけ作る

この期間に何を作っていたか(規模ではなく、目的で)

コア実装以外の大半は、上の「外側13.9H」を次回から機械にやらせるための実装でした。 辞書の自動生成(一次情報からの裏取りを削る)・事実の機械検査(目視を削る)・ 失敗の自動切り分けと再試行(エラー再現を削る)・出す前の12項目判定(見落としを止める)。

店舗が増えるほど、この差は効きます。手間のかかる確認(辞書づくり)は新店1回きりで、 2本目以降の動画には自動で適用されます。

17. 聞かれたときの答え方(3行)

質問答え
なぜこの技術か 鍵を1つに、契約を1つに、置き場を1つに寄せるため。差し替えられる形にしてあるので、 前提が変われば土台を作り直さずに替えられます
なぜ時間がかかったか AIが短縮するのは書く時間だけで、実測ではその外側が同じ量ありました。 いちばん大きい13.4Hはその外側を機械に肩代わりさせるための実装です
次はもっと速くなるか 2店舗目以降は速くなります。辞書づくりは新店1回きり、 土台(倉庫・帳簿・工場・受付)は作り済みで、増えるのは工程だけだからです