Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
プログラミング初心者がAI Tuberを開発してみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
rindguitar
August 20, 2026
Programming
4
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プログラミング初心者がAI Tuberを開発してみた
VR Chat個人開発集会にて発表したスライドです。
初めての発表、スライドです。
rindguitar
August 20, 2026
More Decks by rindguitar
See All by rindguitar
自作して見えた感情モデルの限界
rindguitar
0
4
Other Decks in Programming
See All in Programming
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
580
アクセシビリティから考える情報設計
high_g_engineer
0
340
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
560
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
110
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
450
What We Talk About When We Talk About XP
m_seki
2
440
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
170
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
190
typoなんかねぇよ
raspython3
0
680
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
260
The Cult of Friendly URLs
andyhume
79
7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Visualization
eitanlees
152
17k
The Limits of Empathy - UXLibs8
cassininazir
1
640
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
The Curse of the Amulet
leimatthew05
2
14k
Transcript
プログラミング初心者が AITUBERを開発してみた
自己紹介 Rin(rindguitar) 音楽の専門学校を卒業 現在、飲食店でフリーター生活 2024年11月からプログラミン グを始めた GitHub
今日のテーマ 全くのプログラミング初心者が書籍やネットを参 考にAITuberを開発してみました その過程で、学んだことや感じたことを話しま す
今日話すこと AITuberとは何か? どのようなものを開発したのか? どのようなことで躓き、解決したのか? まとめ
AITUBERとは何か? 簡単に言ってしまえば、「AIによるYoutuber」 LLMを用いることで、現実には存在しない架空の キャラクターによって配信などの活動を行うもの AITuberの事務所『AICAST』 元女子高生AI『りんな』
どのようなものを開発したのか? X(旧Twitter)へのポストの生成と投稿 はてなブログへの記事生成と投稿 Youtubeでの配信中の言動 参考書: 阿部由延さん著 『AITuberを作 ってみたら生成AIがよくわかっ 『AITuberを作ってみたらプロ ンプトエンジニアリングがよく
わかった件』
キャラクターのプロフィールを作 る 今回のプロジェクトの根幹にな るので最初は好き嫌いだけでも 決めておく。 どんな生活を送っているのか、 生活環境などの設定も後々必要 になるので考えておく。 もし思いつかない場合はLLM に頼ると楽。
Xのポスト内容を生成 今回はOpenAIのAPIを利用して開発を進めていき ました。 そのためまず、OpenAIのAPIにプロンプトを送 り、出力を受け取るAdapterを作成。
Xのポスト内容を生成 自分で考えたポストの出力例を添えたプロンプト を作成。 理想の内容が生成できるかプログラムでテストす る。
Xへ投稿するプログラムを作成 キャラクターがどんな内容をポストするかテーマ を考えておく。 XのBOTを利用するのに必要なトークンやキーを取 得し、先ほどの生成プログラムを流用しテーマに 沿ったポストを投稿できるプログラムを作成。
ブログ記事の生成 キャラクターの行動範囲を考え、その場所ごとに 関連する単語を複数用意。 その場所と関連単語を基に出来事を生成できるよ うにプログラムを作成。 複数の出来事を一日の出来事としてまとめ、日記 の形にするプログラムを作成。
記事の投稿をするプログラムを作 成 今回ははてなブログを利用したので、必要なアカ ウント関連のキーを取得し、Xのポスト投稿プログ ラムを流用してブログの投稿をするプログラムを 作成。
YOUTUBEでの配信をするための 準備 配信ソフトとしてOBS、音声合成のために VOICEVOX、仮想マイクとしてVB-CABLEを利用。
今回のフローチャート
配信をするためのプログラム作成 配信上でキャラクターが言いそうなことを追加し た設定プロンプトを作成。 性格や口調などはもちろん、繊細な話題など言 わなそうなこともしっかりと設定しないと理想 とはかけ離れた話題まで話してしまいます。 コメントへの返答、コメントが無い場合の話題を 生成するプログラムを作成。
話す内容を配信に利用するための 準備 話す内容とコメントをOBSに送るプログラムを作 成。 話す内容から音声合成するプログラムと、その音 声を再生するプログラムの作成。
各種機能を統合したプログラムを 作成 配信するために今までに作ったプログラムを統合 したプログラムを作成し、実行。 配信が始まった!
どのようなことで躓き、解決した のか? プロンプトの作成が難しかった。 キャラクターの設定など0から考えるのが難しか ったので、LLMに頼ることで解決。 プログラムが増えた際、見やすく管理するしつ つ、上手く動作させることに躓いた。 sys.path.append()を使用し解決。 ただし、使うべきではないと言う記事もあった のでより良い方法を模索する。
まとめ プログラミング楽しい! できあがって自分の思った通りに動くときや、 細かいミスを見つけた時の快感が最高。 ただし途中から利用しはじめたCursorの補助によ って、コーディングが初心者でも楽にできてしま う。 よく理解せず動作している時の不安もあるが、 動作してるから良いかと思ってしまう気持ちが ある。
ACKNOWLEDGEMENTS 開発を始めるきっかけから相談など、全てに関わ っていただいたさめさんに深く感謝を申し上げま す