AIにスライドを作らせるために必要だったこと
仕事でクライアント向けの分析レポートをスライドにする機会が多い。これまではマークダウンで分析結果を書いて、そこからスライドに手作業で移していた。
この工程が、地味に重い。レイアウトを揃えて、フォントを統一して、チャートを作って、色を合わせて。内容は決まっているのに、体裁を整えるだけで数時間かかる。
そこで、マークダウンを入力するとスライドが出力される仕組みをAIと一緒に作った。やってみて分かったのは、「生成する」より「品質を安定させる」ほうがずっと難しいということだ。
自由にさせると、品質がブレる
最初は「分析結果をスライドにして」とAIに投げていた。できるにはできる。でも毎回、色が違う。フォントが違う。レイアウトのクセが違う。
人間がスライドを作るときは、無意識にルールに従っている。「見出しはこの色」「本文はこのサイズ」「余白はこれくらい」。その暗黙のルールをAIは持っていない。
だから、ルールを全部書き出す必要があった。
デザインシステムを定義する
やったのは、使える色・フォント・文字サイズを全部定義して、それ以外を禁止すること。
色は十数色のパレットに固定した。見出し用、本文用、アクセント用、チャート用。パレット外の色は使えない。
フォントは3種類だけ。見出し用、本文用、数値用。それ以外は禁止。
文字サイズは6段階。表紙は36pt、見出しは24pt、本文は14pt、補足は10pt。12pt以下は補足テキスト限定。
こういう制約を先に決めておくと、AIが何を選んでも一定の品質に収まる。制約がないと「AIの気分次第」になる。これはスライドに限らず、AIに成果物を作らせるときの一般的な原則だと思う。
レイアウトを「積み上げ方式」にする
スライドのレイアウトは、座標指定だと破綻しやすい。「見出しをY=0.6インチ、チャートをY=2.0インチに配置」みたいにやると、要素の数や高さが変わったときに位置がズレる。
そこで、上から順にコンポーネントを積んでいく方式にした。HTMLのブロックレイアウトと同じ発想だ。
KPIボックスを置く。次にチャートを置く。次にテキストを置く。それぞれの高さは自動計算される。残りスペースが足りなくなったら、次のスライドに分割する。
座標を手で指定するのをやめて「次はこのコンポーネント」と宣言的に記述するようにしたら、レイアウト崩れが激減した。
一番難しいのは品質チェック
生成自体より、品質チェックのほうが難しかった。
テキストの照合は機械的にできる。マークダウンの内容がスライドに全部反映されているか、プレースホルダーが残っていないか。
問題はビジュアルだ。テキストがボックスからはみ出していないか、要素が重なっていないか、余白は十分か。これはテキストだけ見ても分からない。
そこで、生成したスライドを画像に変換して、別のAIに検査させるフローを入れた。生成した側とは別の目でチェックすることで、見落としを減らす。
それでもゼロにはならない。特に日本語テキストは、フォントの幅の推定が英語と違うので、はみ出しが起きやすい。ここは正直、まだ試行錯誤している。
AIに任せるとは、自分を言語化すること
スライド生成を自動化して、体裁を整える時間は劇的に減った。でもそこに至るまでに、デザインルールの言語化、レイアウトロジックの設計、品質チェックの仕組み作りが必要だった。
結局、AIに仕事を任せるということは、自分が暗黙にやっていた判断基準を全部書き出すということだ。
「この色は見出し用」「本文は14pt以上」「残りスペースが足りなければ分割」。こういう判断を、人間は無意識にやっている。AIにやらせるには、それを意識に上げて、ルールとして記述する必要がある。
大変だけど、一度書き出したルールは再利用できる。次からは同じ品質を安定して出せるようになる。自動化の本質は、作業を省くことではなくて、判断を安定させることなのかもしれない。