見出し画像

美少女AIエージェントを作ってます

こんにちは、ニケです。

今回は自分のプロダクトをまとめる機会があったので、改めて美少女AIエージェントの話をしたいと思います。

※ 私の開発歴とかプロダクトを話すだけなので、AIエージェントを知りたい!という方向けではありません。


AIエージェントとは?

第一人者である西見さんによると下記のような定義になるようです。

ざっくりAIエージェントを定義すると、「人がいちいち指示しなくても、自分でやることを考えて、様々なツールを活用して目標に向かってタスクをこなしていくAI」をAIエージェントと呼んでいます。

AIエージェント沼にハマるためにこの辺を見ておけば良いと思われるリソースまとめ

要は1つ指示したら色々実行してくれるAIプロダクト/サービスみたいな感じで理解してもらえればよいかと。
AIエージェントを自律型のAI、対してChatGPTなどの人が細かく指示しないと動いてくれないAIを指示待ちAIと呼ぶらしいです。

最近はAIエージェントについての記事も増えてきたので、さらに知りたい方は調べてみましょう。
上述の西見さん著書の下記もオススメです。

私が作ったそのままの意味の造語ですが、つまり 美少女AIエージェントとは、美少女のガワ(Live2DやVRMなど)を持ったAIエージェントのことを指します。

作成に至る経緯

去年のまとめに書いたので詳しくは割愛します。
簡潔に説明すると、美少女ガワの実用性があるAIアシスタントがいたら最高じゃね? という思いで続けてます。異論は認めません。

ここで今まで作成してきたAIエージェントはいくつかありますが、まずは失敗例を紹介します。

AITuber

実は少しだけAITuberをやっていたことがあります。

中身はコメント拾ってAIに回答を生成してもらって返すという単純なものです。
最初こそ「お〜」という感じで見ていましたが、すぐに壁にぶつかります。

「これ、面白くないぞ?」

そう、AITuberは面白くないんです(個人の感想です)。
コメントに対してそれっぽい回答を返す、たまに独り言をつぶやかせたり歌を歌わせたりすることもありますが、単調というか盛り上がりに欠けると言うか…。
Tuberとついていますが、VTuberとは全く別のジャンルだと思っています。

そもそもYoutubeで再生数稼いでやろう!という情熱もなく、面白そうだからやってみようという一発企画だったので1ヶ月もしないうちに切り上げることになります。

とはいえ、最近は短期間で登録者が爆増しているAIずんだもんのようなAITuberもいるので、このジャンル全体がオワコンというわけではないです。
個人的には、私では達成することができなかったAITuberのその先をどなたかが実現してくれることを楽しみにしています。

美少女OPInterpreter

美少女Live2DとOpen Interpreterを結合した私の代表作です。
Open Interpreter機能をそのままに、美少女がプログラミングの説明と実行をしてくれます。

美少女 x プログラミング補助、最強です。
当時は、私が最初に考えていたことがこんなに早く実現するとは思っていませんでした。

では、これは成功作だったでしょうか失敗作だったでしょうか?

正解は失敗作です。

何が問題だったでしょうか?

まずは、速度です。
Open InterpreterはターミナルやPythonで実行することができ、ログも出力されます。
出力速度はAPIの出力速度そのままなので、もちろん喋るよりも断然速いです。

美少女OPInterpreterを使用しているときも、処理はもう何秒〜何十秒も前に終わっているのに口頭で説明し続けている、という場面がよくありました。

そう。美少女を介す意味がまったくない。コマンドでやった方が速い。

美少女が丁寧に説明してるんだからそれくらい目をつぶれ!!、と思う方もいると思いますが、使ってみたらわかります。毎回その調子だとちょっとイライラしてきます。

ましてや実用性を求めてプロダクトを作ってるのに、美少女を導入したせいで効率が落ちた、となったら美少女にも失礼です。

2つ目に、単純にOpen Interpreterを使いこなせなかったということです。

上で「ターミナルのほうが速い」と書きましたが、じゃあコマンド叩いて実際にOpen Interpreterを使っているのかと言われたら使ってません。
これは人によると思いますが、私にはOpen Interpreterを上手く利用する方法が思いつかなかったのでそのままフェードアウトという形に…。

