AB
AiBoss
チュートリアル

Vibeを使って独自のローカルミーティングアシスタントを作成しよう - 初心者向けコーディング完全実践チュートリアル付き

現在、会議の録音をテキストに変換するツールは数多く存在するが、無料録音時間が限られていたり、長時間の録音の処理に時間がかかったりする。最も厄介なのは、文字起こしを受け取った後も、会議の要点をまとめたり、ToDoリストを抽出したりするのに時間を費やさなければならないことだ。

零基础 Vibe Coding 手搓本地会议助手 - 附完整实战教程

他の人も同じような感覚を持っているのだろうか?会議が長引くと、つい気が散ってしまいがちだ。

講演者の話の流れに必死についていこうとしながら、私は急いでメモを取った。会議中は頻繁にうなずいていたが、後で詳細を思い出そうとすると、すべて忘れてしまっていた…。

現在では多くの会議録画およびテキスト変換ツールが利用可能ですが、無料時間的な制約が比較的厳しい。長時間の録音は処理に時間がかかるか、あるいは最も厄介なのは、文字起こしを受け取った後も、会議の要点を整理したり、実行すべきタスクを抽出したりするのに時間を費やさなければならないことだ。

今週末、私はVibeを使って、ローカル環境で動作する会議アシスタントを自分でコーディングしてみました。

これは私がダウンロードした複数人による会話のブログ録音です。会議アシスタントは、それを逐語的に書き起こすのを手伝ってくれただけでなく、さらに... AI 会議の要点を分析し、4人の講演者の見解と今後のステップに関する提案を抽出した。このプロセス全体にかかった時間は1分未満だった!

会議資料の整理、講義やブログの視聴、長時間の動画分析などに利用していますが、結果には非常に満足しています。開発プロセス全体も非常にスムーズでした。単純大まかに4つのステップに分けられます。

  • 要件を分析する
  • 選ぶ Vibe Coding 道具
  • アイデアをプロンプトワード与える AI コードを書く
  • させて AI バグを修正し、機能を改善する

この記事では、アプリケーションのセットアッププロセス全体とツールの設定について説明します。 AI 私はこの提案を皆さんに心からお勧めします。もしあなたが、高額なサブスクリプション制ソフトウェアに完全に別れを告げたいと思っているなら、たとえこれまでプログラミング経験が全くなくても、この手順に従えば独自のアプリケーションを開発できます。

会議アシスタントに求める条件は以下のとおりです。

  • 会議の録画ファイルを直接アップロードすると、ASRモデルが音声をテキストに変換し、話者を識別します。
  • 原稿を受け取ったら、 LLM 大型モデル要点を分析し、主要な内容を整理する。

ツールを選択

Vibe Codingを使ってアプリケーションを開発する場合、適切なツールを選ぶことが成功の8割を占めます。私はVibe Codingを使っています。 Claude Code ステッププランと、星への飛躍を組み合わせたもの。

Claude Codeはコードの記述、バグ修正、APIのデバッグを担当します。Step Planはモデル機能を提供し、特にコンテンツ分析に適したstep-3.5-flashやstep-3.5-flash-2603、音声認識専用のstepaudio-2.5-asrなど、包括的なモデル機能を備えています。これは私の開発ニーズに完全に合致しています。

ステッププランの投与量は依然として Prompt 利用回数に基づいて料金が設定されており、5時間あたり100回、1週間あたり400回のプロンプト送信が制限されているため、非常に費用対効果が高い。

全体的なコストを見ると、私は半日をかけて必死にデバッグとアプリケーション全体の開発に費やしましたが、週の予算の25%も使っていません。

約40分間の音声クリップをいくつかテストしたところ、API料金はわずか0.135元で、その後の利用コストはほぼゼロでした。

バイブコーディングプロセス

ツールを選択したら、次に…プロンプトワード送信先 Claude コードがコードの生成を開始する。

プロンプトワード会議の録画をテキスト化して分析するローカル環境向けのMVPアプリケーションを開発する必要があります。プロジェクトをゼロから構築し、コードを記述するのを手伝ってください。

このアプリケーションはユーザーのローカルコンピュータにインストールまたは実行されるため、ユーザーはローカルでアプリケーションを開いて使用できます。音声ファイル、議事録、文字起こし結果、分析結果はすべて優先的にローカルに保存されます。音声認識および会議分析機能は、外部API呼び出しによって実行されます。

アプリケーションの目標は、ユーザーが会議の録音をアップロードし、システムがASR APIを呼び出して録音をテキストに書き起こし、異なる話者を区別しようとすることです。書き起こし後、システムは次に... LLM このAPIは会議の内容を要約・分析し、会議のテーマ、主要な結論、ToDoリスト、リスク要因、争点、各講演者の要点、および次のステップに関する推奨事項を生成します。

