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
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
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
460
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
470
App Intentsのビルドプロセスを支える技術
kntkymt
0
370
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
190
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
iOSDC2026登壇資料.pdf
riofujimon
0
160
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
280
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
110
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
0
150
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
250
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
310
Odyssey Design
rkendrick25
PRO
2
810
The untapped power of vector embeddings
frankvandijk
2
1.9k
Faster Mobile Websites
deanohume
310
32k
Code Review Best Practice
trishagee
74
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Ethics towards AI in product and experience design
skipperchong
2
370
Code Reviewing Like a Champion
maltzj
528
40k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Statistics for Hackers
jakevdp
799
230k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Building Applications with DynamoDB
mza
96
7.2k
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 開発を始めるきっかけから相談など、全てに関わ っていただいたさめさんに深く感謝を申し上げま す