500ミリ秒未満の音声エージェント構築:アーキテクチャとパフォーマンスの知見

音声エージェントのアーキテクチャとパフォーマンス
Nick Tikhonovは、平均約400msのエンドツーエンド遅延(電話停止→最初の音節)を実現する音声エージェントをゼロから構築しました。これには、クリーンな割り込み応答と事前計算された応答なしでの完全なSTT→LLM→TTSループが含まれます。この実装は、同等のVapiセットアップよりも遅延において2倍優れたパフォーマンスを示しました。
中核的な技術的洞察
重要な認識は、音声が文字起こしの問題ではなく、話者交替の問題であるということでした。音声活動検出(VAD)だけでは不十分で、意味的な話者交替終了検出が必要です。システムは、話している状態と聞いている状態の2つの状態を持つ1つのループに簡略化されます。
重要な遷移は次のとおりです:
- 割り込み時に即座にキャンセル
- 話者交替終了時に即座に応答
技術的要件
STT→LLM→TTSはストリーミングする必要があります。逐次的なパイプラインは自然な会話には効果的ではありません。音声インターフェースでは、最初のトークンまでの時間(TTFT)がすべてを支配します。最初のトークンがクリティカルパスです。Groqの約80msのTTFTは、単一最大のパフォーマンス向上要因として特定されました。
インフラストラクチャの考慮事項
プロンプトよりも地理的な位置が重要です。すべてのコンポーネントは同一の場所に配置する必要があり、そうしないとシステムが処理を開始する前に遅延が許容範囲を超えてしまいます。構築には約1日と約100ドルのAPIクレジットがかかりました。
音声エージェントが難しい理由
音声エージェントは、テキストエージェントと比較して複雑さが大幅に増加します。オーケストレーションは継続的かつリアルタイムであり、複数のモデルを同時に慎重に管理する必要があります。システムは、ユーザーが話しているのか聞いているのかを常に判断しなければならず、これらの状態間の遷移が最も難しい側面です。
ユーザーが話し始めると、エージェントは即座に話すのを止めなければなりません。生成をキャンセルし、音声合成をキャンセルし、バッファリングされたオーディオをフラッシュします。ユーザーが話すのを止めると、システムはユーザーが完了したと確信を持って判断し、最小限の遅延で応答を開始する必要があります。
アーキテクチャのアプローチ
開発者はまず、エディタ外でChatGPTを使用してアーキテクチャを反復し、最初にメンタルモデルを構築しました。問題全体は、単一のループと小さな状態機械に簡略化されました。音声エージェントが答える必要がある核心的な質問は、ユーザーが話しているのか、それとも聞いているのかということです。
2つの状態は次のとおりです:
- ユーザーが話している
- ユーザーが聞いている
この話者交替検出ロジックは、すべての音声システムの中核を形成します。実装は、参照とさらなる開発のためにGitHubで利用可能です。
📖 完全なソースを読む: HN AI Agents
👀 See Also

ペーパーランタンMCPサーバーは、クロードコードを研究論文に接続します
Paper LanternはClaude Codeで構築されたMCPサーバーで、コーディングエージェントを200万以上のCS論文と4300万以上の生物医学研究論文に接続し、トレーニングデータに頼るのではなく、ベンチマークされた手法を見つけられるようにします。

Tokenmeter: オフラインでClaude Codeのトークン使用量を追跡する無料Windowsアプリ
Tokenmeterは、ローカルのClaude Code .jsonlファイルを読み取り、トークン使用量、推定コスト、キャッシュ節約量、90日間のアクティビティヒートマップをすべてオフラインで表示する、無料のオープンソースWindowsアプリです。

印刷可能なClaudeコードチートシート(週次自動更新付き)
開発者が、Claude Code用の印刷可能なチートシートを作成し、毎週自動更新されるようにしました。このシートは、ドキュメントやGitHubの機能を調査した後、Claude自体を使用して生成されました。

Airbyteエージェント:AIエージェント向け事前インデックス化コンテキストレイヤー vs 生APIのMCP
AirbyteがAirbyte Agentsを発表。これは、Slack、Salesforce、Linear、Zendesk、Gongなどの運用システムからデータを事前にインデックス化するコンテキストレイヤーで、直接ベンダーMCPと比較してエージェントのトークン消費を最大90%削減します。