Googleスライド完成までの流れ
1.Gemに原稿を渡す
スライドの原稿をGemに渡します。
LLMが解析できるデータならなんでも良いです。
今回は、過去に執筆したNewRelicに関するブログのテキストデータを原稿にします。
原稿を投入すると、Gemがカスタムプロンプト内で予め定義されているスキーマに従ったJSON形式に変換して出力してくれるので、これをコピーします。
2.スライドの生成のアドオン実行
空のGoogleスライドでアドオンを実行し、1でコピーしたJSONを投入。
3.スライド完成!
どういう仕組みか
結論言っちゃうと、少し前にバズった、まじん式プロンプトを参考(ほぼパクry)にしています!
まじん式プロンプト、プロンプト自体も凄いんですが
レイアウトは人間がガチガチに固めたうえで、そのレイアウトに当て込むスライドデータのみをAIに出力させることで、生成物の品質をあげるという、このアプローチが素晴らしいと思います。
これは、AIを使ったアプリケーションの開発全般に活きる考えだと思います。
この素晴らしい考えを大いに参考にさせてもらいつつ、メンテナンス性、ユーザビリティを向上するカスタマイズを加えたものが、本記事で紹介する方法です。
まじん式では、スライドデータに加えて、スライドデータを元にスライドを生成するGAS、スライドデータを当て込むレイアウトテンプレートも全て一つのプロンプトに詰め込まれてますが、私はこれを以下のように改修してします。
1.Gemのシステムプロンプトは、スライドデータを作成させることだけに特化
これにより、プロンプトを軽量化、メンテナンス性を向上。
プロンプトはこちら
2.スライドデータからスライドを作成するGASは、アドオンとしてGoogle Workspace Marketplaceに公開、Workspace内のユーザ(社内のユーザ)に配布
これにより、配布性、メンテナンス性を向上。
GASのソースコードはこちら
3.スライドデータを当て込むレイアウトテンプレートは、テンプレート用プレゼンテーションとして別で管理し、レイアウトの修正もGoogleスライド上で実施
これにより、メンテナンス性を向上。
ただし、レイアウトテンプレートをコードで表現しているまじん式と比べて、柔軟性は落ちている。
メンテナンス性とのトレードオフにはなってしまうが、レイアウトテンプレートの修正をプログラミングができない人でもできるのは、大きなメリットと感じている。
レイアウトテンプレート上のプレースホルダへのテキスト挿入はGASの組み込みメソッドである「replaceAllText」を主に使用している。
※表タイプのレイアウトテンプレートだけ、列と行の可変に対応する為、別のアプローチを取っている
さいごに
カンが良い方なら、既に気が付かれてると思いますが、この方法、重要なのは人間が予め用意するレイアウトテンプレートです。
このレイアウトテンプレートの豊富さ、デザイン性で、この方法が実務で使えるかどうかが決まるといっても過言ではありません。
私はデザインセンスが無い & あまり普段からプレゼンテーションを作らないので、現状ではレイアウトテンプレートが乏しい感じですが、可能性を感じませんか?
プレゼンテーションの作成に忙殺されてるけど、「サードパーティのスライド作成AIエージェントなんて業務で使えないよ・・・」って方、是非このブログを参考に、この可能性を広げて貰えたらなと!
つい先日、Gemを他のユーザにも共有できるようにもなったので、Gemとアドオンを作って公開すれば、ユーザが行う事前作業はアドオンのインストール(超簡単)だけです!
あとは、原稿となるデータを用意するだけで、会社のフォーマットでGoogleスライドが自動生成できる為、社内への普及もしやすいと思います!
是非、お試しを!
最後に、「まじんさん、非常に勉強になるnoteの公開、ありがとうございます!」