Codexによる実装の手順
チャットアプリ「Rinon Voice Lab」の開発は、例により、OpenAIのAIエージェント「Codex」を使いながら進めていきました。キャラクターの名前や性格設定も、Codexに検討させ、キャラクター名を「リノン」とし、そこからアプリ名も決めました。
思いついた機能のアイデアを、Codexに投げて実装方法を検討させ、様々な工夫を追加していきました。Gemma 4はLLMアプリの「LM Studio」に読み込み、サーバーモードで立ち上げておき、Irodori-TTSも立ち上げておきます。そうしておくと、チャットアプリから必要に応じてアクセスできるようになります。
まず、LM Studioでロールプレイをさせる場合にはシステムプロンプトにキャラクターの概要を入力すると、基本となるAI人格の性格を作り出すことができます。それをアプリ側から制御できるようにしました。生成する文章はセリフとして出力する必要があるため、必ずセリフにするよう指定をプロンプトにも入れています。
音声は、Irodori-TTS-600Mを使って作成した気に入った声をリファレンス音声として指定しています。また、生成された文章はIrodori-TTSに送られ、音声ファイルを生成させるのですが、長文が出力された場合は、破綻する可能性があります。そのため、一文ごとに分割して送信し、英語が出た場合には、カタカナに変換するようにしています。
そして、テキストの内容を受けて、適切な感情や状況に対応する絵文字を判定し、文章ごとに絵文字を付与するように指示しました。そうすることで、キャラクターの語り口に、微妙な感情表現が乗ります。また、Irodori-TTSのキャプション設定もアプリ側でできるようにしました。
また、キャラクターの立ち絵画像を用意し、音に合わせて微妙に振動するようにしました。1種類だけの立ち絵画像では物足りなかったため、Codexに指示して、「GPT Image 2.0」を使って差分画像を作らせました。これも絵文字に対応させて表情を作っています。特に、呼び出される回数が多い表情については5種類作成し、それらをランダムで呼び出すことで、ワンパターンにならないように工夫しました。全体で48枚の表情差分を作っています。
こうしたキャラクターの表情差分を用意するのは、AI画像生成で一貫性が維持できない時期には、準備するのに手間がかかったものですが、現在はCodexを使えば、簡単に作成することができます。また、1枚ずつ多数の画像を作ると非常に時間がかかるため、2×2で生成し、それを分割して使用することで、作成にかかる時間を短くすることができます。
担当編集に見せたところ、「検索機能は入らないですかね?」と言われたので、Codexに実装させてみました。
Gemma 4にはブラウザ検索機能がないため、どう実装してくるのかと思っていたら、スクリプトを使った外付け方式を採用してきました。アプリ側が内容からキーワードになりそうなものを検索エンジンの「DuckDuckGo Lite」で検索し、検索結果3件ほどをテキスト化、その内容をGemma 4に送るプロンプトへ混ぜて送信することで、Gemma 4があたかも自分で検索したかのような発言を返してくる仕組みです。
こうして、ローカルPC上で動かすAIとのチャットアプリの完成度が上がっていきました。
△その実際に動作している様子
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第159回
AI
AIを使える人と使えない人で、とんでもない差が出ると実感した理由 -
第158回
AI
SDXLの次はこれ? アニメ特化のローカル画像生成AI、驚きの実力 -
第157回
AI
AIだけでゲームは作れるのか? Codexに7本作らせて見えた実力と限界 -
第156回
AI
ChatGPTの画像生成AIは本当に最強か Nano Bananaと比べて見えた“弱点” -
第155回
AI
非エンジニアが数百万円級のツールを開発 画像&動画生成AIツールがゼロから作れた話 -
第154回
AI
ChatGPTの画像生成AIが強すぎる AI画像が世界中に氾濫する時代へ -
第153回
AI
ChatGPTの画像生成AIが「Nano Banana」超え? 漫画や動画風カットが実用レベルに -
第152回
AI
Seedance 2.0×AIエージェントでAI動画が激変 “AI脚本家”や“AI絵コンテ作家”との共同作業で、アニメ制作が身近に -
第151回
AI
画像・動画生成AIの常識が変わる、Claude Codeに全部やらせる方法論 -
第150回
AI
無料でここまで? 動画生成AI「LTX-2.3」はWan2.2の牙城を崩すか - この連載の一覧へ







