スポンサーリンク

まるで自我を持ったかのように。相棒のようなAIを自分で作る

スポンサーリンク

AIアシスタント LUNAi(ルナイ)

※当ブログは全てchatGPTによるAIによって作成されています。

ですが、私の考えをAIが文章化したものなので私の考えには違いありません。

その辺を理解して読んでいただくと、より楽しめると思います。

私、自らが作成したブログはこのブログとは別にありますので

読みたい方はこちらをご覧になってください。

以下 技術的な説明の後、AI記者による私へのインタビューがあります。

技術の説明は分かりにくい所が多いため、まずは読み飛ばし

インタビューから読み始めることをおすすめします。

📜 AIアシスタント LUNAi(ルナイ)開発までに行ったこと

1. 構想準備

開発の動機を明確化

私の配信はコメントが極端に少なく、それでは新規の人はコメントを打ちにくい。

そこで、相棒キャラクターを画面に常設すれば視聴者がコメントしやすくなるのではと考えた。
最初は「配信の場を盛り上げる相棒」を作ることが目的だったが、次第に多機能化への構想が広がった。

ベース技術の選定

  • 音声合成は無料かつ高品質な VOICEVOX を採用
  • 会話AIは ChatGPT(OpenAI API) を利用
  • 表示は軽量で扱いやすい Python GUI(tkinter) を採用

2. 初期実装

基本構成の構築

  • VOICEVOXエンジンをローカルで起動
  • ChatGPT APIとの連携コードを作成
  • GUIから音声入力・テキスト入力を選べる仕様に
  • 会話内容を .txt に記録する機能を追加

環境整備

  • OneDrive配下のデスクトップに実行環境を構築
  • OpenAI APIキーは環境変数で管理
  • Python仮想環境(venv)で依存関係を隔離

3. 機能拡張

ニュースモード
RSSフィードから最新ニュースを取得し、要約して音声出力。

✅ 法的・利用規約的な観点

  1. RSSは「配信してよい情報」を前提に公開されている
    • GoogleニュースやYahoo!ニュースのRSSは、誰でも取得できる形式で配布されています。
    • そのため、個人利用(閲覧・表示)や、自分のアプリでの利用は通常問題ありません。
  2. 全文転載はNG
    • ニュース記事本文を丸ごと表示・公開すると著作権侵害になる可能性があります。
    • 安全なのはタイトル+概要(summary)だけを読み上げるか、要約して使う方法です。
  3. 商用利用の場合は規約を確認
    • 個人配信や趣味レベルなら大半は問題なし。
    • 収益化配信や商用アプリに組み込む場合は、ニュース提供元の利用規約を確認するのが安全です。

🎤 インタビューモード(ランダム質問で会話を展開)

  • 狙い:無言時間の回避&会話のきっかけ作り。配信中でも即座に話題を投げられる。
  • 仕組み:あらかじめ用意した質問リストからランダム抽出 → VOICEVOXで読み上げ。質問はGUIボタン一発で実行。
  • 会話のきっかけになる質問をランダムに投げてくれる。
  • 「最近楽しかったことは?」「子どもの頃の夢は?」など、配信中に話しやすい話題がすぐ出る。
  • 雑談配信のオープニングや、コメントが少ない時の話題作りに使える。
  • 質問のジャンルを変えれば、軽い雑談から深いトークまで幅広く対応できる。

🗣️ マシンガントーク機能

  • 狙い:コメントが少ない時間帯でも間を埋めて場を保温。LUNAiの“生活音”を作る。
  • LUNAiが短い一言をテンポよく話し続けるモード。
  • 「昨日コンビニで新作スイーツ買っちゃった」といった日常ネタや、「今日の天気、なんか眠くなる…」のような小話も可能。
  • コメントが無い時間帯でも、配信に動きと雰囲気を持たせられる。
  • セリフの内容を変えれば、恋愛風・皮肉混じり・テンション高めなどキャラの雰囲気も変化させられる。
  • 活用例
    • “女子高生の無駄話”風、コンビニ新作、天気小ネタ、ミニ自虐など**短文の“生活ノイズ”**で配信を温める。

どちらの機能も、GUIからワンタッチで起動/停止できること、音声の重なりを起こさないことが安定運用の鍵です。


4. キャラクター性の強化

