セッションのライフサイクル

セッションは Whisperer における作業の中核単位です。クライアントが会議の音声を聞き取り、発話を文字起こしし、LLM の回答を受け取る時間枠を指します。ライフサイクルを理解しておくと、開始/一時停止を正しく使い分けたり、ダッシュボード上のステータスを解釈したり、問題を切り分けたりするのに役立ちます。

この記事を読むべきとき

次のことを理解したい場合は、この記事をお読みください。

  • 会議の各フェーズで自分のデータに何が起こるのか;
  • 回答が遅れることがあるのはなぜか、また文字起こしがいつ保存されるのか;
  • クライアントとサーバー間の接続がどのように機能するのか。

セッションのフェーズ

1. 開始

「開始」ボタン(またはキーボードショートカット)を押すと、クライアントはアクティブモードに入ります。

  1. クライアントがサーバーへの接続を開き、デバイス識別子とトークンを送信します。
  2. サーバーがサブスクリプションと残り時間(分)のクォータを検証します。チェックを通過すると、セッション開始を確認し、セッション識別子を返します。
  3. クライアントが音声キャプチャを有効化し、録音を開始します。

2. 録音(ストリーミング)

音声は約 0.8 秒ごとに短いチャンクで送信されます。各チャンクには話者(ユーザーか相手か)のラベルが付けられます。

サーバーはチャンクをバッファリングし、認識処理へ送ります。文字起こし結果はリアルタイムでクライアントに返され、LiveTranscriptStrip に表示されます。

3. 質問と回答

ユーザーが「質問」(またはキーボードショートカット)を押すと、クライアントは現在の文字起こしコンテキストを含む ask フレームを送信します。

サーバーはシステムプロンプト(ロールプロンプト → ユーザーコンテキスト → ナレッジベースからの RAG)を組み立て、LLM に問い合わせます。回答はストリーミングで届きます。テキストは生成されるそばから表示され、Markdown サポートとページネーション(複数の回答がある場合)を備えた AnswerArea に即座に表示されます。

4. 一時停止

「一時停止」を押すと音声キャプチャは停止しますが、WebSocket 接続は開いたままです。セッションタイマーは一時停止します。「再開」を押すと再開できます。

5. 終了

「停止」を押すか、クライアントを閉じると:

  1. クライアントが session.end フレームを送信します。
  2. サーバーがバッファされた文字起こしと完了した回答のリストをデータベースに書き出します。
  3. WebSocket が閉じます。
  4. ウェブダッシュボードでは、そのセッションが完全な文字起こしと分析情報とともに 履歴 セクションに表示されます。

📸 [スクリーンショット: 録音モードの Whisperer パネル — LiveTranscriptStrip と操作ボタンが表示されている]

データの保存

デフォルトでは、文字起こしと LLM の回答はデータベースに保存され、ダッシュボードからアクセスできます。no-logs モード が有効な場合、データはセッション終了後に削除されます — ただし、消費した時間(分)は引き続きカウントされます。

よくあるエラー

エラー 原因 対処法
セッションが開始しない メールが未確認、または有効なサブスクリプションがない アカウントのステータスとクォータを確認する
「相手の声が聞こえない」 画面収録の権限が付与されていない(macOS)、またはシステム音声のキャプチャが利用できない(Windows) macOS の権限 / Windows
文字起こしが表示されない インターネット接続が不安定、または WebSocket の切断 ネットワークを確認し、セッションを再起動する
LLM の回答に時間がかかりすぎる AI プロバイダーが過負荷状態、または遅いモデルが選択されている 設定でモデルを切り替える

ベストプラクティス

  • 「停止」ボタンでセッションを明示的に終了する — これによりデータが確実に履歴へ書き込まれます。
  • 会議中の長い中断時には 一時停止 する — タイマーが止まり、時間(分)を無駄にしません。
  • 文字起こしを保存したくない機密性の高い会議では no-logs を使用する。

関連記事