技術スタックにはNext.js、TypeScript、Tailwind CSSを使用しています。最初のバージョンはローカルホスト上で動作するローカルWebアプリです。データストレージにはSQLiteを使用しています。音声ファイルはローカルのアップロードディレクトリに保存されます。今後、さらにカプセル化を進めることも可能です。 Electron または、Tauriのデスクトップアプリケーション。

以下の主要機能を実装してください。ユーザーはホームページにアクセスした際に過去の会議一覧を表示したり、新しい会議を作成したり、音声ファイルをアップロードしたりできる必要があります。アップロードできるファイル形式はmp3、wavなどに対応している必要があります。m4a音声ファイルはmp4形式でアップロードされます。アップロード後、バックエンドは音声ファイルをローカルのアップロードディレクトリに保存し、「処理中」と表示されたステータスの会議記録を作成します。

バックエンドは、lib/asr.ts という名前で ASR 呼び出しモジュールをカプセル化する必要があります。ASR API プロバイダ、API キー、ベース URL、およびモデル名はすべて .env.local から読み込まれ、後で異なる ASR サービスを簡単に切り替えることができます。環境変数には、ASR_PROVIDER、ASR_API_KEY、ASR_BASE_URL、および ASR_MODEL が含まれます。ASR の戻り結果は、各セグメントに話者、開始時刻、終了時刻、およびテキストが含まれるように、プロジェクトの内部形式に統一的に変換する必要があります。API が一時的に話者を返すことができない場合は、書き起こされたテキストを保持し、デフォルトで話者 1 としてマークする必要があります。

バックエンドもカプセル化する必要がある。 LLM このモジュールは呼び出すことができ、ファイル名はlib/llm.tsとすることができます。LLM APIプロバイダー、APIキー、ベースURL、モデル名はすべて.env.localから読み込まれるため、後で異なるAPIを切り替えることが容易になります。大型モデル環境変数には以下が含まれます LLM_PROVIDER、LLM_API_KEY、LLM_BASE_URL、LLM_MODEL。LLM 完全な議事録を受け取った後、会議タイトル、概要、主要な決定事項、アクション項目、リスク、意見の相違、発言者の見解、および次のステップを含む、安定したJSON形式の出力が必要です。アクション項目セクションには、タスクの詳細、担当者、期限、および優先度を含める必要があります。発言者の見解セクションには、発言者の主な論点、懸念事項、および態度を要約する必要があります。

フロントエンドには、会議一覧を表示するホームページ、会議アップロードページ、会議詳細ページの3つの主要ページが必要です。会議詳細ページは、全文の文字起こしと…に分割する必要があります。知的2つの領域を分析します。全文を書き起こし、話者、タイムスタンプ、テキスト内容を表示しながら時系列順に表示します。話者名は編集可能である必要があり、例えば、話者1を張三、話者2を李思に変更できるものとします。知的分析セクションでは、地域プレゼンテーション会議の要点をまとめ、主要な結論、実施すべき事項、リスク要因、争点、講演者の意見、今後のステップに関する提言などを記載しています。

ローカルアプリケーションの動作にご注意ください。アップロード後、「処理中」ステータスが表示されます。ASRが失敗した場合は、明確なエラーメッセージが表示されます。LLM 分析が失敗した場合でも、完了した文字起こし結果は保存してください。分析の失敗によって会議記録全体が失われることのないようご注意ください。ページスタイルは、作業ツールに適した、すっきりとしたシンプルなものにし、重要な情報は容易に理解できるようにしてください。

package.json、SQLite初期化ロジック、環境変数サンプルファイル、APIルート、ASRカプセル化などを含む、完全なプロジェクト構造を生成してください。LLM カプセル化、ローカルファイル保存モジュール、データベース読み書きモジュール、型定義、README起動手順。

ローカル環境で実行可能な完全なMVPプロジェクトを作成してください。完成後、TypeScriptの型エラー、ルーティングエラー、環境変数読み取りエラー、ファイルアップロードロジック、SQLiteストレージロジックを確認してください。最後に、依存関係のインストール方法、`.env.local`の設定方法、ローカル環境での起動方法を教えてください。

コードを理解できない初心者の方は、次のステップとして、ターミナルで「Enter」キーを繰り返し入力し、「はい」を選択してコードを実行してください。 Claude Code 自動ファイルを作成し、ロジックを記述する。

10分もかからずに、アプリケーションのプロトタイプが稼働した。ミニマルなインターフェースは非常にすっきりとしていて、見た目にも心地よかった。

