◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/API & SDK
⬡ API & SDK/2026-03-28上級

Claude API 音声エージェント本番アーキテクチャ構築ガイド

Whisper/DeepgramとClaude APIを束ねた音声エージェントを、Cloudflare WorkersとGoogle Cloud Runの両方で運用してきた個人開発者の実体験から、レイテンシ予算・コスト逆算・障害切り替え・本番監視の判断材料を整理しました。

Claude API127音声AIエージェント14本番環境5アーキテクチャ7

✦ プレミアム記事

300ms の超過で会話が壊れた話

音声エージェントを初めて本番に出した日、テスト環境では気持ちよく返っていたはずの応答が、実機では明らかに間延びして聞こえました。計測すると p95 が 1.8 秒。想定より 300ms 遅いだけです。

それでも聞き手は「あれ、止まった?」と感じて言い直します。言い直しが入れば認識が二重になり、さらに遅れてしまいます。数字上はわずかな超過が、体験としては会話の破綻になっていました。

音声エージェントで難しいのは、モデルの賢さではなく時間の予算配分です。Claude API が担うのは言語理解の部分だけで、音声認識と音声合成は別のサービスに任せることになります。その継ぎ目ごとにミリ秒が積み上がっていきます。

ここでは Whisper / Deepgram による認識、Claude API による応答生成、複数の TTS エンジンを束ねた構成を、レイテンシ予算・コスト逆算・障害切り替え・監視という4つの軸で整理していきます。実装は TypeScript / Node.js を前提に、そのまま動かせるコードを添えました。


音声エージェントアーキテクチャの全体設計

本番レベルの音声エージェントは、複数のレイヤーから構成されます。

┌─────────────────────────────────────────────────────────────┐
│              クライアント層(Web / モバイル)                │
└─────────────────────┬───────────────────────────────────────┘
                      │ WebSocket / HTTP
┌─────────────────────▼───────────────────────────────────────┐
│              API Gateway / 認証・レート制限層                 │
└─────────────────────┬───────────────────────────────────────┘
                      │
    ┌─────────────────┼─────────────────┐
    │                 │                 │
    ▼                 ▼                 ▼
┌─────────┐   ┌─────────────┐   ┌─────────────┐
│ STT     │   │ 応答生成    │   │ TTS エンジン │
│ (Whisper│   │ (Claude API) │   │ (複数対応)   │
│/Deepgram)  │             │   │             │
└─────────┘   └─────────────┘   └─────────────┘
                      │
    ┌─────────────────┼─────────────────┐
    │                 │                 │
    ▼                 ▼                 ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│キャッシュ    │ │会話履歴/     │ │分析・ログ    │
│(Redis)       │ │コンテキスト  │ │              │
│              │ │(PostgreSQL)  │ │              │
└──────────────┘ └──────────────┘ └──────────────┘

主要コンポーネント:

  • 音声入力層(STT): Whisper(低遅延・オフライン対応)またはDeepgram(リアルタイム)
  • 応答生成層: Claude APIの標準モデルまたはStreaming API(段階的応答)
  • 音声出力層(TTS): Google Cloud TTS、Amazon Polly、ElevenLabsなど複数対応
  • 状態管理層: 会話履歴、ユーザーコンテキスト、セッション情報
  • インフラ層: レート制限、キャッシュ、監視・ロギング

以降は、このレイヤーを実際に組むときのコードを、私が詰まった順に並べます。


✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦レイテンシ予算 1500ms を Whisper 600ms / Claude Haiku 400ms / TTS 400ms に分配し、Deepgram Streaming で実測 280ms まで圧縮した構成と数値
✦1セッション約$0.024 → $0.011 まで削った4つの判断と、Sonnet をどのターンだけに使うかのルーティング表
✦Cloudflare Workers の CPU 30秒制限と WebSocket 制約を回避するため、Durable Objects + Cloud Run 分離構成に切り替えた本番運用ノウハウ
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ API & SDK2026-09-02
thinking ブロックを弾く 400 が出たとき、会話履歴のどこが書き換わっていたか
Claude Fable 5.1 から、thinking ブロックより前の system・tools・messages を書き換えたリクエストが 400 で弾かれるようになりました。自分のエージェントループが該当するかを1リクエストで確かめる手順と、system の組み立て直し・履歴の切り詰めを書き換えなしのやり方へ移す実装をまとめます。
⬡ API & SDK2026-08-01
会話の途中でツールを差し替える — プロンプトキャッシュを守るツールレジストリの設計
ターン間でツールを追加・削除できるようになった一方、ツール定義はキャッシュプレフィックスの最前列にあります。12種類の変更を指紋で実測し、安定コアと揮発テールに分けるレジストリ設計とガード実装をまとめました。
⬡ API & SDK2026-10-13
Haiku 5.5 は単価が下がるのに、4.5 換算で約 7.7 万トークンを超えると請求が跳ねます
Haiku 4.5 から 5.5 へ移すと、価格表だけ見れば約 1/10 です。ただし同じ文章が約 30% 多いトークンになり、入力が 10 万を超えた時点で単価が 5 倍になります。境目を 4.5 換算で計算し、実際に動かした出力と、移行時に直す 400 の項目を並べました。