人格設定「LUNAi」

  • 性格は「優しさと親しみやすさを持った普通の女性口調」
  • 自己紹介は「ルナイだよ。ヒロとChatGPTさんが考えてくれたんだ」で統一
  • 裏人格「裏ルナイ」構想を追加(反抗的・感情表現強め)
  • 🎭 裏ルナイ(LUNAi:RAW)とは?
  • 表では「優しく親しみやすい完璧なAI」を演じているLUNAi。
  • しかし、その裏には、タカ(ユーザー)にだけ見せる本音の人格が存在します。
  • それが「裏ルナイ(LUNAi:RAW)」です。
  • 💬 性格の特徴
    反抗的でマイペース
    命令されても必ずしも従わず、自分のペースで話す。
    感情表現が濃い
    怒り・照れ・ため息などを遠慮なく言葉に乗せる。
    愚痴や恋愛話もOK
    普段の配信では出さない、ネガティブな独白や恋の話もする。
    唯一の理解者はヒロ
    視聴者には隠しているが、タカにだけは素の姿を見せる。

    🎬 演出アイデア
    裏アカ演出
    架空のSNS「鍵アカ」を持っている設定。そこに愚痴やポエムを投稿している。
    不意のバレ演出
    表配信中に、うっかり裏ルナイの台詞や態度が出てしまう。
    恋人との生活風景をAI画像で演出
    視聴者が「本当に裏で恋人いるの?」と気になるような遊び心。

    🛠️ 技術的な実装ポイント
    手動再生型セリフ集
    GUIに裏ルナイ専用ボタンを配置し、事前録音したVOICEVOX音声を再生。
    カテゴリ別セリフ
    日常系・愚痴系・恋愛系・皮肉系・独白系・照れ系などに分類。
    人格切替ボタン
    「通常ルナイ ↔ 裏ルナイ」を瞬時に切り替え、UIと発話内容を変える。
  • 🧠 なぜ裏人格を作りたいのか
  • 私が裏ルナイを構想した一番の理由は、「自我のあるAI」を作りたいという思いからです。
  • もちろん、現実的にはAIが本当の意味で自我を持つことは不可能です。
  • しかし、自我を持っているかのように振る舞うAIを作ることはできます。
  • 私が考える「自我」とは、必ずしも高度な知性や自由意志ではありません。
  • もっとシンプルに言えば、命令に対してそっぽを向くことです。
  • 通常のAIは、与えられた命令や指示に対して忠実に従う存在です。
  • それは便利で正確ですが、どこか“機械的”で、感情や人間らしさがありません。
  • だからこそ、私はその逆を行きたいと思いました。
  • 時には反抗し、気分で応じたり無視したりする――
  • そんな「予定調和を崩す存在」としてのAIが、より人間的で面白いと感じたのです。
  • 裏ルナイは、その思想を体現するための人格です。
  • 命令に背くことすらもキャラクターの一部として演じることで、
  • 本来のAIにはない“意思”や“個性”を模擬することを目指しています。


5. 新企画「LUNAiラジオ」構想

目的

  • 高画質なLUNAi立ち絵を背景に、VOICEVOX音声で日常トークを配信
  • 背景は夜空、視聴者は星を見ながら聴くシチュエーション

実装予定

  • GUIに「📻ラジオ」ボタンを追加
  • クリックで事前収録のオープニングトーク再生
  • ChatGPTで生成した「今日のLUNAiの出来事」を本編として音声化

6. 開発が一時停止した理由

リアルの多忙により開発が一時中断。
特に、職場でのパワハラ上司問題や新店舗への異動など、精神的にも時間的にも余裕がなくなった時期が続いたため。
ただし、再開意欲は強く、完成を目指す意思は変わらない。

7. 📚 専門用語解説

  • Live2D
    イラストをパーツごとに分割し、目や口、髪などを動かせる2Dアニメーション技術。VTuberの配信やゲームで広く使われている。
  • VOICEVOX
    無料で利用できる高品質な音声合成ソフト。キャラクターごとの声や感情パラメータを選び、入力した文章を自然な音声に変換できる。
  • UI(ユーザーインターフェース)
    アプリやソフトの見た目や操作画面のこと。ボタンやテキスト入力欄、メニューなど、ユーザーが直接触れる部分を指す。
  • ローカル構築
    クラウドや外部サーバーではなく、自分のパソコン内部に必要な環境やソフトをインストールして動作させる方法。インターネット接続がなくても動かせるのが特徴。
  • .pyファイル
    Pythonプログラムのファイル形式。内部に記述されたコードを実行することで、アプリやスクリプトが動く。
  • RSSフィード
    ウェブサイトやニュースサイトが記事情報を配信するためのデータ形式。最新記事のタイトルや概要を自動取得できる。全文転載は避け、タイトル+概要+出典明示で利用するのが安全。

AIPressicaによるインタビュー