興奮して録音ファイルをアップロードしたのですが、エラーメッセージが表示されてしまいました。

たとえコードの意味が分からなくても、エラーが発生しても慌てないでください。フロントエンドページに表示される赤いエラーメッセージを[関係機関/組織]に送信すれば良いのです。 Claude Code。

会議の作成が失敗する理由は?

Claude コードクラブ自動問題を調査し、解決してください。

もう一度試してみたところ、今度は会議の作成は成功したものの、またしても音声処理の段階で止まってしまいました。そして、厄介な問題を発見しました。アップロードしたテスト録音がすべて残っており、その結果、ホームページに実行中の会議タスクが大量に蓄積されてしまったのです…。

だから、一時的に Claude コードには新たな要件が提案された。

会議を削除する機能を追加する。

予想通り、5分後に再び会議をクリックして詳細を確認したところ、ページの右上隅に削除ボタンが表示されていた。

不要なデータをクリーンアップした後、ボトルネック問題の解決に取り組みました。今回は音声をテキストに変換する試みは成功しましたが、…知的分析結果は次のとおりです: 転写は成功しましたが、分析は失敗しました: エラー: LLM 返されたコンテンツは空です。

最初は、インターフェースのエラーかと思いました。調べてみたところ、音声が長すぎたため、文字起こしと分析に時間がかかり、1回のリクエストでタイムアウトが発生しやすかったことが原因のようでした。

だから私は Claude インポートした音声ファイルの文字起こしにおける、期間、サイズ、単語数の制限を確認するためにコードを調べました。案の定、問題はAPIリクエストの期間にありました。

Claude コードの応答によると、1回の処理セッションに最適な音声ファイルは10~30分程度の長さで、文字起こしされるテキストは5000~10000文字程度であるべきです。長すぎる場合は、事前に分割する必要があります。

これはモデルの性能の問題ではないので、引き続き最適化を進めましょう。結局のところ、毎日の会議は通常30分以上かかるため、毎回事前処理を行うのはあまりにも面倒です。

10分を超える長時間の音声処理は、非同期タスクとセグメンテーションに変更します。アップロードAPIはjobIdのみを返すようにし、フロントエンドがリクエストの完了を無期限に待つことを避けます。バックエンドは、jobIdに基づいて結果を非同期的にスライス、文字起こし、要約、マージします。フロントエンドはjobIdのステータスをポーリングし、「アップロード中」、「スライス中」、「文字起こし中」、「要約中」、「完了」、「失敗」を表示します。`maxDuration`設定は維持しますが、単一のAPIリクエストが長時間実行されることを避けます。

この変更にはかなりの時間がかかりましたが、私たちは最後まで「はい」を選び続けました。

今回は、78分間の音声録音素材を直接アップロードしたところ、会議アシスタントが文字起こしと分析を一度に処理してくれ、非常に分かりやすい結果が得られました。

さらに、会議の議事録作成だけでなく、ビデオインタビューやポッドキャストなど、さまざまな音声コンテンツを学習・研究するのにも適していることが分かりました。

音声のアップロード、ASRの呼び出し、文字起こしの生成、そして呼び出しまで...大型モデル従来であれば、会議の要約、タスクの抽出、発言者の見解の分析は、少なくとも一つの完全な作業であった。 SaaS ツールの中核となる機能。しかし今、...の助けを借りて Claude CodeとStep Planを使えば、一般ユーザーでも自分のローカルコンピュータ上で簡単に独自のワークフローを構築できます。

さらに重要なのは、デモを1つだけ実行するだけではないということです。私自身の利用習慣に基づいて機能を継続的に追加できるため、事実上無限の自由度が得られます。

ステッププランの真の価値は、バイブコーディングにおける試行錯誤のコストを削減することにある。

この種のローカル会議アシスタントの開発で最も時間のかかる部分は、実は繰り返し行うデバッグ作業です。インターフェースのエラーを修正したり、音声認識(ASR)の応答フォーマットを調整したりする必要があるからです。LLM 解析の失敗については調査が必要であり、長い音声クリップについてはさらなる最適化が求められます。すべての料金が標準APIに基づいている場合、デバッグ時のコストを懸念して、ユーザーは実験をためらうようになるでしょう。

Step Planはコーディング専用に設計された月額制プランで、モデル呼び出しコストを予測可能にし、自信を持って... Claude コードを複数回実行し、複数回修正を加え、複数の解決策を試してください。

一般の人々にとって最も重要なことは、費用を気にせずに物事を試したり使ったりする意欲を持つことだ。

元のリンク:Vibeコーディングの実践:半日で会議アシスタントを作成しました