co-deck: AIプレゼンテーションの実践
co-deckは、AIエージェントチームがプレゼンテーション(講義資料、発表スライド)を制作するシステムです。この章ではco-deckの11段階パイプラインを理解し、実際にミニプレゼンテーションを作ってみます。
- co-deckシステムの紹介とアーキテクチャ
- 11段階パイプラインの理解
- テーマ(Theme)とスタイル(Style)の選択
- ゲート承認(Gate 2: 内容、Gate 5: サンプルPDF)
- 演習: ミニプレゼンテーションを作る
- HTMLとPDFの成果物を確認する
co-deckとは
定義
co-deckはAIエージェントチームがプレゼンテーションを制作するシステムです。第5章で見たai-workspace-standardsのバリアントの一つとして、複数のAIエージェントが協力して、講義資料、会議発表、講演スライドなどの高品質なプレゼンテーションを自動生成します。
場所: ai-workspace-standards内のtemplates/co-deck/ — bun scripts/new-project.ts "<name>" --variant co-deckで自分専用のコピーをスキャフォールドできます。
どんな成果物を作るのか?
co-deckは2種類の成果物を生成します。
- 単一ファイルHTMLスライドデッキ — すべてのスライド・画像・スタイルが1つのHTMLファイルに収まった自己完結型のウェブプレゼンテーションです。ブラウザで直接開いて発表でき、レスポンシブ対応とインタラクティブ機能を備えています。
- PDF — 印刷用・配布用のPDFファイルです。レイアウト、フォント、色が保持されるため、共有と保管に適しています。
co-consultとの違い
第6章で学んだco-consultが戦略分析とレポート作成に特化しているのに対し、co-deckはプレゼンテーションスライドの制作に特化しています。どちらのシステムもai-workspace-standardsをベースにしていますが、目的もエージェント構成も異なります。
co-deck
- プレゼンテーションスライドの制作
- research、storyline、html-build、pdf-exportなど
- 11段階パイプライン
- 成果物: HTMLスライド + PDF
co-consult
- 戦略コンサルティングの分析とレポート
- research、data-analyst、market-analyst、strategyなど
- PMディスパッチによる7フェーズ(Phase 0〜6)コンサルティングワークフロー
- 成果物: 分析レポートHTML + PDF
システムアーキテクチャ
エージェント構成
co-deckはPMエージェント1体と10体の専門エージェントで構成されます。PMが中心になってプロジェクト全体を調整し、専門エージェントがそれぞれの領域の作業を行います。
専門エージェントの役割
各専門エージェントの役割をまとめると次のとおりです。
| エージェント | 役割 | 説明 |
|---|---|---|
research |
リサーチ専門家 | ウェブからテーマ関連の資料・統計・出典を収集し、research_notes.mdに整理します |
source-verifier |
ソース検証者 | 収集した出典のURLアクセシビリティと内容の一致を検証し、信頼スコア(Trust Score)を算出します(任意) |
storyline |
ストーリーライナー | リサーチ結果をもとにスライド全体の構造とナラティブを設計します。storyline.mdとslide_deck.mdを作成します |
design |
デザイナー | 色、フォント、レイアウトなどのビジュアルスタイルを決め、design_spec.mdに整理します |
image-curator |
画像キュレーター | Pixabay、Unsplash、Pexelsから商用利用可能な画像を検索・ダウンロードします(任意) |
diagram-specialist |
ダイアグラム専門家 | 概念ダイアグラムやデータチャートをSVG形式で生成します(任意) |
html-build |
HTMLビルダー | slide_deck.mdとdesign_spec.mdをもとに単一ファイルのHTMLスライドデッキを生成します |
measure |
レイアウト計測器 | HTMLスライドのピクセル座標、フォント、色を測定し、PDF生成に必要なレイアウト情報を収集します |
pdf-export |
PDFエクスポーター | 5ページのサンプルPDFと全体PDFを生成します。Gate 5でのユーザー承認が必要です |
version |
バージョン管理者 | ファイル変更前に自動バックアップを行います。以前のバージョンへの復元も可能です |
11段階パイプライン
co-deckは11個のStageからなるパイプラインに沿ってプレゼンテーションを制作します。各Stageには担当エージェントが決まっており、定められた成果物を出力します。Stageの間にはGateという承認地点があり、ユーザーは途中で内容をレビューして方向修正できます。
Stageごとの核心成果物
-
Stage 0 — Config(プロジェクト設定)
PMがユーザーと打ち合わせて、プロジェクトのテーマ、対象読者、言語、Theme、Styleを確定します。この段階でlecture-profile.mdとproject_state.jsonが生成されます。 -
Stage 1 — Research(リサーチ)
researchエージェントがウェブ検索を通じて関連資料・統計・出典を収集します。成果物はresearch_notes.mdで、スライド制作全体の情報基盤になります。 -
Stage 1.5 — Source Verifier(ソース検証・任意)
source-verifierエージェントが収集した出典のURLアクセシビリティと内容の一致を検証します。信頼スコア(Trust Score)を算出し、70%未満ならプロジェクトが一時停止します。 -
Stage 2-3 — Content(ストーリーライン + スライドデッキ)
リサーチ結果をもとにstorylineエージェントがスライド全体の構造(storyline.md)とスライドごとの内容(slide_deck.md)を設計します。Gate 2でユーザーがスライド内容を承認します。 -
Stage 4 — Design(デザインスペック)
designエージェントがカラーパレット、フォント、レイアウトなどのビジュアルスタイルを決め、design_spec.mdに整理します。 -
Stage 3.5 — Image Curation + Diagram Generation(並列)
image-curatorとdiagram-specialistが並列で実行されます。スライドに使う画像を検索・ダウンロードし、SVGダイアグラムとチャートを生成します。 -
Stage 5-8 — HTML Build(HTMLスライド生成)
html-buildエージェントがslide_deck.mdとdesign_spec.mdをもとに、単一ファイルHTMLスライドデッキ(lecture_v1.html)を生成します。 -
Stage 9-10 — Layout Measure(レイアウト計測)
measureエージェントがHTMLスライドのピクセル座標、フォント、色を測定し、PDF生成に必要なレイアウト情報を収集します。 -
Stage 11 — PDF Export(PDF生成)
pdf-exportエージェントがまず5ページのサンプルPDFを生成します。Gate 5でユーザーがサンプルPDFを確認・承認すると、全体PDFが生成されます。
テーマ(Theme)とスタイル(Style)
co-deckはThemeとStyleという2つの概念でプレゼンテーションの外観を制御します。この2つは独立して選べますが、互換性のある組み合わせが決まっています。
Theme — HTMLレンダリング構造
ThemeはスライドのHTMLレンダリング構造を決定します。レイアウト方式、ナビゲーション構造、スライド切り替え効果、TOC(目次)の表示方法などがThemeによって異なります。
利用可能なThemeは次のとおりです。
| Theme | パラダイム | 特徴 |
|---|---|---|
pitch |
ppt-engine | 伝統的なPPTスタイル。下部フッターバー、前へ/次へボタン、TOCドロワー |
pitch-enhanced |
ppt-presenter | 高機能PPTスタイル。トランジション選択、台本トグル、タイマー、TTS対応 |
outline |
outline | アウトライン形式。TOCドロワー + 下部バー、多様なスライドタイプ対応 |
vertical |
vertical-scroll | 縦スクロール。スティッキー上部バー、自動進行、進捗バー |
zen |
zen | シンプルなスタイル。TOCドロワー + 下部バー、トランジション選択 |
outlook |
horizontal-scroll | 横スクロール。TOCオーバーレイパネル、自動再生対応 |
Style — CSS変数セット
StyleはスライドのCSS変数セットを決定します。カラーパレット、フォント、余白、背景色などの視覚スタイルがStyleによって異なります。
利用可能なStyleは次のとおりです。
| Style | 特徴 |
|---|---|
classic |
すっきりしたライトスタイル。明るい背景に濃い文字。最も幅広く互換 |
minimal |
ミニマルスタイル。装飾を抑え、コンテンツに集中 |
premium-dark |
プレミアムダークスタイル。暗い背景に明るい文字、洗練された印象 |
academic |
アカデミックスタイル。教育用プレゼンテーションに適合 |
visual-heavy |
ビジュアル中心のスタイル。画像の多いプレゼンテーションに適合 |
Theme × Styleの互換性
すべてのThemeとStyleが互換するわけではありません。THEMES.mdに定義された互換性マトリクスに従う必要があります。PMはStage 0で互換性を自動確認します。
Theme(構造)
- HTMLレンダリング構造を決定
- レイアウト方式(PPT、縦、横など)
- ナビゲーション構造
- スライド切り替え効果
- TOCの表示方法
- ファイル: template.html、theme.json、theme.css
Style(外観)
- CSS変数セットを決定
- カラーパレット(ライト/ダーク)
- フォントファミリーとサイズ
- 余白と間隔
- 背景色と文字色
- ファイル: style.css
pitch-enhancedテーマ + classicスタイルは、ほとんどのプレゼンテーションに合う安定した組み合わせです。慣れてきたら他のThemeやStyleにも挑戦してみてください。
ゲート(Gate)承認
co-deckのパイプラインにはGateという承認地点があります。Gateは、ユーザーが途中で成果物をレビューして方向を修正できる「チェックポイント」です。すべてのGateを通過しなければ次のStageへ進めません。
必須Gate
次の2つのGateは必須であり、ユーザーの明示的な承認が必要です。
-
Gate 2(必須)— スライド内容の承認
Stage 2-3が完了するとstoryline.mdとslide_deck.mdが生成されます。PMは次のように承認を求めます。このときスライド全体の構造、各スライドの内容、画像計画、ダイアグラム計画を確認できます。修正が必要なら、この時点で方向を調整してください。「⚠️ 承認するとデザインとHTML制作が始まります。承認しますか?」 -
Gate 5(必須)— サンプルPDFの承認
Stage 11でpdf-exportエージェントがまず5ページのsample_5slides.pdfを生成します。PMは次のように承認を求めます。サンプルPDFでフォントのレンダリング、レイアウト配置、色の表現などを確認します。問題があれば修正を依頼してください。「レイアウトとフォントを確認してください。全体PDFを生成しますか?」
任意Gate
次のGateは任意であり、PMが自動的に進めるかレビュー後に進めます。
| Gate | 時点 | レビュー内容 | 進行方法 |
|---|---|---|---|
| Gate 1.5 | Stage 1.5完了後 | source-verification.mdの信頼スコア(Trust Score) | スコアを表示し、70%以上なら自動進行 |
| Gate 3 | Stage 4完了後 | design_spec.mdのテーマ/スタイル要約 | 要約を表示して自動進行 |
| Gate 4 | Stage 5-8完了後 | HTMLスライドデッキファイル | ファイル情報を表示して自動進行 |
Gate通過条件
- Gate 2: ユーザーがスライド内容(構造、各スライドの文章、画像/ダイアグラム計画)を確認し、明示的に「承認」します。修正依頼があれば該当部分を修正したうえで再度承認を受けます。
- Gate 5: ユーザーがサンプルPDFのレイアウト(フォント、余白、色、配置)を確認し、明示的に「承認」します。レイアウト問題があれば修正後に再度承認を受けます。
- Gate 1.5: 信頼スコアが70%以上なら自動通過。70%未満ならプロジェクトが中断され、PMがユーザーに知らせます。
PMへの話しかけ方
co-deckを使うには、Claude Desktop Appでco-deckプロジェクトを開き、PMエージェントに要望を送ります。効果的な要望はプレゼンテーションの品質を大きく引き上げます。
要望の5つのコア要素
良い要望には次の5つの要素が含まれます。
- 主題(Topic) — 何についてのプレゼンテーションか?
- 聴衆(Audience) — 誰のためのプレゼンテーションか?
- 水準(Level) — 初心者向けか、専門家向けか?
- 分量(Volume) — 何枚のスライドが必要か?
- 言語(Language) — 韓国語か、英語か、それとも両方か?
要望の例
「人工知能入門の講義資料を作って。大学生レベル、20枚ほど。韓国語で。」
「わが社のQ3業績発表資料を作って。投資家向け。15枚ほど。韓国語で。」
「クラウドアーキテクチャ基礎セミナーの資料を作って。IT部門の新入社員向け、10枚ほど。英語で。」
「機械学習の5つのコア概念についてのミニ発表資料を作って。5枚。初心者向け。韓国語で。」
良い要望 vs 今ひとつの要望
良い要望
- 主題が明確:「人工知能入門」
- 聴衆が具体的:「大学生」
- 水準が明示:「入門レベル」
- 分量がある:「20枚ほど」
- 言語が明示:「韓国語」
- PMがすぐエージェントをディスパッチできる
今ひとつの要望
- 主題が曖昧:「なんか作って」
- 聴衆がない:誰に発表するのか不明
- 水準が不明:専門家向けか初心者向けか分からない
- 分量がない:5枚なのか50枚なのか分からない
- 言語がない:韓国語なのか英語なのか指定されていない
- PMがユーザーに追加質問をしなければならない
演習: ミニプレゼンテーションを作る
この演習ではco-deckを使って5枚のミニプレゼンテーションを作ります。テーマは「機械学習の5つのコア概念」で、初心者を対象にした簡単な発表資料です。
演習の目標
- ワークスペースのリポジトリをクローンしてプロジェクトを設定する
- Claude Desktop AppからPMエージェントに要望を送る
- 11段階パイプラインの進行を観察する
- Gate 2とGate 5の承認を経験する
- 最終成果物(HTMLとPDF)を確認する
事前準備
第3章でインストールしたツールが正常に動くか確認してください。
- Claude Desktop App — Claude AIと対話できる状態であること
- Git — リポジトリをクローンできること
- ブラウザ — HTMLスライドデッキを開けるブラウザ
演習の手順
-
ワークスペースのクローンとプロジェクトのスキャフォールド
前の章でまだワークスペースをクローンしていなければ先にクローンし、そのうえでnew-project.tsでco-deckバリアントから新規プロジェクトをスキャフォールドします。このコマンドはgit clone https://github.com/5throck/ai-workspace-standards.git
cd ai-workspace-standards
bun scripts/new-project.ts "co-deck" --variant co-deckProjects/co-deck/を独立したGitリポジトリとして生成し、co-deckバリアントのエージェント・スキル・設定をすでにコピー済みの状態にします。 -
Claude Desktop Appでプロジェクトを開く
Claude Desktop Appを起動し、Projects/co-deck/フォルダをプロジェクトとして開きます。Claudeに次のように話しかけてPMを開始します。PMはStage 0(プロジェクト設定)に入り、テーマ、対象、Theme、Styleなどを尋ねてきます。「新しいプロジェクトを始めます。」 -
PMに要望を伝える
PMの質問に答えながらプロジェクトを設定します。次のように応答してみましょう。PMが要望を分析し、lecture-profile.mdの設定項目(Theme、Style、source_verificationなど)を案内します。「機械学習の5つのコア概念についてのミニ発表資料を作って。5枚。初心者向け。韓国語で。」 -
Stage 0の設定(主題・対象・言語)
PMは次の項目を確認します。初心者は既定値をおすすめします。- Rendering theme: pitch-enhanced(既定値)
- Visual style: classic(既定値)
- Source verification: true(既定値)
- Divider mode: auto(既定値)
-
Gate 2の承認(スライド内容の確認)
Stage 1(リサーチ)とStage 2-3(コンテンツ)が完了すると、PMがGate 2で承認を求めます。slide_deck.mdを開いて次の点をチェックしましょう。- スライド構造は論理的か?
- 各スライドの内容は正確か?
- 表紙スライドと締めのスライドは適切か?
修正が必要なら具体的に伝えます。「スライドの内容を確認しました。次の段階へ進めてください。」「3枚目のスライドの内容をもっとやさしく説明して。」 -
Gate 5の承認(サンプルPDFの確認)
Stage 11でsample_5slides.pdfが生成されると、PMがGate 5で承認を求めます。サンプルPDFで次を確認しましょう。- フォントが崩れず正しく表示されているか?
- レイアウトの配置は適切か?
- 色が意図どおりに表現されているか?
「サンプルPDFを確認しました。全体PDFを生成してください。」 -
最終成果物の確認
すべてのStageが完了すると、presentations/<project>/フォルダで最終成果物を確認できます。具体的な確認方法は次のセクションで説明します。
成果物の確認
co-deckプロジェクトが完了すると、いくつもの成果物が生成されています。このセクションでは各成果物の場所と確認方法を説明します。
成果物の場所
すべての成果物はpresentations/<project>/ディレクトリに保存されます。プロジェクトルートからは次の経路でアクセスできます。
Projects/co-deck/presentations/<project-name>/
主要な成果物
| ファイル | 説明 | 生成Stage |
|---|---|---|
lecture-profile.md |
プロジェクト設定ファイル(テーマ、対象、Theme、Styleなど) | Stage 0 |
project_state.json |
プロジェクト進行状態(各Stageの完了可否、Gate承認状況) | Stage 0+ |
research_notes.md |
ウェブ検索で収集した資料・統計・出典の整理 | Stage 1 |
source-verification.md |
出典の信頼性検証結果と信頼スコア(Trust Score)(任意) | Stage 1.5 |
storyline.md |
スライド全体の構造とナラティブ設計 | Stage 2-3 |
slide_deck.md |
スライドごとの内容(タイトル、本文、画像計画、ダイアグラム計画) | Stage 2-3 |
design_spec.md |
デザインスペック(色、フォント、レイアウトCSS変数) | Stage 4 |
image-manifest.json |
ダウンロードした画像の一覧とメタデータ(任意) | Stage 3.5 |
diagram-manifest.json |
生成されたダイアグラムの一覧とメタデータ(任意) | Stage 3.5 |
lecture_v1.html |
単一ファイルHTMLスライドデッキ(インタラクティブ・レスポンシブ) | Stage 5-8 |
sample_5slides.pdf |
5ページのサンプルPDF(Gate 5承認用) | Stage 11 |
<project>.pdf |
全体PDF(Gate 5承認後に生成) | Stage 11 |
HTMLスライドデッキの特徴
lecture_v1.htmlはco-deckの中核成果物です。次のような特徴があります。
- 単一ファイル: すべてのスライド、画像(エンコード済み)、CSS、JavaScriptが1つのHTMLファイルに含まれています。ファイル1つを送ればどこでも開けます。
- インタラクティブ: スライド切り替え、キーボードナビゲーション、TOC(目次)ドロワー、発表者モード、TTS(テキスト読み上げ)などの機能を備えています。
- レスポンシブ: 画面サイズに応じてレイアウトが自動調整されます。デスクトップでもモバイルでも使えます。
- オフライン利用: ウェブ接続なしでもブラウザで直接開いて発表できます。
PDFの特徴
<project>.pdfは印刷向けの成果物です。
- 印刷用: レイアウト、フォント、色が保持され、A4またはLetter用紙への印刷に適しています。
- 配布用: メールや文書共有プラットフォームを通じて手軽に共有できます。
- 保管用: 長期保管にはPDF形式が最も安定しています。
成果物を開く方法
-
プロジェクトフォルダを開く
ターミナルでプロジェクトフォルダへ移動します。cd Projects/co-deck/presentations/<project-name>/
ls -
HTMLスライドデッキを開く
lecture_v1.htmlファイルをブラウザで開きます。スライド切り替え、TOC、発表者モードなどを体験してみましょう。# macOS
open lecture_v1.html
# Windows
start lecture_v1.html
# Linux
xdg-open lecture_v1.html -
PDFを開く
<project>.pdfファイルをPDFビューアで開き、印刷用レイアウトを確認します。フォント、余白、色がHTML版と一致しているか比べてみましょう。 -
中間成果物を確認する
slide_deck.mdを開いてスライドごとの内容構造を確認しましょう。research_notes.mdでは、リサーチエージェントが収集した資料を見ることができます。cat slide_deck.md
cat research_notes.md -
project_state.jsonを確認する
プロジェクト全体の進行状況を確認できます。各Stageの完了可否とGate承認状況が記録されています。cat project_state.json
ファイル構造まとめ
co-deck/
├── agents/ # エージェント定義ファイル
│ ├── pm.md
│ ├── research.md
│ ├── storyline.md
│ ├── design.md
│ ├── html-build.md
│ ├── pdf-export.md
│ └── ...
├── docs/html-themes/ # ThemeとStyleのレジストリ
│ ├── THEMES.md
│ ├── themes/ # pitch、pitch-enhanced、outline、vertical、zen、...
│ └── styles/ # classic、minimal、premium-dark、academic、...
├── presentations/
│ └── <project-name>/
│ ├── lecture-profile.md # Stage 0: プロジェクト設定
│ ├── project_state.json # プロジェクト進行状態
│ ├── research_notes.md # Stage 1: リサーチ結果
│ ├── storyline.md # Stage 2-3: スライド構造
│ ├── slide_deck.md # Stage 2-3: スライドごとの内容
│ ├── design_spec.md # Stage 4: デザインスペック
│ ├── assets/
│ │ ├── images/ # Stage 3.5: ダウンロードした画像
│ │ └── diagrams/ # Stage 3.5: 生成したSVGダイアグラム
│ ├── lecture_v1.html # Stage 5-8: HTMLスライドデッキ
│ └── <project>.pdf # Stage 11: 最終PDF
├── scripts/co-deck/ # 自動化スクリプト
└── memory/ # セッション記録
project_state.jsonにより、現在プロジェクトがどのStageにいるのかリアルタイムで確認できます。