話しかけるだけで自分専用のデータベースアプリを作る:MulmoClaudeの「コレクション」機能

YouTubeで開く ↗
概要

中島氏が開発しているオープンソースのアプリケーション「MulmoClaude」がある程度の形になったため、その発表として実際の使い方を紹介した動画である。中島氏はMulmoClaudeを一言で言えば「AIエージェント」だとしつつ、その背景には、自然言語を理解するLLMが登場した以上、コンピューターやOSのあり方は根本的に変わるべきではないかという問題意識があると語る。これまで続けてきたリサーチやプロトタイプ作りが、ようやく形になったのがMulmoClaudeだという。

11分で読めます

この回の中心は、MulmoClaudeの「コレクション」という機能である。ユーザーが自然言語で頼むだけで、データベースとその上で動くアプリを作れる。中島氏は自分が実際に作って使っているコレクションを次々に見せ、どんなことができるのかを示した。

1:20

目指しているのは「バイブクラフティング」の環境

中島氏によれば、MulmoClaudeには自分が欲しい機能を入れてきた。仕事のことも個人的なことも一切合切を覚えておいてもらい、管理してもらう。パーソナルアシスタント的な機能をすべて持った、アプリというより「環境」だという。

特に重視したのが、いわゆるバイブコーディングとの関係だ。自然言語で頼むだけでLLMがプログラムを生成してくれることは、だんだん可能になってきた。しかし中島氏は、これは普通のユーザーにとって敷居が高いと指摘する。LLMはコードを書いてくれるが、書かれたコードをどうメンテナンスし、どう使い、どうバージョンアップするかは面倒な話で、普通のユーザーには使いこなせない。エンジニアである中島氏らはそれを使っていろいろなものを作っており、MulmoClaude自体もそうやって作られた。

そこで中島氏は、エンドユーザーがバイブコーディングを意識しなくても済む仕組みをMulmoClaudeの中に組み込もうとした。これを中島氏は「バイブクラフティング」と呼んでいる。欲しいアプリを頼むだけで作ってもらえ、アプリをどこに置くか、後からどうたどり着くかを心配せずに好きなように使える。そうした環境を作りたかったという。

3:07

Wikiからデータベースへ

MulmoClaudeの出発点は、アンドレイ・カルパシー(Andrej Karpathy)が語っていた「WikiとLLMを組み合わせたら面白いものができるのではないか」というアイデアだったと中島氏は説明する。中島氏自身もこのWiki機能をかなり使っている。例として、Wikiの中に「AIチップベンチャー一覧」があり、そこから各社(Groqについては「買収されちゃったけど」と補足している)の情報にたどり着ける。自分で書いたりLLMに探させたりして情報を貯め、ネットワーク状に蓄積していくのが最初の機能だった。

ただし中島氏は、ネット上の文書などを保存しておく用途ならWikiでよいが、生活の中で扱うデータ、たとえばToDoリストやカレンダー、ちょっとしたメモなどは、Wikiよりもデータベースの方が優れていると言う。データベースは表形式のデータで、各アイテムにフィールドが付いている。

中島氏の整理では、カレンダーアプリもToDoアプリも、あるいはメールも、基本的にはデータベースの上に成り立っている。各フィールドがどんな意味を持ち、他のテーブルとどうつながっているか(リレーション)を記述したスキーマがあり、そこにビジネスロジックが付き、さらに用途ごとにカスタマイズしたビュー(カレンダーならカレンダービュー)が作られている。これがビジネス用に限らず、データを貯めておくアプリの基本的な作り方だという。それなら、こうしたデータベースアプリをユーザーが口で頼むだけで作れる環境が欲しい。そう考えて作ったのがコレクション機能である。

コレクションは画面上の「コレクション+」からチャットを始め、LLMに頼むだけで、欲しいデータベースとその上のアプリを、カスタムビューも含めて作ってもらえる。画面には多数のアイコンが並んでいるが、デバッグ用のもの以外はすべて、中島氏がコードを書いたのではなく、MulmoClaudeを立ち上げた後にエンドユーザーとしてLLMに話しかけて作ったものだという。

6:26