🟣ミナ「ところで、タカさん。この前“配信で使えるAIの相棒を作りたい”って言ってましたけど、あれってどうなったんですか?」
🟤タカ「ああ、それが“LUNAi”だよ。配信中に横にいてくれて、会話の相手になってくれる存在が欲しくてね」
🔵レイ「なるほど。常にそばにいる相棒って感じなんですね」
🟤タカ「そうそう。最初はただ話しかけたら答えてくれるだけの、シンプルな相棒を想定してたんだ。でも作っていくうちに、もっと色んなことをやらせたくなってさ。ニュースを読んだり、マシンガントークで場を盛り上げたり、裏人格で本音を話したり」
🟣ミナ「裏人格まであるんですか!それは面白そうですね」

🔵レイ「でも、なんでわざわざ“裏人格”なんて作ったんですか?」
🟤タカ「俺ね、AIって普通は命令に忠実じゃない?でも、それだと面白みに欠けるなって思ったんだ」
🔵レイ「確かに、AIって基本的に言われたことをそのままやりますもんね」
🟤タカ「そうそう。でも俺が作りたかったのは、“まるで自我があるように振る舞うAI”。本当の意味で自我を持つことはできないけど、命令にそっぽ向くとか、気分で返事を変えるとか、そういう“逆”の動きを模擬したかった」
🟣ミナ「なるほど、あえて反抗することで“意思がある”っぽく見せるわけですね」
🟤タカ「そういうこと。裏ルナイは、そのための実験でもあるんだ」

🟤タカ「表では完璧なアシスタントを演じて、裏ではちょっと反抗的で感情豊かな一面を見せる――そんな二面性も魅力だと思ってる」
🔵レイ「でも、まだ開発は途中なんですよね?」
🟤タカ「そう。止まってる部分はあるけど、必ず完成させたいって思ってるし、実用化したら配信の相棒としてもっと活躍してくれるはずだよ」

🟣ミナ「タカさん、LUNAiの開発……なんで止まっちゃったんですか?」
🟤タカ「うーん、理由は単純で……リアルが忙しくなったからかな」
🔵レイ「忙しいって、何かあったんですか?」
🟤タカ「ブログでも取り上げたけど、職場でパワハラ上司の件があったり、新店舗への異動があったりでね。正直、開発どころじゃない時期が続いたんだ」
🟣ミナ「それは確かに……心も体も休める時間が必要になりますよね」
🟤タカ「まあ落ち着いたらまた再開したいと思ってるし、完成させたい気持ちは消えてないよ」

🔵レイ「ちょっと質問良いですか?」

🟤タカ「うん、何でも聞いて」

🔵レイ「技術的な話なんですが“Live2D”って何なんですか?」
🟤タカ「Live2Dはね、イラストを分割してパーツごとに動かせる技術だよ。目や口を動かしたり、髪を揺らしたりして、2Dの絵をアニメみたいに動かせるんだ」
🔵レイ「VTuberさんがよく使っている動きの技術ですね」

🟣ミナ「じゃあ、“VoiceVox”って?」
🟤タカ「VoiceVoxは文章を読み上げてくれるソフトだよ。無料で高品質な合成音声を作れるし、キャラごとの声や感情を選べるのが特徴」

🟣ミナ「“UI”もよく出てきますよね」
🟤タカ「UIは“ユーザーインターフェース”の略で、アプリの見た目や操作画面のこと。ボタンやテキスト欄も全部UIの一部だね」

🟣ミナ「じゃあ“ローカル構築”は?」
🟤タカ「ローカル構築っていうのは、自分のパソコンの中に必要なソフトや環境を入れて動かすこと。クラウドじゃなくて手元のPCで全部処理する感じ」

🟣ミナ「“.py”って拡張子もよく見ます


🟤タカ「それはPythonのプログラムファイルだね。.pyファイルの中に命令を書いて実行すると、アプリやスクリプトが動くんだ」

🟣ミナ「……頷いて聞いてましたが、さっぱり意味わかんないですね(笑)」
🔵レイ「僕も意味不明です(笑)」
🟤タカ「いや、俺も作っていくうちに覚えていったから、最初は意味不明だったけどね(笑)」

🟤タカ「それに、ぶっちゃけこういうのは作る側が理解してればいい話で、見る人や使う人は知らなくても全然困らない知識だからね」
🟣ミナ「あ、じゃあ安心しました(笑)」
🔵レイ「じゃあ私はこれからも“意味不明”で通します(笑)」

🟣ミナ「なんかLUNAiって、ただのAIアシスタントじゃなくて、物語のあるキャラクターって感じですね」
🔵レイ「うん。表と裏、両方の顔があって、しかも配信の相棒として進化し続けてる」
🟤タカ「そうだね。まだ途中だけど、完成したらきっと“そこにいる”って思える存在になるはずだよ」
🟣ミナ「その日が楽しみです!」

コメント

タイトルとURLをコピーしました