AI音声アシスタント開発で稼ぐ — カスタム音声Botの受注と構築
企業のカスタマーサポートや社内問い合わせ対応にAI音声アシスタントを導入したいというニーズが急増している。Whisper(音声認識)+ LLM(応答生成)+ TTS(音声合成)の3技術を組み合わせることで、実用レベルの音声アシスタントを構築できる。開発単価は1案件50〜300万円と高く、フリーランスにとって魅力的な領域だ。
AI音声アシスタントの市場と案件単価
音声AI市場は2025年に約120億ドル規模に達し、年間20%以上の成長率で拡大している。日本国内でもコールセンターの人手不足を背景に、AI音声対応への投資が進んでいる。
案件タイプ別の単価
| 案件タイプ | 開発期間 | 単価目安 |
|---|---|---|
| FAQ対応ボイスBot | 2〜4週間 | 50〜100万円 |
| 予約受付音声システム | 4〜8週間 | 100〜200万円 |
| 社内ヘルプデスク音声AI | 4〜6週間 | 80〜150万円 |
| フルカスタム音声アシスタント | 8〜16週間 | 200〜500万円 |
月額保守契約(月5〜15万円)を含めれば、安定的なストック収入も見込める。
技術スタックの全体像
音声アシスタントは以下の3コンポーネントで構成される。
アーキテクチャ
ユーザー音声入力
↓
[音声認識] Whisper API / Google Speech-to-Text
↓
[テキスト処理] Claude API(応答生成)
↓
[音声合成] OpenAI TTS / Google Cloud TTS / VOICEVOX
↓
音声出力
各レイヤーの技術選定基準:
- 音声認識: 日本語精度ではWhisper large-v3が最も安定
- 応答生成: Claude APIは長いコンテキストに強く、企業のFAQデータを大量に参照できる
- 音声合成: 自然さ重視ならOpenAI TTS、コスト重視ならVOICEVOX(無料・OSS)
実装の手順
ステップ1: 音声認識の実装
Whisper APIを使って音声入力をテキストに変換する。
from openai import OpenAI
import sounddevice as sd
import numpy as np
import wave
import tempfile
client = OpenAI()
def record_audio(duration=10, sample_rate=16000):
"""マイクから音声を録音"""
print("録音中... (話してください)")
audio = sd.rec(
int(duration * sample_rate),
samplerate=sample_rate,
channels=1,
dtype=np.int16,
)
sd.wait()
return audio, sample_rate
def transcribe(audio_data, sample_rate):
"""Whisper APIで音声をテキスト化"""
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as f:
with wave.open(f.name, "w") as wf:
wf.setnchannels(1)
wf.setsampwidth(2)
wf.setframerate(sample_rate)
wf.writeframes(audio_data.tobytes())
with open(f.name, "rb") as audio_file:
result = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file,
language="ja",
)
return result.text
ステップ2: LLMによる応答生成
認識したテキストに対してClaude APIで応答を生成する。企業のFAQデータをシステムプロンプトに含めることで、特定のドメインに特化した応答が可能になる。
import anthropic
claude = anthropic.Anthropic()
FAQ_DATA = """
Q: 営業時間は?
A: 平日9:00〜18:00です。土日祝日は休業です。
Q: 返品はできますか?
A: 購入後7日以内、未使用品に限り返品可能です。
Q: 配送にかかる日数は?
A: 通常2〜3営業日でお届けします。
"""
def generate_response(user_text: str, conversation_history: list):
"""FAQデータを参照して応答を生成"""
conversation_history.append({
"role": "user",
"content": user_text,
})
response = claude.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=500,
system=f"""あなたは企業のカスタマーサポート担当です。
以下のFAQを参考に、丁寧かつ簡潔に回答してください。
FAQにない質問には「担当者におつなぎします」と回答してください。
{FAQ_DATA}""",
messages=conversation_history,
)
assistant_text = response.content[0].text
conversation_history.append({
"role": "assistant",
"content": assistant_text,
})
return assistant_text
ステップ3: 音声合成で応答を読み上げ
テキスト応答を音声に変換してユーザーに返す。
def text_to_speech(text: str, output_path="response.mp3"):
"""OpenAI TTSで音声を生成"""
response = client.audio.speech.create(
model="tts-1",
voice="nova", # 日本語に適した声質
input=text,
)
response.stream_to_file(output_path)
return output_path
企業への提案と案件獲得
ターゲット企業の見つけ方
音声AIの導入ニーズが高い企業には共通した特徴がある。
- コールセンター運営企業: 人件費削減圧力が常にある
- 医療・歯科クリニック: 予約電話の対応負担が大きい
- 不動産会社: 物件問い合わせの一次対応を自動化したい
- 飲食チェーン: 予約受付の自動化ニーズ
- ECショップ: 注文状況や返品対応の自動化
提案書に含めるべき要素
- 現状の課題: 月間のコール件数と対応コスト
- 導入後の効果: 自動応答率の目標(最初は40〜60%が現実的)
- デモ動画: 実際に動く音声Botのデモを5分程度用意
- 段階的な導入プラン: 最初はFAQ対応のみ、後から予約受付を追加
- 月額保守の提案: 応答精度の改善とFAQ更新の保守契約
デモの作り方
案件獲得で最も効果的なのは、動くデモを見せることだ。架空の企業(例: カフェの予約Bot)を想定した音声アシスタントを事前に構築しておき、商談時にスマートフォンから実際に電話をかけて見せる。
品質向上のための運用ポイント
認識精度の改善
- ノイズが多い環境では認識精度が下がるため、ノイズキャンセル処理を前段に入れる
- 業界固有の用語(商品名、社内用語等)はWhisperのpromptパラメータにヒントとして渡す
- 認識結果のログを蓄積し、誤認識パターンを分析する
応答品質の改善
- 実際のコールログを分析し、FAQデータを定期的に更新する
- 「担当者につなぐ」判定の閾値を調整し、過度な自動応答を防ぐ
- 応答が長すぎると電話では聞き取りにくいため、1回の応答は3文以内に制限する
コスト構造と利益率
1回の通話(平均30秒の応答)あたりのAPI利用コスト:
- Whisper API: 約1円(30秒の音声)
- Claude API: 約2〜5円(1往復のやり取り)
- TTS API: 約1〜3円(応答の読み上げ)
- 合計: 約4〜9円/通話
月間1,000通話を処理する場合、ランニングコストは月4,000〜9,000円。クライアントへの保守料金が月5〜15万円であれば、利益率は90%以上になる。
まとめ:高単価×ストック型の理想的な収益モデル
音声アシスタント開発は、初期開発の受注(50〜300万円)と月額保守契約(5〜15万円)の両方で収益を得られる。技術的な参入障壁が高い分、競合が少なく、一度構築すれば長期的な関係を築きやすい。まずは架空企業のデモBotを作り、それを営業ツールとして実案件を獲得するのが最も効率的なスタートだ。
関連記事
Agentive 編集部
AIエージェントを実際に使い倒す個人開発者。サイト制作の自動化を実践しながら、その知見を発信しています。