0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【世界初?カモ】「AI側が話しかける時代」15歳が考えた!美しすぎるアルゴリズム

0
Posted at

初めに...

皆さんこんにちは。
個人開発をしている、”好奇心のかたまり”と、申します。
今回は、僕が人間同士みたいに、対話をすることができるAIを作ろとしていた時に、思いついたアルゴリズムを紹介しようと思います。

注意:世界初じゃない可能性もあります。
「先に思いついていた!」「私のアルゴリズムだ!」
という方は、コメントで教えてください

突然ですが皆さん "AI(LLM)" 使ったことありますか?

まぁ、無い人なんてほぼいませんよね。

僕も、

  • コーディング
  • 調べ物
  • ちょっとした相談

など、様々なことに使用しています。

ですが、一つ ”心残り” なことがあります。
それは、、

「AIからは話しかけてくれないこと」 です。

人との会話を思い浮かべてください。
私たちは、会話をする時、互いに話しかけます。

ですが、AIとの会話はどうでしょうか?

ChatGPT、Gemini、Claudeが、自らあなたに話しかけることはあるでしょうか?

いえ。ありません。

そこで、僕は考えました。

AIから話しかけてくるアルゴリズムはないのだろうか

既存のアルゴリズム達

僕は初めに、既存の、AIから話しかけてくれるアルゴリズムがないかを探しました。
すると、この、”2つのアルゴリズム”が存在しました。

1. トリガー連動型アルゴリズム(イベント駆動)

このアルゴリズムは非常に単純です。

条件を満たしたら、AIを動かす。

ただそれだけです。

例えば、

1.特定の時間になった時 → 「おはよう」 と言う

2.センサーが反応したとき → 「こんにちは」 と言う

3.特定の場所に到着したとき → 「到着しました」 と言う

などです。

今回の、AIに組み込む場合だと、1番が使えそうですね。

このアルゴリズムのメリットは以下のとおりです。

  • 開発がシンプルで簡単

  • 無駄な起動が少ない

ですが、デメリットが大きいです。

  • 非常に単純な条件しかできない。

AI(LLM)に組み込む場合だと、頻繁に自ら発言することは難しそうです。

そこで、もう一つの方法を見てみましょう。

自律型エージェント

このアルゴリズムも、考え方は単純です。

”常に”発言するべきかを考える

ただこれだけです。

このプログラムのメリットは以下の通りです。

  • 超リアルで人間らしい

  • 高度な状況判断が可能

ですが、このアルゴリズムのデメリットは、 ”激ヤバ” です

  • しっかり訓練しないと、お節介になりやすい

まぁコレぐらいならなんとかなりますが、

  • ** GPUのコストが限界突破します **

これが一番マズイです
僕みたいな個人開発者、ましてや中学生に24時間GPUをぶん回すお金などありませんっ

そこで、僕の考えたアルゴリズムの登場です。
このアルゴリズムなら、

  • GPUの運用コストを何倍も減らせる

  • 複雑な条件でタイミングを決められる

といったことが可能になります。

名付けて、、

Secondary Keyword Scheduler 略してSKS

とでも呼ぶとしましょう。

コレは表向きの名前で本当は別の意味です^^

それでは、このアルゴリズムの説明をしましょう。

このアルゴリズムの肝は、

未来の発言を事前に用意(予約)しておくこと。

です。

どういうことかを説明しましょう。

例えば、自律型エージェントの例を見てみましょう。

User:ただいま

AI:おかえりなさい!今日もお疲れ様!

このような会話をしたとします。

しかし、今日のUserは、気分が落ち込んでて、いつもならAIとお喋りを楽しむところなのですが、一向に口を開きませんでした。
なので、AIのエージェントは口をひらきます。

AI:大丈夫?元気無い?

このような流れだったとします。

確かに、この自律型エージェントは、Userの変化に気づく事ができました。

しかし、この「沈黙の間」が問題です。

AIは「今話しかけるべきか?」を判断するためだけに、この間、何度も高価なGPUを起動して思考ループを回し続けているのです。

これでは電気代だけで破産してしまいます。

そこで、僕の考えたアルゴリズムが活躍します。

このアルゴリズムは、先程も言った通り

未来の発言を事前に用意(予約)しておく

アルゴリズムです。

具体的には、以下の流れになっています。
先程の例をなぞって見てみましょう。

User:ただいま

AI:おかえりなさい!今日もお疲れ様!

画面上の見た目は先ほどと全く同じですが、僕のアルゴリズムでは、この瞬間にすでに ”見えない圧倒的な差” が出ています。

それは、、

AIが「おかえりなさい!」と出力したまさにその一瞬(GPUが動いている間)に、裏で「未来の発言(大丈夫?元気ない?)」まで同時に生成し、確定させているのです。

未来の発言を確定させたあと、このアルゴリズムは驚くほど「エコ」になります。

やることは単純

1,GPUが「おかえりなさい!」と同時に
「もしn分反応がなければ:大丈夫?元気ない?」
と、発言するコードを生成。

2、生成したら、GPUを別のユーザーの処理や別の仕事へまわす。

3、n分経ったら、貧弱なCPUをつかったサーバーからメッセージを送信する

これが、このアルゴリズムの本当に美しいポイントです。

必要なのは、10円玉で動くような「貧弱なCPUのタイマー機能(タスクスケジューラー)」だけ。

CPU側は、裏で10分間のカウントダウンを始めるだけです。

この間、電気代を爆食いするGPUは1ミリも動きません。

そして、ここで運命の分岐点が訪れます。

パターンA:本当にユーザーが沈黙した場合(10分経過)

CPUがn分経ったことを検知します。
↓
CPUは「大丈夫?元気ない?」というテキストを、ユーザーに送信します。
↓
それを見てUserは、「AIが自分の沈黙を察して、自発的に話しかけてくれた!」と思う(?)

Happy End...(?)

というパターン。
もう一つは、、

パターンB:ユーザーがすぐ返信してきた場合

n分経つ前にUserが何かを発言した。
↓
セットしていたタイマーと発言を破棄する。
↓
「大丈夫?元気ない?」の発言記憶を消し去る
↓
和気あいあいと話す

Happy End...(2回目)

という感じです。僕のアルゴリズム、理解していただけたでしょうか?

SKSのメリット・デメリット

このSKSアルゴリズムのメリットは、以下のとおりです。

  • 1,より自然なタイミングで発言が可能
  • 2,トリガー連動型アルゴリズムと一緒に使える
  • 3,プロンプト(Function Callingを追加)を変えるだけで実装可能(おそらく)
  • 4,GPUコスト(電気代・サーバー代)が爆発的に安くなる(自律型エージェント比較)

コレだけ見ても、非常に理にかなっていることがわかるのでは無いでしょうか?

では、逆に、デメリットは何でしょう。

  • 使用しないセリフまで生成してしまう。(話しかけの ON/OFF 機能の追加で対応可)
  • 急な状況の変化に対応できない(地震情報など) ← (トリガー連動型アルゴリズムとの組み合わせで対応可)
  • 未読スルーの理由を特定できない(電話中だったのに、「大丈夫?」とメッセージが送られてくる) ← (もっと汎用的なメッセージを考える(何してるの?など))

最後に...

僕の記事を閲覧くださり、ありがとうございました!

もし、なにか意見等ございましたら、ご連絡いただけますと助かります。

このアルゴリズムで、オープンソースが発展することを、心より願っています。

  O P E N S O U R C E
  W I L L P R E V A I L !
~オープンソースに栄光あれ~

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?