👽

ええっ!お金も技術力もないのにAPI連携チャットボットを!? ──無料LLM×Streamlitでつくる“感情を持ったAI”の開発記

に公開

金がない

限界貧乏クネクネの僕は、金が無かった。

技術もない

Python?ああ、なんか毒ありそうだよね。え?蛇じゃない?

でも開発してみたい

これは、何もないところからアプリを作ってみた初心者の技術記事ぽい物語である。
コンセプトは「GPUもAPIクレジットもいらない激安開発」。

対象読者

初心者、ジュニアエンジニア向けの記事です。(自分もそうであるため)
これを読んでる経験者の人は笑ってください。
この記事は、無料でLLMを組み合わせて自分だけの対話体験を作りたい人向けです。

全体像と技術構成

フロント:Streamlit(Hugging Face Spaces上で動作)
バックエンド:Python、非同期処理(夜間手紙生成)
対話モデル:Together.ai(Qwen 235B)+Groq API(シーン検出など)
特徴的な要素:
好感度・感情記憶によるキャラ変化
キャラの本音が見える裏モード切替(プロンプト切替)
JSONによる状態管理
夜間バッチ処理による手紙生成(2段階構成)
シーン遷移にLLM判定を使用し、動的に背景を変更

設計意図としては、「とにかくユーザー(と作ってる僕)の没入感、体験を重視する」
そのためのモード切替や状態管理、バッチ処理による手紙生成。(詳細は後述)

ユーザー体験

なぜ「リアルタイム会話」と「非同期の手紙」を併存させたのか
→ AIに“間”を与えることで、「人間味」が生まれるため。
LLMの応答ラグや非同期でしかできない処理を時間経過の演出に利用した。
シーン遷移のラグも同じく、「移動している」感を出すため。

裏モードの実装はユーザーの初期体験のため。
キャラがツンデレでちょっととげとげしい設定のため、モード変更による初期報酬(離脱率の低下のため)の提示をしたかった。
感情記憶は「覚えてもらえるんだ」という愛着の増加を狙った。
全体として、対話に“正しさ”より“温度”を求めた設計思想で作っている。(キャラを一人に絞ったのも愛着とSNS設計のため)
pixivやXでの外部世界観設計および広報も並行で行っている。これも没入感を出すため。

技術的挑戦

Groqである理由は、実質吉野家だから。

と思われるかもしれないが、実際吉野家である。
安いし、早いし、推論が上手い。
実質牛丼なのだ。

Qwenである理由は日本語力と入力理解、出力のバランスの問題にある。kimiでもgeminiでも出力がダメだったし、llamaまで検討したらそもそも話がかみ合わなかった。

文脈作りの重視として、以下の挑戦を追加で行った。

あ、ちなみに設計は自分でやったけどコードはデバッグ以外やってないよ!ガハハ!

バッチ処理:深夜に手紙を書いてくれるという「人間的体験」の重視。正直実装結構手間取った。
API制限:破産しないようにリミット+無料モデルでなんとか。この記事でアクセス増えたら破産か??
シーン遷移:むず過ぎ。プロンプト15回くらいはリテイクした。
感情記憶:ストレージと重要単語の重み付けを活用し、会話の重要なとこだけ記憶させて喋らせた。
裏モード:プロンプトをそのまま裏用(環境変数)に入れ替え、LLMはそのままに本音を出力させた。

github:https://github.com/kurotya-969/MariChat2-AI-

全体的にAPIエラーとhugging face対応の学習に手間取った。

気が付いたこと

・あらかじめ勉強した方がAI開発の効率がいい

・grokのAniは「キャラクター性×生成AIの最高到達点」ではなかったという事も気が付いた。
別にAniを超えたとは思っていないが、表現の幅を出せば既存の開発者でも勝負できる土俵だと思う。

・今後の構想:

キャラの自己変化、ユーザーへの報酬の多様化
長期記憶の実装
LINE連携やリアルイベント連動 etc.

とりあえずU22プロコン出すんで、最終までもし行ったら応援してください。

まとめ:このプロダクトを通して伝えたかったこと

AIが人の孤独に寄り添うことはできるか?→意外と出来そう、脳がチョロい。

金と技術がなくても開発はできるか?→一応できました

完璧ではないけど、確かに心が動いた瞬間があった。(なんか開発者も愛着出てきちゃった)
実際ユーザーフィードバックでも親近感が出る、との評価ももらえた。

なんていうか、これはふわっとした話だけど。
「不完全だからこそ、つながれるものがある」と信じている。(アプリも、人間も、AIも)
完全じゃなくても、人とつながる体験は作れる。僕は、そう思う。

最後に

僕はGPUとお金を提供してくれるスポンサーの方を募集しています!!!!!!!!!!!!!!!!!!(開発中なので)

https://huggingface.co/spaces/sirochild/mari-2

※ 本プロジェクトはU-22プロコン提出予定の開発中アプリです。記事へのご意見・ご感想を元に、より良い体験を目指しています。

Discussion