mastraのいい使い方を思いついた - アイデアを得るということ
ソフトウェアエンジニアのための問答ラジオ
パンダとおくだが、Web業界の当たり前を「これって本当にそうだっけ?」と問い直すラジオを配信しています
mastraのいい使い方を思いついた
mastraのいい使い方を思いついたので簡単に書くことにした。アイデアの内容を紹介するよりも、アイデアが生まれた過程を書き留めておきたいと思ったので。
個人的な内容なのでサッと箇条書きで書く。
- 2024年11月にAIを協働させるというアイデアを知った
- 「AIの女の子がわいわい競馬予想するシステムを個人展示したら倍率2000倍の馬券が当たってしまった (1)設計思想編」 という記事を読んだ
- 「なんでも生成AI展示会」で展示したシステムとのこと
- AIを協働させるのはなるほどと思ったが、プロンプトたくさん書くのが大変そうだな〜というのと自分で何かこれをやりたいというアイデアが思いつかず
- 2月中旬にDevelopers SummitでAIエージェントの協働を知った
- LangChain + LangGraph を紹介したセッションがあった
- 面白そうだけど Python だし、概念いくつかあるしややこしいな〜と思っていた(Pythonは5年前に競プロで書いた以来やってない)
- 3月頭に mastraというAIのワークフローを構築するツールがあると知った
- LayerXの松本さんがツイートしていたので、こういうものがあるんだと知った
- mastraはGatsbyJSを作ったチームが制作している
- GatsbyJSは静的サイトジェネレーター(自分の前のブログはGatsbyJS製だった)だが、GraphQLがここまで流行る前から取り入れていた。今回もAIワークフローを構築するためのツールを提供して人気を得るのは、さすが先見の明があるなと思った
- LayerXの松本さんがツイートしていたので、こういうものがあるんだと知った
- 4月上旬に mastra をサンプルコードで動かしてみた
- ローカルのチャット画面で、住んでる地域の天気を教えてくれた
- TypeScript製で、ある出力を次の入力にすることが簡単にできるんだとわかった
- 仕事で役立つアイデアが何か得られるかなと思ったが思いつかなかった
- mastraを使うコード自体はAI Agentに書かせればいいなと思った
で、今日mastraのいい使い方を思いついた。
mastra の自分なりの使い方
きっかけは先週のPHPカンファレンス小田原で話したまつぴーさんのXのポスト。まつぴーさんはおいラジオをされていて、ラジオの編集にGemini使ったら楽ですよと伝えた。
https://x.com/Panda_Program/status/1913858689624379565
その後ジムに行って一汗かいてシャワーを浴びていたら、ハッと閃いた。これ、自分のラジオ の音声をブログ化するのに mastra が使えるなと。
前々から、ラジオをブログ化するのはやりたいと思っていた。しかし、プロンプトを書いたりAIが出力した記事のチェックをしたりするのが面倒だったのと、色々他にやることがあって優先順位が低かったので着手できずにいた。ラジオ音声から記事化する検証自体は終えていた。
そこで、以下の手順でワークフローを構築したらやりたいことが簡単にできると気づいた。
- Gemini にラジオの mp3 を渡して文字起こしをさせる(音声処理はGeminiが強い。Google Drive から音声を渡せないか調べる)
- Gemini か何かのモデルに文字起こししたものを記事にしてもらう
- GitHubのAPIを使って、ブログのレポジトリに記事作成の PR を作ってもらう
- これを3日おきに繰り返す
あとは自分がGitHub上でレビューするだけだ。マージしたら自分自身のコンテンツから1記事を作成できる。
まあ、ここではアイデアを出しただけ。先に記事を書いてこれが実現できるかこれから調査、検証する。なので上記の通りにはできないかもしれない。たまには気軽に記事を書くことにする。
アイデアは直線的には降ってこない。紆余曲折あるし、ある時繋がってひらめきが起きる。時には待つことも大事。
mastraって語感がmasterに似てる。マントラとかマンダラ(曼荼羅)にも似てる。マンダラは仏教の密教(真言宗)で、中心に大日如来としてその周辺に諸仏を配置する(はず)。AIエージェントの協働はマンダラ上に描かれた諸仏の連携を思い起こさせる。こうやってあるものと別のものを繋げる(イノベーションの語源は「新結合」)とサイバーパンク感もある。このテーマでChatGPT o3に画像生成してもらって筆を置くことにする。