Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LT準備のToilを削減 〜決定論×確率論のスライド生成CLI〜

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

LT準備のToilを削減 〜決定論×確率論のスライド生成CLI〜

頻繁に行うLT(ライトニングトーク)の資料準備にかかる手作業(4〜6時間)を「Toil(労苦)」と定義し 、エンジニアリングの力で大幅に削減(最大88%削減)した取り組みについて紹介しています 。

生成AIにスライド作成を丸投げした際に出現する「もっともらしい違和感(自分の言葉になっていない、細かいズレ)」の正体をLLMの特性から紐解き 、「揺れていい仕事(確率論)」と「揺れちゃダメな仕事(決定論)」の境界線を明確に引いたスライド自動生成CLIツールの設計思想と実装について解説しています 。

めぐろLT #36 「オペレーションに立ち向かった話」@麻布台 にて発表させていただきました
https://meguro-lt.connpass.com/event/379339/

Avatar for Shu Kobuchi

Shu Kobuchi

May 18, 2026

More Decks by Shu Kobuchi

Other Decks in Technology

Transcript

  1. 2 Copyright © 3-shake, Inc. All Rights Reserved. 自己紹介 •

    小渕 周(Shu Kobuchi)こぶシュー • X: @shu_kob • 2023年12月スリーシェイク入社 ◦ Sreake 事業部 ◦ アプリケーション開発支援チーム エンジニア ◦ 生成 AI アプリケーション開発等 ◦ Gemini、Google Cloudを使用 ◦ 2025年1月からマネージャー
  2. 3 Copyright © 3-shake, Inc. All Rights Reserved. 背景 •

    LT登壇は多いときで月に複数回 • 発表のたびに、毎回ゼロからスライドを並べている • 内容も構成も毎回異なるため、効率化が難しい • 準備がToil(労苦)
  3. 4 Copyright © 3-shake, Inc. All Rights Reserved. 私のToil: LT前の手作業

    • 構成を考える → スライドに並べる → 装飾する • 挿絵を一枚一枚探す or 描く • 「やっぱりこの順番変える」で全スライドずらし • 合計 4〜6 時間 / LT 1本
  4. 5 Copyright © 3-shake, Inc. All Rights Reserved. 最初に試した: AIに丸投げ

    • NotebookLM、Claude PPTXのスライド機能、… • テキストも構成も AI に書かせてみた • 結果: もっともらしい違和感 ◦ 自分の言葉になっていない ◦ 細かい数字や用語が微妙にズレる
  5. 6 Copyright © 3-shake, Inc. All Rights Reserved. なぜズレるか: LLMは確率モデル

    • LLM = next-token prediction = 確率分布 • 同じ入力でも揺れる / もっともらしい嘘 (ハルシネーション) • LT資料に求められるのは 決定論 = 自分の正確な言葉 • ミスマッチが「違和感」の正体
  6. 7 Copyright © 3-shake, Inc. All Rights Reserved. 境界線を引いて使い分ける 揺れていい仕事

    / 揺れちゃダメな仕事 • テキスト (タイトル/箇条書き/表) → JSON で固定 (決定論) • 挿絵プロンプト整形 + 画像生成 → AI に任せる (確率論) • テーマと実装思想を一致させた
  7. 8 Copyright © 3-shake, Inc. All Rights Reserved. deck-blueprint-template の構成

    2層パイプライン https://github.com/shu-kob/deck-blueprint-template • 入力: docs/slides.json (ソースコードから作成し調整・決定論) • Layer A 挿絵 (確率論): Gemini → プロンプト整形 → Imagen → PNG • Layer B 組立 (決定論): Slides API batchUpdate で 構造を一気に書き込み ◦ 冪等(べきとう): 何度走らせても同じ結果
  8. 人間側も2段:発想と構造に境界線を引く 全体像:人間語 → 機械語の変換パイプライン 人間側 / 確率論 slide_outline.md (原本・自然言語) 「言いたいこと」「話し方」を妥協せず人間がレビュー

    機械的対応規則 slides.json (Pydantic スキーマで検証) 機械が読める形式に厳格にバインド Layer A / B 自動生成実行 画像生成(Imagen) + Slides API 組立 「内容」と「形式」を分ける理由 1段でやろうとすると必ず破綻する。文書設計そのものが 「確率論(発想)と決定論(構造)」の体現。 変換規則:ほぼ機械的に当てるだけ outline.md 表記 slides.json レイアウト/補足 ### N. セクション名 **見出し** **箇条書き** **テーブル** **左 / 右** **話す** **画像** "index": N "title" "bullets[]" "table[][]" "compare": {} "speaker_notes" "image": {} 1-indexed 必須項目 アーキ図も畳む "layout": "table" "layout": "compare" 口語のまま prompt > 10文字 Copyright © 3-shake, Inc. All Rights Reserved.
  9. 10 Copyright © 3-shake, Inc. All Rights Reserved. 実装の壁: Google

    Workspace の3つの罠 罠 何が起きた 回避策 gcloud ADC Slides スコープ追加が組織で拒 否 サービスアカウントへ切替 SA の Drive 容量 storageQuota.limit=0 で 403 SAにファイルを作らせない設計 Gemini 3 の location us-central1 で 404 location=global でクライアント分 離
  10. 11 Copyright © 3-shake, Inc. All Rights Reserved. 抜け道: SA

    + GCS public バケット • Slides本体: ユーザーがブラウザで slides.new → SA に編集権共有 • 挿絵: Cloud Storage の public バケットに置く • Slides API createImage に GCS URL を渡す • 貼付後はオブジェクト削除で OK (Slides が内部にコピー)
  11. 12 Copyright © 3-shake, Inc. All Rights Reserved. Before /

    After: 〜88% 削減 Before (手作業) • 構成 + 並べ + 装飾: 4〜6 時間 • 挿絵探し: +30 分 • 構成変更で全スライドずらし After (CLI) • 骨子JSON書く: 30 分 • CLI 実行 (画像生成込): 5 分 • 構成変更は JSON 編集 → 再実行 (冪等)
  12. 13 Copyright © 3-shake, Inc. All Rights Reserved. Toil を

    Engineering で消す ― 2回目から効いてくる • "Toil" の元ネタは Google SRE Book → 解は engineering effort で潰す • セットアップ (CLI / SA / GCS / 設計判断) = 既に溶かした時間、 もう払い終わった • 今後の別勉強会から毎回 35 分 — 真の回収はここから始まる