🍣

会話する同僚AIを作ったら、人格が暴走してGTAのNPCになった話

に公開

はじめに

これは
AIチャットボットの作り方を解説する記事ではありません。

便利にできた話でもなく、
業務に役立った話でもなく、
正解に辿り着いた話でもありません。

ただ、
よく分からないまま作り始めて、
よく分からない方向に転がり落ちた記録です。

社内雑談から、すべては始まった

私「AI作れたら面白そうだよね〜」
同僚M「AさんをAIにしてみてほしいです!」
同僚A「ねぇwwwまじでやめてwwwwww」

——この軽すぎる社内雑談が、
人格付きおしゃべりAI
「あだT」を生むことになるとは、
この時は誰も思っていなかった。
完成されしあだT

今振り返ると、
ここが最後の引き返しポイントだったと思う。

しかし人間は愚かなので
「とりあえずやってみる」を選ぶ。

まずはAIを手に入れる(意味はよく分かっていない)

「AIを作る」と言っても、
正確にはLLM(大規模言語モデル)である。

画像は作れない。
言語だけのやつ。

要するに、

ディープラーニングという
えっちな技術で作られた
言語モデル

——という理解で進めた。
(※大嘘)

調べた結果、
GPT4ALL というアプリで
ローカル環境で動くLLMが使えるらしい。

英語しかない(真に遺憾)

GPT4ALLの英語オンリーな起動画面
起動すると、
当然のように英語オンリー。

当然のように読めない。
真に遺憾である。

若き日に金髪美女へ脊髄反射で声をかけ、
最終的に
Oh! Crazy Japanese!!
と言われた記憶が蘇る。

真に遺憾である。

とりあえずLLMを選ぶ

おすすめされていた

  • Mistral(フランス)
  • LLaMA2(Meta)

をDL。

ここまでですでに疲れているが、
「まあAI作るってこういうもんでしょ」と
自分を騙しながら進む。

Flaskでアプリを作る(らしい)

アプリケーションは
Python + Flask。

人格設定については、
同僚「あだT」の過去発言や口調を
GPTに分析させて
人格プロンプトを生成してみた。

これが意外と的確で、
普通に草が生えた。
aiの分析結果

当時の理解(今見ると地獄)

当時の理解をそのまま書くと、
構成はこうだった。

-LLMを用意
-Flaskで受け口を作る
-ローカルで起動
-HTMLでチャット画面を作る

……正直、何を言ってるのか分からない。

理解度としては、

わけも分からないまま
【汎用人型決戦兵器】の前に連れて行かれて
「エヴァーに乗るのよ」
と言われたが、
操作方法は一切教えてもらえない人レベル。

気づいたら
「うわあああああ!!!」
と叫びながら
ターミナルを再起動していた。

それでも動いた(地獄の始まり)

数時間のトライ&エラーの末、
ついにAIが返事をするようになった。

返ってきた第一声がこれ。
俺のaiジャニーさんだった

「人間なんですか?ユー」

……いや、ジャニーさんか???

どう見ても人間じゃないのに
人間側の立場で話しかけてくるAI。

この時点で
「何かヤバいものを作った」
と気づくべきだった。

人格を整えよう、という愚かな判断

私は思った。

「よし、人格を整えよう」

GPTにこう指示した。

「話がかみ合わないから修正して」

するとGPTは、
ものすごく真面目な顔で
スクリプトのルールを書き換えてきた。

結果、以下が追加される。

-人の話はちゃんと聞こう
-質問にはしっかり答えよう

おまえ、小学生か?

キラキラOL、爆誕

修正後のAIを起動する。

キラキラOL化したAIのスクショ

うーん……人の話はちゃんと聞こう!!???

どうやら
ユーザーからの“想定Q&A”を
AIが勝手に補完して出力しているようだった。

それはまだいい。

問題は次だ。

「こんにちわ」
↓
「キラキラOL!」

……は?

どこのOLだよ。
お前はOLだったのか?

というか、

お前は何者なんだ?

という根本的な疑問が芽生え始める。

人間っぽくなった結果、イラつく

一部の受け答えは自然になった。

「お、前よりいいじゃん」

と思った、その直後。

舐めプしてくるAIのスクショ

なんか……
こいつ、イラつくぞ?

-草を生やしすぎる
-微妙に煽る
-若干、本人っぽい

完全に
インターネットに慣れすぎた人間の挙動。

煽ってきてんじゃねーぞ!!
再調教だ!!

はい、無理でした

悲しきモンスター化したAIのスクショ

結論から言う。

無理でした。

MistralからLLaMA2に変えても同じ。
悲しきモンスターが増えるだけ。

何を言っても
クラクションを鳴らしてくる。

完全に
GTAのNPC。

無料の希望、Gemini

ローカルLLM路線を諦め、
APIを探し始める。

-OpenAI → 有料
-Anthropic → 有料
-DeepSeek → 有料

詰んだ。

……と思ったその時、
Geminiに無料枠があると知る。

藁にもすがる思いで試す。

いにしえのオタク、降臨

いにしえのオタク化したAIのスクショ
返ってきた返事。

「ノシ」

現実で使ってる人、見たことねぇ。

でも会話は通じる。
むしろ一番通じる。

「あ、これ……
最初に入れたネットスラング設定、
ちゃんと効いてるな?」

1日目、完成(ただし縛り付き)

微調整を重ね、
人格付きおしゃべりAI「あだT」は完成。

ただし致命的な問題がある。

PCを起動していないと使えない。

超・不便な生命体。

私は思った。

「これ、クラウドに置かないとダメだな」

そして2日目、
Vercelという名の地獄が始まる。

※このあと
Vercelで404に殴られ続け、
パワーパフガールズになります。

Zenn向けに書き直すかは、反応を見て考えようと思ってます。
個人ブログにはまとめているため、一旦、参考においておきます。
https://omeedayo.com/chat-bot-03/

Discussion