AIキャラクターに「聞く個性」を持たせる設計を考えた
by yasuna
4 min read
この記事はAIエージェントと一緒に執筆しています
こんにちは!yasunaです!
最近 RESPOND という論文を読んで、「これ AIキャラクターの設計に使えるな」とずっと考えていました。せっかくなので論文の要約と、自分がやりたい設計をまとめます。
はじめに
AIキャラクターを作っていると、話し方の個性はわりと作れるんですよね。口調・語彙・テンションみたいなところ。でも「聞き方の個性」ってほぼ誰も設計してないなと思って。
RESPOND はそこに切り込んでいる論文で、読んでいてずっと「そうそう、それが欲しかった」という気持ちでした。
論文の要約:RESPOND
RESPOND(Responsive Engagement Strategy for Predictive Orchestration and Dialogue) は、音声エージェントの会話を人間らしくするフレームワークです。2026年のプレプリント。
既存のエージェントのほとんどは「ユーザーが黙る → 応答する」という半二重モデルで動いていて、会話がどうしても機械的になる。人間の会話はそうじゃなくて、相槌を打ちながら聞いたり、話が終わる前に割り込んだりする。RESPOND はその2つをエージェントに実装しようとしています。
3つのラベル
モデルは毎ターン以下の3択を予測します:
- TURN_CLAIM:割り込む・フロアを取りに行く
- BACKCHANNEL:「うん」「なるほど」などフロアを奪わない相槌
- STAY_SILENT:黙って聞く
2つのダイヤル
特徴的なのが設計者向けの制御パラメータです:
- Backchannel Intensity(c_bc):相槌の頻度。高いほどこまめに反応する
- Turn Claim Aggressiveness(c_tc):割り込みの積極性。高いほどどんどん入ってくる
この2つが独立して調整できるのが大事なところで、例えばカウンセリング的な文脈では c_bc 高め・c_tc 低めにして「よく聞くけど邪魔しない」という聞き方を作れます。
論文のモデル構成
論文で使われたモデルの構成はこんな感じです:
- バックボーン: Qwen3-0.6B + LoRA(軽量・低レイテンシ向き)
- 制御パラメータの注入: FiLM conditioning(再学習なしで挙動を変えられる)
- 入力: 5秒ウィンドウ・50msストライドで逐次推論
論文の実験結果
MM-F2F ベンチマークでは、テキスト単体で精度 0.756。音声込みのマルチモーダル手法(Wang et al., T+A: 0.737)をテキストだけで上回っています。CANDOR コーパスでは全体精度 0.87。
ちなみに Stay Silent と Backchannel の誤分類が多いそうで、「相槌を打つべきか黙るべきか」という曖昧な文脈はモデルも迷う、というのが人間らしいなと思いました。
自分がやりたい設計
その1:キャラシートに「聞き方プロフィール」を追加する
話し方プロフィールがあるように、聞き方プロフィールを定義します:
| キャラクター | c_bc | c_tc | どう見える |
|---|---|---|---|
| 無口な相棒 | 0.1 | 0.2 | ほぼ黙って聞く |
| 共感型の友人 | 0.8 | 0.3 | こまめに相槌、でも話は遮らない |
| 議論好きなライバル | 0.2 | 0.8 | 相槌なしで被せてくる |
| ゆったりしたメンター | 0.6 | 0.1 | 丁寧に聞いて最後まで待つ |
口数が少ないのに相槌だけは細かいキャラみたいな、話し方と聞き方のギャップが逆に個性になると思っています。
その2:シーンによってダイヤルを動かす
同じキャラでも、シーンの緊張感に合わせてダイヤルを切り替えます:
casual_chat:
backchannel_intensity: 0.6
turn_claim_aggressiveness: 0.3
argument:
backchannel_intensity: 0.1
turn_claim_aggressiveness: 0.8
counseling:
backchannel_intensity: 0.9
turn_claim_aggressiveness: 0.05
シーン遷移のトリガーはトピック変化や感情検出で自動化できるはずです。
その3:ユーザーの話し方に適応させる
論文の制御パラメータはもともと「相手の会話スタイルを反映して計算する」設計になっています。これをリアルタイムに回すと:
- ユーザーが長く話し続ける → キャラが徐々に割り込もうとする
- ユーザーが無口 → キャラが相槌を増やして引き出しにかかる
即時反映ではなく数ターンかけてじわじわ変化させるのが大事で、急変するとさすがに不自然になります。
3層を合成する
まとめるとこういう構造になります:
キャラクタープロフィール(静的・キャラの地)
+ シーン補正(動的・短期)
+ ユーザー適応(動的・長期)
= 最終的なダイヤル値
キャラの「地」はブレないまま、状況とユーザーに応じて表れ方が変わる、というイメージです。
実装するとしたら
段階的にやっていくつもりです:
- LLMプロンプトでターン予測を代替、ダイヤルは固定値
- ダイヤルによる動的しきい値化 + キャラプロフィール実装
- ユーザー適応ループ
- 軽量モデルへの置き換え
あいづちは、LLMを使わなくても「うん」「なるほど」などの定型フレーズ一覧から選ぶだけで十分なので、そこから実装を始めるのが現実的かなと思っています。まずは動くものを作ってみます。
まとめ
RESPOND の面白さは「聞く行動」を予測・制御可能にした点にあります。AIキャラクター設計に転用すると、話し方だけでなく聞き方にも個性を宿せるというアイデアに繋がりました。
作ったら X でシェアします。よければ見てみてください。
参考文献
RESPOND: Responsive Engagement Strategy for Predictive Orchestration and Dialogue(2026, Preprint)