Claude Code上に音声制御マルチエージェントシステムを構築する

r/ClaudeAIの開発者が週末プロジェクトとして、macOS上のClaude Codeに音声制御機能を追加しました。ウェイクワード、WebRTC音声ループ、マルチエージェントオーケストレーションシステムを完備。利便性を追求したハックから始まり、リードエージェントがタスクを分解し、サブエージェントを募集して並列実行し、自動トリガーでQAを実施するシステムへと進化しました。
動作の仕組み
- ウェイクワード:「Yabby」で音声ループを起動。Siriなどのアシスタントとの競合を避けるため、カスタムウェイクワードを採用。
- 音声ループ:WebRTCでリアルタイム音声ストリーミングを処理。AnthropicのRealtime APIを使用して音声認識と音声合成を実現。目標レイテンシは300ms未満だが、APIの遅延が発生することも。
- リードエージェント:音声リクエストを受け取り、調査フェーズを実施してプロジェクト計画を作成。マネージャー1名とサブエージェント2~3名からなるチームを編成し、実行手順を割り振る。
- 並列実行:可能な限りサブエージェントを並列実行し、順次実行が必要な場合は逐次処理。各エージェントは個別のスレッドでClaude Code CLIセッションを持ち、会話が混ざらない。
- 自動QA:サブエージェント終了後、5秒のデバウンスを経てレビューパスが起動。テスト中、あるエージェントが別のエージェントのバグを検出する創発的な動作が発生。
- 計画承認モーダル:エージェント実行前にモーダルが表示され、ユーザーが計画を確認できる。未検証のアクション実行を防止。
課題点
- 話者認証:話者埋め込みのコサイン類似度を使用。閾値調整が難しく、厳しすぎると風邪の時にユーザーを拒否、緩すぎると部屋内の誰でもコマンドを実行可能。
- ロケール問題:コード作成時のデフォルトがフランス語。現在修正中。
- バックグラウンドタスクのライフサイクル:親プロセスのClaude Code CLIが終了すると、バックグラウンドタスクが停止。OSレベルのPID監視機能と追跡用シェルスクリプトで、長時間稼働サーバーのクラッシュを検出。
- 過剰な計画立案:ファイル名変更のような簡単なリクエストに対しても、リードエージェントが4フェーズのプロジェクト計画を作成することがある。
未解決の疑問
開発者は現在、QAフェーズの冗長性削減、サブエージェントによる再帰的委任の有無、Realtime APIの不安定時における300ms未満の音声レイテンシ維持に取り組んでいる。また、Anthropic公式の音声モード(ユーザーの5%に展開中)がマルチエージェント連携をどう処理するかにも関心を示している。
📖 全文ソース: r/ClaudeAI
👀 See Also

GoogleがSashikoをリリース:Linuxカーネルパッチ向けAIコードレビューエージェント
Googleのエンジニアが、Linuxカーネル向けに設計されたエージェント型AIコードレビューシステム「Sashiko」をオープンソース化しました。これは、人間のレビュアーが見逃した最近の1,000件の上流問題のうち53%のバグを発見しました。

Claude Code LSP: 言語サーバープロトコルによる高速かつ正確なコードナビゲーションの実現
Claude CodeはデフォルトではLSPが無効になっていますが、有効にするとコードナビゲーションが30〜60秒かかるgrep検索から、50ミリ秒で100%正確なクエリに変わります。設定には公式ドキュメントではなくGitHubのissueで発見されたフラグが必要です。

オムナラ:どこからでもClaude CodeとCodexを実行
Omnaraは、クラウド同期や音声エージェントなどの機能を備え、開発者がどこからでもClaude CodeとCodexセッションを実行・対話できるWebおよびモバイルIDEです。

Google Surf MCP: 無料のGoogle検索MCP、PDF処理と段階的抽出機能付き
Google Surf MCPは、Google検索とURL抽出を行う無料のMCPサーバーで、PDFを処理し、トークンを節約するための段階的抽出モード(abstract/full)を提供します。