カレンダー:アプリは最初から入っていない

最初に紹介されたのは、中島氏が先日日本へ出張した際の、ミーティングやイベントをまとめたカレンダーである。テーブルのスキーマはシンプルで、各アイテムに場所、主催者、時間、URLなどが入っている。これを月単位のカレンダービューや週単位のビューで表示できる。テーブル、カレンダー、カンバンの各ビューはもともと組み込まれているが、週単位のビューは中島氏が自然言語でAIに頼んで作ってもらったものだ。

中島氏が注目してほしいと強調したのは、MulmoClaudeにはカレンダーアプリが最初から入っていないという点だ。自分でAIに頼んで作ってもらう必要がある。だから必要ならカレンダーアプリを複数作ってもいいし、自分に必要なフィールドを持ったカレンダーにしてもいい。カレンダーなのかToDoリストなのかよくわからない、両者を合体させたようなものも作ろうと思えば作れるという。

ToDoリストは組み込みのカンバンビューを使っており、アイテムを列から列へ移すといった操作はシステム側が提供している。中島氏は「それほど面白くない」と述べ、簡単に紹介するにとどめた。

8:19

RSSリーダー型のコレクション

中島氏によると、コレクションには2種類ある。1つはユーザーがデータを追加していくタイプのテーブル、もう1つはRSSリーダーとして外部から情報を取ってくるタイプだ。

例の1つは、レックス・フリードマンのポッドキャストである。RSSフィードを与えると内容を取ってくる。元の状態はテーブルビューだけで面白みに欠けるため、組み込みにはないギャラリービューをLLMに自然言語で頼んで作ってもらった。このビューではその場で再生でき、自分で5つ星の評価も付けられる。

もう1つはニューヨーク・タイムズだ。中島氏は購読者で、そのRSSフィードからカスタムビュー付きのリーダーを作った。ニューヨーク・タイムズのフィードには写真が含まれているので、写真を使ってカスタムビューを作ってと頼むと、写真付きの一覧になった。RSSとして自動的に動き、中島氏の記憶では1日1回更新を見に行く。この画面を開けば最新の記事にたどり着け、写真があるので「これはテスラの話だ」「これは中国のスーパーコンピューターの話だ」とすぐ分かるという。

9:52

「自分食べログ」と映画・ドラマのポスターギャラリー

レストランのコレクションには、行った店とこれから行きたい店が入っている。テーブルビューでは店名、場所、ウェブサイト、電話番号、行ったかどうか、評価などが並ぶが、ビューとしては面白くない。中島氏は基本的に東京周辺でしか店に行かないので、東京の地図を作って場所を表示するよう頼んだ。さらに写真もあった方がいいと考え、店の写真をネットから拾ってきて付けるよう頼んでいる。自分で撮った写真を使うこともできる。中島氏はこれを、あまり手をかけずに「自分食べログ」のようなアプリが簡単にできる例として紹介した。

これまでに見て気に入ったテレビドラマや映画のコレクションも、最初は地味なテーブルビューだった。中島氏は「もう少しウキウキする画面にしてほしい」と思い、ポスターギャラリービューを作ってもらった。その際、各作品のポスターやサムネイルもネットから拾って付けるよう頼んだ。これも組み込みのアプリではなく、MulmoClaudeに話しかけてリクエストを重ねて作ったものだ。項目はチャットで追加することも、ユーザーインターフェースから追加することもできる。

11:41

メルマガ購読者数と株式の分析

メルマガの購読者数については、過去5年分をグラフ化したものを手短に見せた。2024年前半には、堀江氏がメルマガを勧めてくれたおかげで大きく伸びたという。また、毎月少し減ってはまた増えるという、いわゆるチャーンを繰り返していることもすぐに分かると説明した。

株式のコレクションには、中島氏が保有している銘柄や注目している銘柄が入っている。名前と株価に加え、PER、配当利回り、売上などをネットから取ってきて入れてもらう。中島氏が特に気にしているのはPERと、売上に対して時価総額が何倍かを示すレベニューマルチプルで、この2つを両対数軸のグラフで表示している。このグラフを見れば、パランティアはPERはそれほど高くないがレベニューマルチプルが高い、テスラはPERがとても高い、AmazonやBerkshire Hathawayはどちらも低い、といったことがすぐに分かるという。

