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
5
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
5
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
350
Simple Storage Service(S3) is not simple
iwatsukayura
0
190
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
340
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
440
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
900
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
540
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
R8 の設定見直しでアプリサイズ削減
andpad
0
140
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.4k
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
Building Applications with DynamoDB
mza
96
7.2k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
How to Ace a Technical Interview
jacobian
280
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
210
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.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 開発を始めるきっかけから相談など、全てに関わ っていただいたさめさんに深く感謝を申し上げま す