Slide 1

Slide 1 text

パーソナライズ Podcastを作った話 @repunit11

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

移動時間を有効活用したい 本は読めない コードは書けない 3

Slide 4

Slide 4 text

移動時間を有効活用したい 本は読めない 耳で学ぶ コードは書けない 4

Slide 5

Slide 5 text

やってみたこと Podcast 質が高い テーマを選べない 5

Slide 6

Slide 6 text

やってみたこと Podcast Notebooklm 質が高い 資料から生成 テーマを選べない 手間がかかる 6

Slide 7

Slide 7 text

やってみたこと Podcast Notebooklm GPT Live 質が高い 資料から生成 対話で深掘り テーマを選べない 手間がかかる 受け身で聞けない 7

Slide 8

Slide 8 text

やってみたこと Podcast Notebooklm GPT Live 質が高い 資料から生成 対話で深掘り テーマを選べない 手間がかかる 受け身で聞けない Podcastの手軽さ × 自分向けの学習 が欲しい!!! 8

Slide 9

Slide 9 text

自分専用Podcastを作ってみた テーマ LLM台本 TTS MP3 例:SQLiteはなぜ単一ファイルでDBになれるのか 9

Slide 10

Slide 10 text

聞いてみるとなんか違うな... 知っていることを長々と説明 知らない概念を前提に進む 10

Slide 11

Slide 11 text

聞いてみるとなんか違うな... 知っていることを長々と説明 知らない概念を前提に進む 良い教材 ≠ 正しい説明 良い教材 = 正しい説明 × 学習者に合った説明 11

Slide 12

Slide 12 text

聞いてみるとなんか違うな... 知っていることを長々と説明 知らない概念を前提に進む 良い教材 ≠ 正しい説明 良い教材 = 正しい説明 × 学習者に合った説明 Learner Model 12

Slide 13

Slide 13 text

現在のシステム構成図 13

Slide 14

Slide 14 text

Learner Model SQLiteに保存される「学習者プロフィール」 自分が何をどこまで理解しているかをLearner Modelに記録 概念名 分野 理解度 その理解度への確信度 その概念への興味 最後に理解度を確認した日時 LLMへのプロンプト 既知→短く 未知→丁寧に 14

Slide 15

Slide 15 text

現在のシステム構成図 15

Slide 16

Slide 16 text

Feedback Loop クイズ Podcast 難易度調査 Learner Model 次の Podcast 16

Slide 17

Slide 17 text

Feedback Loop クイズ Podcast 難易度調査 Learner Model 次の Podcast 17

Slide 18

Slide 18 text

現在のシステム構成図 18

Slide 19

Slide 19 text

Hermes Agentの導入 自然言語で指示を受け取り、 必要なツールやコマンドを呼び出してタスクを実行する対話型エージェント Discordから開発・運用できるようにした 対話からPodcast生成の入り口を作った 19

Slide 20

Slide 20 text

現在のシステム構成図 20

Slide 21

Slide 21 text

Podcast生成の中身 テーマ DeepSeek 台本 DeepSeek TTS Gemini TTS 音声化 公開 ffmpeg Cloudflare R2 21

Slide 22

Slide 22 text

現在のシステム構成図 22

Slide 23

Slide 23 text

作ってみてわかったこと 生成AIで教材を作ることは簡単になった 学習者に合わせるのは難しい 23

Slide 24

Slide 24 text

これから 聞くための道具はできた 次は話すための道具を作りたい 24

Slide 25

Slide 25 text

でもやっぱり 人が作るPodcastっていい 技術も、雑談も、そこに人がいるから面白い 25