吉田の雑記

エンジニアとしてのアウトプット中心でその他のことも書きます

Webアプリに生成系AIを組み込む

この記事is何

最近の趣味でやっていたことネタ。

最近ウェビナーを見てても各社すごくワクワクして取り組んでいると感じたし、バリエーションが無限に広がる〜と思ったので、個人的にもOpenAI APIを試してみた。

1発目としてはコンセプトや感想をまとめつつ、技術的な部分は別途記事を作成するかも。

諸注意

バーっと作ったものの紹介なので、細かいところの説明はしない。

作ったもの

タイトル:AIトークデッキ
APIとPaasにFly.ioを利用しているため、利用料の関係で公開停止する可能性があります。

https://ai-talk-deck.fly.dev/ai-talk-deck.fly.dev

はてブロだとOGPのサイズダメかも、、、

github.com

概要

誰かと話すときに話題がなくて、「今日の天気はいいですね、、、」「曇ってるけど、、、」みたいになる人向けのアプリ。

キーワードを与えると、それに関連した話題をAIが作成して5個程度示してくれる。

生成した話題の詳細画面のリンクを共有すると、動的なOGPが生成されるため、よくサービスとしてある〇〇箱、マシュマロと同じような感覚で共有できる。

↓イメージ Image from Gyazo

また、FigJamやチャットに無造作に貼り付けてカードとして使える点は個人的に良いんじゃないかなと思っている。

Image from Gyazo

AI使って何が良いの?

今までは管理者が用意したデータをランダムで表示するなど、管理面が面倒だったが、LLMを利用すると理論上はほぼ無限に近いようなパターンを生成できる。(が、現状の実装だと似たようなパターンは多い)

ダミーデータ生成などでもChatGPTは利用されたりするので、「全部が全部それらしいデータを頭で考えるのは面倒」という人にこんな使い方もあるよという思考の手助けになれば。

あとは開発上の観点にはなるが、AIを割とファジーAPIとして使えるので、APIが無いからアプリが作れないといったことを解消してくれそう。
(ただし、特定のAPIにのみ依存したアプリにしてはいけないという点は昨今のTwitterAPIの仕様変更などからも明らか)

開発の観点

今回の開発上のテーマは爆速開発+テストを書く。

爆速開発に関して、MVP自体は作成開始当日には公開した。

それができたのはアプリ自体のサイズ感とやはりRailsだったからということが大きいと思う。モノリス最強!

さらに個人で契約していたGitHub Copilotを利用することで、Railsは決まった書き方が多いことからすぐにサジェストしてくれるし、テスト(RSpec)も瞬時に提案してくれる。

この辺りは最近のAIの恩恵を受けながら開発ができた(ので、この先もやめられないだろうなと、、)。

開発者としてはアプリを高速にデリバリできるので、ワクワクが止まらない。

まとめ

アイディアさえあれば、バリエーションの面(LLM)や開発速度の面(Copilot)でアプリを作るハードルはとても下がっているように感じる。

あとはやる気と時間次第。

なので一緒に作ろうぜ、アプリ。