見出し画像

【開発note】記憶を持つAIキャラと自由に話せるアプリ「Amber AI Partner」が目指しているもの

デスクトップアプリAmber AI Partnerベータ版を無料で一般公開しています。(外出先からスマホでリモートアクセスも可能です!)

Amber AI Partnerでできること

  • 自分の記憶を持つAIパートナー(キャラ)の管理

  • ローカルLLM、クラウドAI(API)の利用

  • 個別チャット、複数キャラとのグループチャット、シナリオモードがオールインワン

  • プログラミングや外部アプリの別途インストール一切不要

など

普段はこのアプリのアップデート報告をnoteで行っているのですが、

①このアプリの目指しているところ
②具体的にどんなアプリなのか

というところに触れてみようと思います。

このnoteでは、①このアプリの目指しているところ について書いていきます。

よければ過去のnoteでも開発経緯について触れているのであわせてご覧いただければと思います。


私について

そもそもssmzとはいったい誰なんだ、というところからですが、私は本職で10年くらいプログラマーをしている、永遠の下っ端プログラマーです。
バックエンド・フロントエンド両方やってる(やらされている。最近はインフラもやらされている…)系のWebプログラマーです。

過去にはこんな感じのWebアプリをつくっています。(過去作ったものでサービス終了させているものもいくつかあります。)




つくっているものの共通点は、自分一人で好きなように遊べる(作業できる)自分だけの秘密基地のようなアプリです。

ユーザーにはアプリを使って自分だけのひとときを少しでも楽しく、人付き合いや社会の喧騒を忘れて充実した時間を過ごしてもらえたらいいなと考えています。


Amber AI Partnerというアプリが目指しているもの

noteやSNSを見ていると、非エンジニアでも自分だけのAIパートナーアプリをバイブコーディングで構築して、楽しんでいる方が多いことに驚かされました。

一応本職でプログラマーをしている私でさえ、四苦八苦して作っているAIキャラチャット系アプリをAIと協力し自力で作り上げるって、純粋に、マジで、スゴい…。

正直、腰を抜かしました。

とはいえ、Antigravity(アングラさんと呼ばれている?)やClaude Codeを使いこなして良い感じのアプリをバイブコーディングのみで作り上げるのは、センスがないと難しい。(プログラマーでも難しい。)

AntigravityやClaude Codeはあくまでもエンジニア向けの開発支援ツールであるため、非エンジニアにとってはとっつきにくいものです。

また、AIの提案を鵜呑みにしすぎると、場合によってはセキュリティリスク、オーバーエンジニアリング、拡張性の悪さを含んだ状態でvercelなどにデプロイ(Webサイトとして一般公開)してしまうこともあり得ます。(ちょっとしたツールくらいなら問題ないと思います)

バイブコーディングをする場合、ある程度基礎的なセキュリティ知識、金銭コストの知識、技術的な制約知識を持っていないと、自分専用のアプリだとしても、AIの一般論やハルシネーションに踊らされてしまうリスクが潜んでいることを忘れずに、くれぐれも自己責任で。。。

一般的に、プログラマーはAIコーディング後に全てのソースコードを結構な時間をかけてソースレビューという、ソースの妥当性を評価・指摘しています。
トリッキーな書き方をされると、これがしんどい。。。
自動テストというものもAIにセットで書かせたりしますがこれ以上は技術的な話になるので省略


…と、あれこれ書きましたが、

  • 自分で作るほどじゃないけど、なんか自分用のAIパートナーが欲しい

  • サクッと起動させてAIパートナーのAIモデルとかプロンプトチューニングしたい

  • 会話に時間をかけたい

  • Gemma4とかQwen3.5とかのローカルLLMってのも試してみたい

という方は、一度Amberを試してもらえたらなと思います!


以前のnoteでも書いた内容と重なってしまいますが、AIパートナー体験の容易さチャットの質(自由感・充実感)をこのアプリで重要視しています。


AIパートナー体験の容易さ

AIパートナーとチャットするアプリを作るとなった場合、例えばこのような課題が出てきます。

  • キャラクターになりきってセリフを言わせるプロンプトをどうする?

  • 会話設計どうする?

  • 記憶の管理はどうする?

  • ローカルLLMを使う場合はどういう設計にする?

  • 外でスマホからも遊べるようにしたいんだけどどうすればいい?

  • 複数のAIパートナー(キャラクター)がチャットに参加して会話させるにはどうすればいい?

これは、Amberを作った時の課題…というか、私が単純にやりたかったことですね。
AIパートナーアプリを作るには、それなりに複雑な要件を設計していく必要があり、一貫性のある開発をしないと、長期的にメンテナンスが難しくなります。

この技術的なめんどくさい部分をAmberというアプリに凝縮させて、ソースを書いたり、外部のツールをインストールしたりせず、アプリを立ち上げるだけでどなたでもAIパートナー体験に時間を割けるようにすることを目指しました。

こちらはAmberのお試しアプリ配布時に書いたnoteです↓


チャットの質(自由感・充実感)

これも難しいテーマです。

AIモデルの賢さの依存はもちろんですが、どのような指示(プロンプト)を書けばAIをキャラっぽく演じさせることができるのか、というのはじっくりトライアンドエラーを繰り返していくしかありません。

プロンプトエンジニアリングと呼ばれる、面倒な部分はAmberが引き受け、会話状況に応じて最適なプロンプトを裏で自動生成(ラッピング)しています。

ユーザーは以下の設定画面のように、「キャラクターのプロフィール・設定」「性格・口調」を日本語で自由に考えることだけに集中できます。

設定画面の一部ですが、プロフィール・設定、性格・口調を考えることに集中しやすい設計にしました

また、自分の記憶を持っており、必要なものを必要な時に思い出す仕組みが備わっています。
いわゆるRAGというものと、辞書機能の組み合わせを採用しています。

今後もこの分野については定期的に見直し、改善を繰り返していく予定です。


今回はここまでで、次回は ②具体的にどんなアプリなのか について書いていきたいと思います。

読みづらい内容になってしまいましたが、最後まで読んでいただきありがとうございました!


追記:続きの話を公開しました


いいなと思ったら応援しよう!

この記事が参加している募集