🎶

Vibe Coding で 議事録BOT を爆速開発してみた

に公開

概要

この記事では、Vibe Codingで「Google Meet向けの議事録BOT」を、
業務外の平日の隙間時間と土日を使いながら、約1週間で作成した記録とその過程をご紹介します。

議事録BOTの概要

詳細は割愛しますが、Client(ブラウザ)からGoogleMeetのIDを入力するとBOTが参加し文字起こしやデータの加工をした上で、Clientに結果を表示します。

想定読者

  • 自分で気軽に作ってみたいサービスがある方
  • AIを活用した開発手法に興味があるエンジニア

Vibe Codingとは

Vibe Codingでは、開発者が自然言語(日本語など)でAIに指示を出すことでコードを自動生成し、アプリケーションを構築します。提唱者とされるKarpathy氏は、「コードを意識することなく、自分の要求を伝え続けるだけのスタイル」 と表現しています。

Vibe Codingを行う上での注意点

Vibe Codingは手軽にコードを生成できる反面、AIが生成したコードのセキュリティについて十分な理解がないままサービス公開(クラウド環境へデプロイ)してしまうと、深刻なリスクにつながる可能性があります。コードにセキュリティ上の脆弱性が存在していた場合、悪意ある第三者にアプリケーションが乗っ取られたり、データの漏洩など重大なインシデントに発展することも考えられます。

そのため、Vibe Codingを用いたサービスを公開する際には、開発者自身がセキュリティに関する基本的な知識を持ち、生成されたコードの安全性を確認する必要があります。

今回の開発で活躍したAIツール紹介

  • GenSpark(ツール・ライブラリ・APIなどの情報検索)
    特にGenSparkのSuperAgentは、他の検索機能付きAIと比べて、検索回数や速度のバランスが良く、検索結果を整理して要点をまとめる能力(Thinking)が優れているため、調査や情報収集には主にGenSparkを使用しました。

  • ChatGPT(o3、o3 DeepResearch)(設計・実装)
    基本的な設計・実装には、通常モード(o3)とDeepResearchモード(o3 DeepResearch)を使用しました。感覚的には、比較的簡単な実装でも、通常モードよりDeepResearchモードを使った方が精度が高く、確実に進められました

  • Cursor(実装の修正・エラー解消)
    ChatGPTが出力したコードの微調整や、実行中に発生した軽微なエラーの解消にはCursorを使用しました。Cursorからもo3を利用できますが、追加課金が必要なため、基本的にはChatGPT側を代用しました。

  • 番外編:Macの音声入力
    "Vibe"を維持するには、AIとのスムーズなコミュニケーションが不可欠です。キーボード入力に比べて音声入力のほうが圧倒的に速く自然なため、Vibe Codingを行う際はぜひ試してみてください。

Vibe Codingの具体的な開発プロセス

ここでは実際にVibe Codingで、議事録BOTを開発した過程を紹介します。
※括弧内の数字は大体の作業時間です

① Google MeetにBOTを追加する方法を調査・実装(~8H)

最初に、Google MeetへBOTを参加させる方法をGenSparkで調査しました。

調査の結果OSSや既存のSaaSを使う選択肢もありましたが、OSSでは実装予定の要件を満たしていなかったり、SaaSでは担当者とのオンボーディングが必要だったため、"PoC"であることも考慮して自分でシンプルなBOTを追加する仕組みを作ることにしました。

実装方針が決まった後は、 o3のDeep Researchモードで実現したいことを伝え、追加調査・設計と実装後のコードを提示してもらいました。
結果としては、約1日でGoogle MeetにBOTを追加できるようになりました。

② 会議の音声取得を調査・実装(~4H)

次に、会議の音声を取得する方法を調査・実装しました。
BOTの追加同様に、この分野での経験はほぼゼロだったため、AIのサポートを最大限に活かすVibe Codingの真価を発揮できた場面です。

実際にAIとやり取りしながら、半日でBOTが参加した会議の音声をキャプチャできるようになりました。

③ 音声キャプチャを文字起こしAPIにつなぐ(~16H)

取得した音声をテキスト化(文字起こし)するAPIについても、経験が少なかったため、まずはGenSparkを使って候補となるサービスを調査しました。

最初はGemini Multimodal Live APIの利用を検討しましたが、接続がうまくいかず断念しました。
改めて「まずは確実に文字起こしができること」を重視して再調査し、ドキュメントが整備されていて、無料枠もある『Gladia』を採用しました。
Gladiaとは問題なく接続でき、音声キャプチャ〜文字起こしの流れが完成しました。

Gemini Multimodal Live APIは比較的新しく、生成AIへ十分な情報(実装例やドキュメントなど)を提示できなかったことが難航した要因の1つと振り返っています。

④ 文字起こしデータを使った議事録Agentを作成(~4H)

文字起こしデータの取得が可能になった後は、GoogleのAgent Development Kit (ADK)を用いて議事録Agentを作成しました。GeminiのAPIと直接接続する方法もありましたが、ADKの利用経験がなかったため、ついでに試してみることにしました。

Agentの実装は難なく進められ「文字起こしデータから要約データ」への加工機能が実現しました。
今回はADKを利用しましたが、Agentとして拡張性が高く、要約データへの加工以外の機能も容易に実装できることも採用理由の1つです。

完成したClient側の画面(文字起こしと要約データの表示)

Client側のUIもVibe Codingで、要約データの表示とオーバーレイ風に文字起こしデータを表示できるようになりました。

Vibe Codingで感じたメリット・デメリット

実際にVibe Codingを試してみて、現時点でも十分に有効な手法であると感じました。

ただし、効果的にVibe Codingを行うには、AIツールや各LLMの特徴についての基本的な理解が重要であると考えています。「どの用途にどのAIを使うか」を知っていることで、"Vibe"を維持したまま開発を進めることができます。

今回の議事録BOTの実装でも、単にChatGPTのGPT-4oのみを使用していたら、1週間での完成は難しかったと思います。調査・設計・実装など、それぞれの工程に適したAIを選択することが、スムーズな開発につながっていたと考えています。

Vibe Codingが適したプロジェクトとは?

Vibe Codingは特に「PoC」や「個人で何か作りたいけど、具体的に何から始めて良いか分からない」といった、ふわっとしたアイデア段階に適していると考えています。

「時間がかかること」を理由に実現を諦めていたプロジェクトを、AIのサポートを得ながら気軽に挑戦できるようになりました。もちろん現時点では、一定の時間と労力は必要ですが、それでも以前に比べれば開発に要する時間は大幅に短縮されました。

Have a nice Vibe Coding!

Vibe Codingは、従来の開発方法とは全く異なる新しい開発体験を提供してくれます。
短時間でアイデアを形にできることはとても魅力的で、「ここまでやってくれるの!?」という驚きと、AIの進化へのワクワク感を味わえた1週間でした。

「こんなサービスを作ってみたい」という想いがあれば、気軽にVibe Codingを体験してみてください。


私たちの会社では「あなたの想いを、挑戦に変える。」をMissionに掲げ、
新たなチャレンジにワクワクできる仲間を募集しています。
興味をお持ちの方は、ぜひこちらもご覧ください。


dotD Tech Blog

Discussion