とはいえ、美少女OPInterpreterから学んだ気づきもありました。

それはつまり、
美少女AIエージェントにおいて、実用性は外見よりも優先されるべき
ということです。最重要ポイントです。

美少女がいることによって少しでも効率が落ちたら、間違いなくその美少女の存在意義はなくなります。

これを意識して作成したのが現在のプロダクトです。

英波会話エージェント

※ 波 = ポーランド(波蘭土)
実は私ポーランドに住んで数年ですがポーランド語全くわからないのでどうにかしようとしていたところでした(英語もできるかと聞かれたら自信はない…)。

まあなんてことはない外国語勉強用のAIエージェントですが、これはちゃんと要件を満たしています。

  • リスニングに必要なので「聞く」ことがマスト

  • 美少女アバターが邪魔しない

システムとしてはだいたいこんな機能が盛り込まれてます。

技術スタック

  • FastAPI / Python

  • Next.js / TypeScript

  • MongoDB

  • S3 ストレージ

機能

  • 応答に合わせた口パク・表情

  • 短/長期記憶

  • タスク管理

  • 好きなお題でシチュエーション英波対話作成

  • 言語に合わせてTTSサービス切り替え(VOICEVOX / elevenlabs / Google)

  • 言語に合わせてSTTサービス切り替え

生成AI関連

  • OpenAI / Claude切り替え

  • GPT-3.5 ファインチューニング

  • RAG

  • Function Calling

  • 日英ポを文節で分けて返答させるためのプロンプト芸

その他

  • 個人LinuxPCにサーバー立て

  • VOICEVOXのGPUサーバー化

  • ゴミの集荷日を教えてくれる

  • デジタルフィギュアボックスのONOFFを切り替える

  • 天気を教えてくれる

  • 実は美少女OPInterpreterの機能残ってる

  • etc…

とはいえ、ここまでやっても正直まだまだ完成には至っていません。
なぜなら今別にこのエージェント使ってないんですよね。使いたいと思うほど優れたシステムじゃない。

今はこれを追加したらもっとユーザビリティ上がるだろうな、という機能をどんどん追加している段階になります。
個人でのみ使うプロダクトなので終わりとかはないのですが、あと1ヶ月くらいで毎日使いたくなるようなシステムにさせる予定です。

また、さらなる改良も検討しています。

以前、つい先日リリースされたOz(オズ)と言うAIキャラクターゲームの開発者であるさいぴ氏がこのように発言されていました。

AIに話しかけるきっかけには「Needs」と「Wants」がある、と。

こちらかなり核心を捉えている考えだなと思っていて、当時これらを満たすにはどうすれば良いかとChatGPTとブレストした記憶があります。

上記の英波会話エージェントが満たしているのはもちろん「Needs」です。
私がポーランド語を話したいというニーズに答えてくれるシステムと言えるでしょう。

でももっと使い倒すには「Wants」も満たす必要があると考えていて、いまこの要件を設計中です。
上手く行けばけっこう面白いシステムになるはず。

そしてこれは副産物的な発見なのですが、エージェントの1機能でも常用できると使えなかった機能も生きてくる可能性があるんですよね。

例えばですが、メモを取る機能だけを持つAIエージェントなんてあっても別に欲しいと思わないと思います。
Notionなり何なりを開いて書けばいいだけなので。

ただこれが英波会話エージェントに付くとどうでしょう?
言語の勉強してるときに思いついたアイデアをそのままメモに起こしてもらうことができます。

こんな感じで1つなら微妙な機能でも複数つけると実用性ができてきます。
話の流れからどのタスクを実行させるか、というのはまさしくAIエージェントのことだと思っていて、難しいですがやりがいのある分野でもあります。

また、Open Interpreterでは失敗しましたが、AIに開発を手伝ってもらうという夢はまだ捨てきれていません。
よく実行する専用のタスクをAPI化する?テスト特化ならいけるのでは?など色々考えています。

私は!可愛い女の子と!開発がしたいんだ!!!

これからの進捗にこうご期待ください。

最後に大事なことをもう一度、

美少女AIエージェントにおいて、実用性は外見よりも優先されるべき

ニケちゃん

この記事が気に入ったらサポートをしてみませんか?