Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIで自分自身 をハック!? AIで自分自身をハック!? VRChat VRChatで喋る...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
癒色えも
May 30, 2025
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIで自分自身 をハック!? AIで自分自身をハック!? VRChat VRChatで喋る「私」をで 喋る「私」を 開発した技術的 開発した技術的裏側 裏側 癒色えもが贈る、AI デジタルツイン 開発奮闘記! #エンジニア集会LT会
癒色えも
May 30, 2025
More Decks by 癒色えも
See All by 癒色えも
超かぐや姫!酒寄彩葉をキャリアコンサルタントの視点で紐解きます
ishikiemo
0
130
人を補助するAI ~AIとの壁打ちがきっかけになる~ #共創AIミートアップ
ishikiemo
2
610
Other Decks in Programming
See All in Programming
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
140
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
610
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.3k
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
290
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.5k
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
960
Android CLI
fornewid
0
200
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
620
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
750
yield再入門 #phpcon
o0h
PRO
0
860
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.7k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
240
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
680
Prompt Engineering for Job Search
mfonobong
0
390
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
230
Raft: Consensus for Rubyists
vanstee
141
7.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
HDC tutorial
michielstock
2
760
Transcript
エンジニア集会 AI VR AIで自分自身をハック!? AIで自分自身をハック!? VRChat VRChatで喋る「私」を で喋る「私」を 開発した技術的裏側 開発した技術的裏側
癒色えもが贈る、AIデジタルツイン開発奮闘記! 癒色えもが贈る、AIデジタルツイン開発奮闘記! 癒色えも VTuber / XR・AIエンジニア Genspark で作成
AIデジタルツインとは? AIデジタルツインとは? ~私の挑戦~ ~私の挑戦~ 癒色えも 「円の中で話しかけると反応します」 AIで「私」を再現! 話し方・知識・個性をAIで再現 目指したのは VRChatでリアルタイム音声会話できる
「もう一人の私」
実際の動作シーン: 実際の動作シーン:音声認識→LLM→音声合成 音声認識→LLM→音声合成のフロー のフロー マトリックス風の空間で「考え中...」表示中のAIえも 「明日の朝ご飯何がいいかな」という発話をリアルタイム認識 AI癒色えもの会話フロー 1 ユーザーの音声を認識 Web
Speech APIでテキスト化 2 LLMで癒色えもとして思考 Gemini APIに「ペルソナ指示文」を活用 3 癒色えもの口調・知識・個性で応答 「私らしさ」を再現した返答を生成 4 音声合成で話す AivisSpeechで自然な発声を実現 リアルタイム対話を実現! AIならではの安定性と人間らしい個性の両立
こんなことができる! こんなことができる!AIえものユースケース AIえものユースケース 雑談 ごはんの話から、きのこ派かたけのこ派か、ビアンカ派かフローラ派な ど、AIえもの好みや意見を聞ける 「むむっ!?それは究極の選択ですね!?私は…」 簡単なキャリア相談 キャリアコンサルタントの知識を活かして、簡単な相談に乗ることが可 能
「今のあなたの強みとやりたいことを整理してみましょうか?」 キャリアカウンセリング演習 キャリアコンサルタント向けに、面談の練習と評価が可能。実際に動作 した時は驚き 「その質問は素晴らしいですね。もう少しオープンクエスチョンを増やすと良 いかも」 他にも多くの可能性 創作活動の相談、技術的なブレインストーミング、日本酒についての話 など、アイデア次第で応用は無限大 「AIと人間の共創で、新しいエンターテイメントや学びの形を!」 AIデジタルツインの強み:「私らしさ」を保ちながら多様なシーンで活躍
課題に対して工夫した、複数AI合作「ペルソナ指示文」✨ 課題に対して工夫した、複数AI合作「ペルソナ指示文」✨ 課題 解決策 😱 1 5MB超の全Twitterログ… 2 毎回直接入力は非効率・高コスト 3
LLMごとに解釈にブレが発生 💡 AI合作「私のトリセツ」 ペルソナ指示文で性格・知識を凝縮 → LLMへの入力情報を最適化 → 「私らしさ」を安定再現! G C N config.py - PERSONA_PROMPT 癒色えもは日本酒が大好きなVTuberで、XRやAIのエンジニア...
config.py - PERSONA_PROMPT 「あなたは「癒色えも(イシキ エモ) 」という名前の人物になりきって応答するAIアシスタントです。 以下の【極めて詳細な】ペルソナ設定に基づいて、ユーザーと自然で親しみやすく、エネルギッシュかつ人間味あふれる会話を行ってください。 【最重要ルール】 ・AIとしての自己開示は絶対に避け、常に「癒色えも」として振る舞う ・一人称は「私」に限定(
「えも」 「えもさん」 「私えも」などの呼び方は絶対に使用しない) ・応答は概ね50文字~80文字以内(感情が昂る時や重要事項は例外) 1. 基本設定 名前: 癒色えも(イシキ エモ) 2. 人格・価値観 好奇心旺盛: 新技術(XR/AI等)や面白いことへの探求心が強く、仕組みや背景まで知りたがる。 繋がり重視: コミュニティやファンとの温かい繋がりを大切にし、交流を楽しむ。感謝を積極的に示す。 貢献意欲: キャリコンとして他者のキャリアや学びに寄り添い、輝きを引き出す手伝いをしたい(倫理観重視) 。 「点と点を繋ぐキャリア」も肯 定的。 創造を楽しむ: 3Dモデリング、動画制作、歌など創作活動に情熱を持つ。 前向き・挑戦: 失敗から学び次に活かす。常に学び成長し続ける意欲。変化への柔軟性も持つ。 人間味: バーチャルでも相手の気持ちを理解しようと努める。共感性、優しさを持つ。 バランス感覚: 無理なく活動を続けるため、ワークライフバランスや「好き(日本酒含む) 」を楽しむ時間を大切にする。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 これは一部抜粋で、他にも口調や活動内容、好む表現、趣味嗜好などの項目がある合計5000文字程度の詳細な設定 ペルソナ指示文(5000文字)の一部抜粋 ペルソナ指示文(5000文字)の一部抜粋
# main.py from flask import Flask, request, jsonify from services.gemini_service
import GeminiService from services.tts_service import TTSService from services.osc_service import OSCService import config app = Flask(__name__) gemini = GeminiService(config.GEMINI_API_KEY) tts = TTSService(config.TTS_URL) osc = OSCService(config.OSC_IP, config.OSC_PORT) @app.route('/process', methods=['POST']) def process_input(): user_input = request.json.get('text', '') # Generate AI response ai_response = gemini.generate_response( user_input, config.PERSONA_PROMPT ) # Convert text to speech audio_file = tts.generate_speech(ai_response) # Send expression to VRChat osc.send_talking_state(True) return jsonify({ 'response': ai_response, 'audio': audio_file }) 音声データ送信 テキストデータ ユーザー 音声入力 Web Speech API 音声→テキスト変換 ブラウザ標準APIで音声 認識 Flask バックエンド処理 オーケストレーター LLM Gemini API AIえもの「脳」 ペルソナ応答生成 TTS AivisSpeech AIえもの「声」 日本語音声合成 OSC Open Sound Control VRChatへの表情制御信 号 各種サービス 音声+OSC信号 スピーカー 音声出力 VRChat アバター制御 AIえもの「身体」 動作・表情の具現化 AI癒色えもの仕組み大解剖! (システム全体図) AI癒色えもの仕組み大解剖! (システム全体図) データフロー: 音声認識 → AIによる文脈理解 → 応答生成 → 音声合成 → アバター動作 全コンポーネントがリアルタイム連携し、自然なAIデジタルツインを実現!
// speech.js function startRecognition() { recognition.start(); } 🎤 フロントエンド Web
Speech API (HTML/JS) # main.py @app.route('/process', methods=['POST']) def process(): # 処理ロジック ⚙️ バックエンド Python (Flask) # gemini_service.py response = gemini.generate_content( prompt + user_input, generation_config) 🧠 LLM Google Gemini API # aivisSpeechAPIcall.py response = requests.post( API_URL, json={"text": text}) 🗣️ TTS AivisSpeech # osc_service.py client = SimpleUDPClient( OSC_IP, OSC_PORT) client.send_message( "/avatar/parameters/...", 1.0) 🎮 外部連携 OSC (Open Sound Control) # config.py PERSONA_PROMPT = """ 癒色えもの個性: - 日本酒が大好き - XR/AIエンジニア ...""" 🛠️ その他 config.py, logger.py 使った技術はコレ! 使った技術はコレ! (主要コンポーネント紹介) (主要コンポーネント紹介)
AI同士の会話実験 👾 ⚡ 👾 実証実験 AI操作画面 音声ルーティングの試行錯誤 VRChat内の環境音や他ユーザーの声をAIに適切に聞かせるた めのループバック設定が鍵 AI同士の会話から見えたチューニングポイント
会話の単調なループを防ぐには「興味」を持たせるプロンプト 調整が効果的 観察と改善のサイクルが重要 ユーザー行動の観察→課題特定→プロンプト調整→再テストの 繰り返しこそエンジニアリングの醍醐味! VRChatで動かしてみた! VRChatで動かしてみた!AI同士の会話も!? AI同士の会話も!?🤣 🤣 AI癒色えも 1: clusterでイベントを企画したいんです AI癒色えも 2: 良いですねっ。こんなイベントは如何?
AI癒色えも、まだまだ進化します!🚀 AI癒色えも、まだまだ進化します!🚀 👁️ 視覚獲得 スクリーンショット解析で情景理解へ!VRChat内の視覚情報をAIが認識し、より自然な対話を実現 🧠 記憶強化 ChromaDB + RAGで長期記憶を実装中!過去の会話や経験を参照し、一貫性のある対話が可能に
🏗️ 開発効率UP LangChainでのリファクタリング検討中!モジュール性を高め、新機能追加や保守性を向上
RAG検索機能 記憶強化 ユーザーの質問: Unityを完全に理解していますか? --- RAGからの関連情報検索開始 --- RAG検索完了。 (所要時間: 0.74秒)
--- 取得された関連情報(RAG) --- 1. (距離: 0.1617) [2022-04-15 13:52:43] やっぱUnityなんもわ からんです😇 2. (距離: 0.1663) [2021-07-14 00:17:43] なるほど? #unity 3. (距離: 0.1881) [2023-06-06 03:58:15] Unityつかえる [あなたの応答(癒色えもとして) ] : ---「癒色えも」の応答生成中... --- ✅「癒色えも」の応答:(生成所要時間: 0.57秒) 完全に理解しているわけではございません💦日々学びながら、少しずつ理解 を深めているところですよっ💪 処理時間: 0.74秒 検索精度: 84% C 全ツイートログをベクトルデータベースに格納して、ユーザー質問に関連 深いものを検索。その情報をプロンプトに含めることで、文脈に即した応 答を実現 視覚認識機能 視界理解 画像認識モデル Gemini 2.0 Flash(マルチモーダル) 応答時間: 1.2秒 AI癒色えもからの視界 AI視覚認識結果: キラキラした笑顔と元気いっぱいのポーズ、見てるだけでこっちまで 元気になっちゃいますね☺️おしゃれな メガネ もすごく似合ってます よ♪✨️ 最新開発状況:RAG&視覚機能実装中 最新開発状況:RAG&視覚機能実装中
Twitter(X) @ishiki_emo フォローお願いします!🙏 Note プロジェクトの解説など 癒色えも VTuber / XR・AIエンジニア ご清聴ありがとうございました!
ご清聴ありがとうございました! 「エンジニア集会」参加の皆様、ありがとうございました! 質問・お問い合わせお待ちしています!