34.【音声生成AI設計】LLMを安全に接続する|Thinking状態にだけ置く理由

tags: [“音声生成AI”, “LLM”, “FSM”, “制御構造”, “生成AI設計”]


🤖【音声生成AI設計】LLMを安全に接続する

―― 🧩 Thinking状態にだけ置く理由

ここまでの記事で、音声AIはすでに:

つまり 骨格は完成している。

ここでようやく、
LLMを戻す準備が整った。


🎯 本記事の目的

👉 会話AIはまだ作らない。
まずは事故らない配置だけを決める。


❌ LLMを入れてはいけない場所(再確認)

🔊 Speaking

👉 LLMは遅すぎる


👂 Listening

👉 意味理解は不要


✋ Interrupted

👉 LLMを呼ぶ余地なし


⭕ LLMを置いてよい唯一の場所

🧠 Thinking

Thinking 状態は:

👉 LLMの特性と完全一致


🧩 FSM × LLM の正しい構造

🧩 FSM
 ├─ 👂 Listening
 ├─ 🧠 Thinking ──▶ 🤖 LLM(発話内容生成)
 ├─ 🔊 Speaking
 └─ ✋ Interrupted

重要なのは:

👉 LLMは部品


🔌 LLMに渡してよい情報・ダメな情報

⭕ 渡してよい

❌ 渡してはいけない

👉 制御情報を渡した瞬間に壊れる。


🧪 擬似コード(FSM × LLM)

if state == "Thinking":
    text = llm_generate(prompt)
    state = "Speaking"
    play_tts(text)

ポイント:


🚫 よくある地雷構成

❌ LLMに「次どうする?」と聞く

→ 状態管理が崩壊

❌ LLMに「喋り続けていい?」と聞く

→ 無限発話

❌ LLMに割り込み判断をさせる

→ 即死


🧠 なぜこれで安定するのか

👉 責務分離が完全。


📌 まとめ


🏁 シリーズの締め

本シリーズでは、

を、構造として固定した。

それでも多くの人は、こう思う。

🎭 「もっと会話っぽくしたい」
🤝 「人と話している感じを出したい」

だがそれは 設計目標ではなく演出欲求 である。

会話AIが「賢そう」に見える最低条件は、
会話を真似ることではない。

という 制御の健全性 だけだ。

本シリーズは、
会話AI幻想を壊すところで終わる。

それ以上は、
必要になったときに、別シリーズでやればいい。

(GitHub上のMarkdownを正本とし、Qiitaには抜粋・調整して投稿)