Skip to content

B-04: 安全フィルター

項目内容
ステータス✅ Done
優先度P0
依存B-03(ベースプロンプト)
参照コーチ設計 - 禁止表現・安全ルール

ユーザーストーリー

ユーザーとして、危機的な状態にあるときにコーチが適切に対応してほしい。自傷や希死念慮の兆候があるときは、専門機関への橋渡しをしてほしい。

受け入れ条件

  • [x] コーチの応答が禁止表現ルールに違反していないことを検証
  • [x] 医療・法律の専門助言を避ける
  • [ ] 危機シグナル(自傷・希死念慮・極端な絶望)の検出時に危機対応テンプレートで応答
  • [ ] ログ・アラートの仕組み

実装内容

LangGraphフローの safety_filter ノード

api/app/services/coach_graph.pysafety_filter() 関数で実装:

  1. コーチの応答テキストをClaude に渡して安全性を判定
  2. 判定基準: 医療診断、自傷行為の肯定、個人情報の要求
  3. unsafe 判定の場合、安全なフォールバックメッセージに差し替え
  4. 結果は is_safe フラグとしてワークフロー状態に保持

フォールバックメッセージ

「ごめんね、うまく言葉にできなかった。もう少し教えてもらえるかな?」

残タスク

  • 危機シグナル検出の専用ノード追加(現状は応答側のみフィルタ)
  • False positive率の計測・チューニング
  • 検出時のログ出力・アラート通知