さらに、テーブル同士を関連付けられる機能を使ったポートフォリオのビューもある。金額は画面上で隠されていたが、各銘柄の評価額から計算したポートフォリオ比率が一瞬で出る。中島氏のポートフォリオはテスラが29%、NVIDIAが16%で、偏っていることがすぐ分かると自ら述べている。

14:11

LLMが作った単語帳と生物学の教科書

中島氏が「結構気に入っている」と話したのが単語帳だ。登録されている単語は中島氏が入力したものではない。LLMに中島氏の語彙レベルをテストしてもらい、その結果から、まだ覚えていないぎりぎりのレベルの単語を50個ほど登録した単語帳を作ってもらった。そこにフラッシュカードというカスタムビューを付けてもらい、単語の学習ができるようになっている。実演では「underwhelm」のカードが表示され、中島氏は「期待通りの仕事をしない」といった意味を答えていた。

生物学の学習用コレクションについて、中島氏は「これはまた結構すごい」と紹介した。LLMに教科書を作ってもらったもので、高校の生物はすでに履修しているため、それに上乗せして学びたい内容を章立てしてテーマを決め、それぞれについてレッスンをしてもらう形にしている。「学ぶ」を選ぶと、現在進んでいる第3章の続きからコースを再開する。各章には何を覚えるべきかが書かれており、それに沿って教材が動的に生成されて提示される。中島氏はそれを読んでからクイズに答える形で学習している。

15:21

請求書、SpaceXのイベント管理、レシピ

請求書のコレクションは、中島氏が実際に請求書を発行するときに使っている。別にクライアントのデータベースがあり、たとえば対談を行った相手先に対して請求書を発行できるようになっている。

中島氏が「やってみたら結構うまくいった」と話したのが、SpaceXの上場後のイベント管理だ。上場後は、Nasdaq-100への組み入れや決算発表、それに伴うロックアップ解除など、株取引にとって重要なイベントが続く。これらを1つずつアイテムとして登録し、カスタムビューで「今どこにいて、あと何日で何が来るか」を見られるようにした。SpaceXとテスラの両方を扱っている。

画面を見れば、たとえば現時点では2週間後にNasdaq-100に組み入れられること、8月12日ごろ(中島氏は「外産」と言っており、見込みとみられる)に最初のロックアップ30%が解除されることが分かる。中島氏の見立てでは、Nasdaq-100に組み入れられる瞬間には80億〜120億ドル規模の強制的な買いが起きるため株価が上がる可能性があり、逆にロックアップ解除の瞬間には多くの株が売りに出されて下がるかもしれない。そうしたことを意識しておくためのものだという。

レシピのコレクションには、中島氏が自分で作れる料理を登録している。本人いわく「そんなにバラエティはない」。これもテーブルビューではいまひとつなので、写真付きのカスタムビューにしてもらった。

18:26

支払い管理:ロジックを持つシンプルなアプリ

最後に見せたのは、デモ用に分かりやすく作ったという定額サービスの支払い管理だ。基本はテーブルで、ChatGPTに月いくら、Claudeに月いくらといった支払い義務が入っている。ただし裏には仕掛けがある。実演では、Netflixのスタンダードプランの今月分を「支払った」とすると、その項目が「現在」から「支払い済み」の側に移り、7月1日分の代わりに8月1日分の新しい項目が現れた。Claude Maxでも同じ操作をすると、同様に次月分が出てきた。

中島氏は、これはとてもシンプルなデータベースアプリだが、こうしたアプリが口でリクエストするだけでできてしまうのがMulmoClaudeの特徴だと述べた。データとビューだけでなく、支払いを記録すると次回分を生成するといったロジックも、話しかけるだけで持たせられることを示す例になっている。

19:34

今回扱わなかったこと

中島氏は、今回は自分がMulmoClaudeをどう使っているかを説明したかったと述べた。実際にカスタムコレクションを作る手順や、コレクション用のビューをどうやって作るかは、別の機会に説明するとして動画を締めくくっている。