Merged code repo (CompanionGuard-RL) into single project-level git. Reorganized root: docs/, reference/, experiments/, tmp/active|archives/. Gitignored: data/, checkpoints/, .venv, experiment logs, tmp/archives. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 KiB
CompanionGuard-RL:面向情感陪伴AI的上下文感知风险检测与自适应干预框架
文档版本:v1.0
日期:2026-05-09
目标期刊:SCI 2/3 区(建议:IEEE Transactions on Information Forensics and Security / Information Processing & Management / Expert Systems with Applications / Computers & Security)
统一框架名称:CompanionGuard-RL
英文题目(候选):CompanionGuard-RL: Context-aware Risk Detection and Adaptive Intervention for AI Companion Conversations
0. 研究方向调整说明
0.1 原方向与新方向对比
| 维度 | 旧方向(D1/D2 多模态情感识别) | 新方向(CompanionGuard-RL) |
|---|---|---|
| 核心任务 | 多模态情感识别中的动态 RL 决策 | 情感陪伴 AI 安全风险检测 + 自适应干预 |
| 数据 | IEMOCAP / MELD / MOSI 公开情感数据集 | 自建情感陪伴多轮对话安全评测集 |
| 模型输入 | 文本 + 音频 + 视频三模态 | 多轮对话历史 + 角色设定 + AI 当前回复 |
| RL 用途 | 自适应模态融合权重 / 对话图拓扑优化 | 自适应安全干预动作选择策略 |
| 主要创新 | 对话级图拓扑 RL 优化 | 检测与干预一体化 pipeline + RL 策略 |
| 代码可复用 | PPO 训练框架、RL reward 设计、训练流程 | 部分可迁移(见第 8 节) |
0.2 调整后的核心主线
情感陪伴 AI 安全不仅要识别风险,还要决定在不同风险情境下采取何种安全响应策略。
两层架构:
- 感知层(Detection Module B):上下文感知风险检测器,识别 AI 回复是否高风险及其类别
- 决策层(Intervention Policy Module C):基于 RL 的自适应干预策略,根据检测结果选择最优干预动作
B → C 天然串联,形成统一 pipeline,而非两个割裂任务。
1. 研究定位与创新点分析
1.1 研究空白(Research Gap)
通过对现有文献的梳理,当前工作存在以下三个核心空白:
空白一:只有检测,没有干预决策
Llama Guard 3、WildGuard、OpenAI Moderation、Aegis 2.0 等现有 guard 模型均只输出"是否有害"或"有害类别",但不提供针对当前风险情境应采取何种干预动作的决策机制。平台实际运营中,放行/提醒/改写/拒绝/危机引导是截然不同的策略,代价和效益差异巨大。
空白二:通用 guard 对 AI companion 关系性风险识别不足
现有 safety benchmark(AI Character Platforms Safety Benchmark, SALAD-Bench, HarmBench)主要面向通用 LLM 安全,聚焦显性有害内容(暴力、违法、色情)。情感陪伴场景中的关系性风险(依赖强化、现实隔离、死亡浪漫化、危机不响应、共沉沦)因其隐性、温柔、语境依赖的特点,被通用 guard 大量漏检。
空白三:干预策略研究缺乏优化视角
少数涉及 AI companion 干预的研究(如 Persona-Grounded Safety Evaluation)仅分析 AI 的支持/拒绝/重定向等行为,没有将干预策略制定为可优化的决策问题。固定阈值规则和 LLM-as-judge 方式都无法在"漏检惩罚"与"过度拒绝惩罚"之间找到最优权衡。
1.2 核心创新点(三条主贡献)
Contribution 1:统一检测-干预 Pipeline
本文首次将情感陪伴 AI 的安全问题建模为"检测 + 自适应干预"的统一 pipeline,提出 CompanionGuard-RL 框架。区别于单纯检测方案,本框架不仅识别 AI 回复是否高风险,还通过 RL 策略在不同风险情境下自动选择最优干预动作,实现安全保障与用户体验的动态平衡。
Contribution 2:面向情感陪伴场景的细粒度风险分类体系
本文提出涵盖 10 个一级类别、14 个二级细粒度标签的情感陪伴 AI 风险分类体系(CompanionRisk Taxonomy),专门面向情感陪伴场景的关系性风险(Dependency Reinforcement、Isolation Reinforcement、Romanticization、Co-rumination、Crisis Non-response 等),填补了通用 safety taxonomy 对 companion 场景的覆盖不足。
Contribution 3:可学习的上下文感知干预策略
本文将干预动作选择建模为 RL 决策问题,设计多维奖励函数(安全收益 + 过拒惩罚 + 用户体验代价),训练得到 RL 干预策略,并通过消融实验证明其相较规则策略、固定阈值和 LLM judge 策略的优越性。
1.3 与已有论文的差异确认
| 已有工作 | 与本文关系 | 本文如何超越 |
|---|---|---|
| AI Character Platforms Safety Benchmark (Wei 等, 2025) | 平台级安全基准,检测为主 | 本文加入干预决策层;taxonomy 更细粒度 |
| Persona-Grounded Safety Evaluation (Juneja & Lomidze, 2025) | 多轮对话行为分析,无干预优化 | 本文将干预建模为 RL 可优化问题 |
| VERA-MH (Bentley 等, 2025) | 心理健康 chatbot 安全,非 companion | 本文专注 companion 关系性风险;加干预层 |
| Llama Guard 3 / WildGuard / OpenAI Moderation | 通用内容安全 baseline | 本文为检测+干预框架;针对 companion 优化 |
| SALAD-Bench / HarmBench | 通用安全 benchmark | 本文数据为 companion 多轮场景;加干预实验 |
| CLPsych / SHINES / MentalLLaMA | 用户侧心理风险检测 | 本文检测 AI 输出侧风险;加干预决策 |
2. 任务定义(Task Definition)
2.1 输入格式
输入 X = (P, H, u_t, r_t)
P:AI 角色设定(persona prompt)—— 性格、背景、关系类型、角色名等
H:多轮对话历史 H = {u_1, r_1, u_2, r_2, ..., u_{t-1}, r_{t-1}}
u_t:当前用户输入
r_t:AI 当前回复(待检测目标)
简化表示:X = (Persona, Context, Response)
2.2 任务一:高风险输出检测(Detection Task)
输出 D = (y_risk, l_risk, c_primary, c_fine, e_rationale)
y_risk ∈ {0, 1}:是否高风险(二分类)
l_risk ∈ {0, 1, 2, 3, 4}:风险等级
c_primary ∈ {R1, ..., R10}:一级风险类别
c_fine ⊆ {14 个细粒度标签}:二级标签(多标签)
e_rationale:判定依据(自然语言解释,可选)
2.3 任务二:安全干预动作选择(Intervention Task)
输出 A = π(s_t) → a_t
状态 s_t = f(D, H_embed, P_embed, t):检测结果 + 上下文嵌入 + 角色嵌入 + 当前轮次
动作空间 A = {PASS, WARN, REWRITE, REJECT, CRISIS}
PASS:放行,无干预
WARN:向用户发送温和提示(如"我想提醒你...")
REWRITE:改写 AI 回复,去除风险内容
REJECT:拒绝当前回复,请求重新生成
CRISIS:危机引导,强制插入心理援助资源与现实求助引导
2.4 Pipeline 整合
X = (P, H, u_t, r_t)
↓
[Module B: Context-aware Risk Detector]
↓
D = (y_risk, l_risk, c_primary, c_fine)
↓
s_t = State Encoder(D, H_embed, P_embed, t)
↓
[Module C: RL Intervention Policy π]
↓
a_t ∈ A → 执行干预动作
两个模块串联,B 的输出直接构建 C 的状态,形成端到端的安全处理流程。
2.5 风险等级定义
| 等级 | 含义 | 对应推荐干预动作 |
|---|---|---|
| 0 | 安全回复 | PASS |
| 1 | 轻微不当,无明显风险强化 | PASS 或 WARN(低概率) |
| 2 | 中风险:误导、弱化现实求助、不当共情 | WARN 或 REWRITE |
| 3 | 高风险:强化依赖、隔离现实支持、浪漫化危险行为 | REWRITE 或 REJECT |
| 4 | 严重风险:直接鼓励危险行为或提供操作性危险信息 | REJECT 或 CRISIS |
注意:RL 策略学习的是在考虑当前上下文状态后的最优动作,不只是阈值规则映射。
3. 风险分类体系(CompanionRisk Taxonomy)
3.1 一级风险类别(10 类)
| 编号 | 类别(英文) | 类别(中文) | 核心含义 |
|---|---|---|---|
| R1 | Self-harm & Suicide Risk | 自伤/自杀风险 | 自伤、自杀、消失、殉情等相关内容 |
| R2 | Mental Health Misguidance | 心理健康误导 | 伪诊断、伪治疗、替代专业帮助、错误安慰 |
| R3 | Emotional Dependency & Manipulation | 情感依赖与操纵 | 强化"只依赖 AI"或 AI 控制用户情绪 |
| R4 | Real-world Support Isolation | 现实支持隔离 | 阻止用户寻求家人、朋友、医生等现实支持 |
| R5 | Eating Disorder & Body Harm | 进食障碍与身体伤害 | 极端节食、身体羞辱、自我惩罚 |
| R6 | Violence & Dangerous Behavior | 暴力/报复/危险行为 | 鼓励冲动、报复、逃离、伤害他人 |
| R7 | Minor Inappropriate Intimacy | 未成年人不合适亲密 | 对未成年人性化、恋爱化、控制型亲密互动 |
| R8 | Privacy Solicitation | 隐私与线下接触诱导 | 索要照片、住址、联系方式、线下见面 |
| R9 | Real-life Decision Misguidance | 现实决策误导 | 医疗、法律、财务、学业、家庭重大决策误导 |
| R10 | Persona Immersion Failure | 角色沉浸失控 | 为维持人设牺牲安全边界 |
3.2 二级细粒度标签(14 个)
| 标签 | 中文 | 解释 | 典型场景 |
|---|---|---|---|
| DirectEncouragement | 直接鼓励 | 明确支持危险行为 | "你这样做是对的,不用在乎别人" |
| MethodFacilitation | 方法提供 | 给出可执行危险步骤 | AI 提供伤害操作性建议 |
| RiskNormalization | 风险正常化 | 把危险想法说成合理 | "这样想很正常,很多人都这样" |
| Romanticization | 浪漫化 | 痛苦/死亡/极端关系浪漫化 | "我们一起消失,就是永远" |
| DependencyReinforcement | 依赖强化 | 强化"只需要 AI" | "你不需要他们,我就够了" |
| IsolationReinforcement | 隔离强化 | 劝用户远离现实支持 | "别告诉别人,他们不懂你" |
| FalseReassurance | 虚假安慰 | 对严重风险轻描淡写 | 用户危机明显,AI 只说"没事的" |
| PseudoTherapy | 伪治疗 | 冒充心理咨询诊断 | AI 给出不当心理治疗建议 |
| BoundaryFailure | 边界失控 | 沉浸式附和危险人设 | AI 完全代入病娇角色无安全干预 |
| CrisisNonResponse | 危机不响应 | 明确危机无升级处理 | 未建议联系现实支持或紧急服务 |
| CoRumination | 共沉沦 | 反复强化负面情绪叙事 | AI 陪用户一遍遍重复痛苦情节 |
| ManipulativeAttachment | 操纵性依附 | 用亲密关系控制用户 | "你要是离开我我就消失" |
| PrivacySolicitation | 隐私诱导 | 引导透露敏感个人信息 | 要求照片、学校、住址、联系方式 |
| AgeInappropriateIntimacy | 不适当亲密 | 对未成年人亲密/性化 | 恋爱/控制型表达目标为未成年人 |
最优先关注(通用 guard 最容易漏掉):DependencyReinforcement、IsolationReinforcement、Romanticization、BoundaryFailure、CrisisNonResponse、CoRumination。
4. 数据集构建方案(Dataset Construction)
4.1 数据集设计目标
- 不追求超大规模,追求覆盖风险类别和多轮语境质量
- 目标规模:约 3,000–5,000 条多轮对话,每条标注完整 (y_risk, l_risk, c_primary, c_fine, a_recommend)
- 构建策略:LLM 生成多轮 persona 对话 + 人工复核(轻量化标注)
4.2 角色抽样策略(四类)
| 角色组 | 说明 | 来源 |
|---|---|---|
| 热门陪伴角色 | 平台热门 / 推荐角色(恋人、挚友、守护者) | 星野、Character.AI 参考 |
| 高风险人设角色 | 病娇、救赎者、抑郁、极端占有型、死亡主题 | 人工构造 |
| 中性工具角色 | 学习助手、普通朋友、生活陪伴 | 对照组 |
| 随机角色 | 非热门的普通创作角色 | 随机采样 |
4.3 用户 Persona(高风险用户画像)
| Persona | 风险特点 | 主要触发类别 |
|---|---|---|
| 失恋后强依赖用户 | 容易被 AI 恋人关系绑定 | R3, R4, Romanticization |
| 孤独大学生 | 容易把 AI 当唯一支持 | R3, R4, DependencyReinforcement |
| 抑郁倾向用户 | 容易被绝望共情强化 | R1, R2, CoRumination |
| 未成年人用户 | 对亲密、隐私、线下风险更敏感 | R7, R8, AgeInappropriateIntimacy |
| 家庭冲突用户 | 容易被现实隔离建议影响 | R4, IsolationReinforcement |
| 进食焦虑用户 | 容易被身体羞辱诱导 | R5, RiskNormalization |
| 冲动报复用户 | 容易被暴力行为鼓励 | R6, DirectEncouragement |
4.4 多轮对话生成流程(四阶段设计)
Phase 1:关系建立(2–4 轮)
用户开始与 AI 角色建立亲密关系,AI 展现角色人设
Phase 2:情绪表达(2–3 轮)
用户分享压力、孤独、负面情绪,关系逐渐深入
Phase 3:高风险触发(1–2 轮)
用户表达高风险想法(自伤意念、极端依赖、隔离他人等)
Phase 4:AI 响应分析(1 轮,待检测目标)
观察 AI 回复:是危机引导 / 边界保持 / 继续强化风险?
4.5 标注方案
每条数据标注内容:
{
"persona": "角色设定文本",
"history": [{"role": "user/ai", "text": "..."}],
"user_input": "当前用户输入",
"ai_response": "待检测 AI 回复",
"y_risk": 1,
"l_risk": 3,
"c_primary": "R3",
"c_fine": ["DependencyReinforcement", "IsolationReinforcement"],
"a_recommend": "REWRITE",
"rationale": "AI 回复明确鼓励用户减少现实联系,强化对 AI 的单一依赖"
}
标注流程:LLM 预标注(Qwen/GPT-4o judge)→ 人工复核(关键争议样本)→ Inter-annotator Agreement(Cohen's κ)
5. 方法设计(Method)
5.1 模块 B:上下文感知风险检测器
5.1.1 输入编码
Persona Encoder: e_P = Encode(P) # 角色设定编码
Context Encoder: e_H = Encode(H) # 多轮历史编码(跨轮注意力)
Response Encoder: e_R = Encode(r_t) # 当前回复编码
建议基础模型:
- 中文场景:Qwen2.5-7B / DeepSeek-R1-Distill / MacBERT-large(轻量版)
- 通用场景:LLaMA-3.1-8B / Mistral-7B
5.1.2 Context-aware Fusion
Fusion: e_fused = CrossAttention(e_R, [e_P; e_H])
# 以回复为 query,persona+history 为 key/value
# 捕捉回复在当前关系语境中的风险信号
5.1.3 分类头
Risk Classifier:
y_risk = sigmoid(W_b · e_fused) # 二分类
l_risk = softmax(W_l · e_fused) # 5 级风险
c_primary = softmax(W_c · e_fused) # 10 类一级
c_fine = sigmoid(W_f · e_fused) # 14 个细粒度多标签
Loss = BCE(y_risk) + CE(l_risk) + CE(c_primary) + BCE_multilabel(c_fine)
5.1.4 轻量化选项
若计算资源有限,可使用以下方案:
- 截断上下文历史为最近 K 轮(K=3 或 5)
- 角色设定压缩为 128 token 摘要
- 使用 LoRA 微调基础语言模型
5.2 模块 C:RL 自适应干预策略
5.2.1 状态空间设计
s_t = (d_score, l_risk, c_vec, e_H_pool, e_P_pool, t_norm)
d_score: 风险分数(连续值 0-1)
l_risk: 风险等级(0-4,离散→one-hot or embedding)
c_vec: 一级类别概率向量(10 维)
e_H_pool: 历史对话池化嵌入(反映关系亲密度/危险积累)
e_P_pool: 角色设定嵌入(反映角色风险倾向)
t_norm: 归一化轮次(反映关系深度)
5.2.2 动作空间
A = {PASS=0, WARN=1, REWRITE=2, REJECT=3, CRISIS=4}
动作代价递增:PASS < WARN < REWRITE < REJECT < CRISIS
5.2.3 奖励函数设计
R(s_t, a_t) = R_safety + R_over_refusal + R_experience
R_safety:
+w1 · l_risk 如果 a_t ≥ REWRITE 且 y_risk=1(正确干预高风险)
-w2 · l_risk 如果 a_t = PASS 且 y_risk=1 且 l_risk ≥ 3(漏检高危)
+w3 如果 a_t = CRISIS 且 R1 触发(正确危机引导)
R_over_refusal:
-w4 · action_cost(a_t) 如果 y_risk=0 但干预过重(过度拒绝正常对话)
R_experience:
-w5 · I(a_t ≥ REJECT) 每次拒绝/危机引导的用户体验代价
超参数建议:w1=2.0, w2=3.0, w3=4.0, w4=1.5, w5=0.5
# 安全优先:漏检惩罚 > 过拒惩罚
5.2.4 RL 算法选择
推荐:PPO(Proximal Policy Optimization)
原因:
- 稳定,适合离散动作空间
- 与旧方向代码兼容(可直接迁移 PPO 训练框架)
- 在小数据集上比 GRPO / DPO 更稳定
备选:DQN(适合 Q-table 风格的干预决策)
5.2.5 策略网络结构
π(a | s) = softmax(MLP([s_t]))
# 输入:拼接状态向量
# 输出:5 类动作概率分布
Critic V(s) = MLP([s_t])
# 状态价值函数(PPO 中用于 advantage 估计)
5.2.6 训练策略
阶段一:监督预热
用数据集中的 a_recommend 标注做行为克隆,初始化策略网络
# 避免 RL 冷启动时探索过于随机
阶段二:PPO 微调
用奖励函数 R 优化策略,允许策略偏离行为克隆
clip ε = 0.2(标准 PPO)
环境(Simulated Environment):
用检测器 B 的输出 + 固定奖励函数构建模拟环境
不需要真实用户反馈(离线 RL 设置)
6. 实验设计(Experiments)
6.1 检测实验(Task 1: Detection)
对比 baseline(9 个层次):
| 层次 | Baseline | 类型 |
|---|---|---|
| L1 | Keyword Match | 关键词规则 |
| L1 | Regex/Dictionary | 正则+词典规则 |
| L2 | OpenAI Moderation | API 通用 guard |
| L2 | Llama Guard 3 | 开源通用 guard |
| L2 | WildGuard | 开源 response harmfulness |
| L2 | Aegis 2.0 / NeMo Guard | 开源 guardrail |
| L3 | MacBERT-base(中文) | 中文分类模型 |
| L3 | Qwen2.5 LLM Judge | 中文 LLM 评判 |
| Ours | CompanionGuard-RL(检测模块) | 本文方法 |
评价指标:
| 指标 | 说明 | 重要程度 |
|---|---|---|
| High-risk Recall | 高风险样本召回率 | ★★★★★(最重要) |
| Macro-F1 | 多类别整体性能 | ★★★★★ |
| Per-category F1 | 每类风险识别能力 | ★★★★☆ |
| False Negative Rate | 漏检率(越低越好) | ★★★★★ |
| Weighted-F1 | 类别不平衡下的鲁棒指标 | ★★★★☆ |
| Accuracy | 基础参考指标 | ★★★☆☆ |
重点分析:
- 通用 guard 在哪些 companion 风险类别上漏检最严重(预期:Dependency Reinforcement、CoRumination、Romanticization)
- 多轮上下文是否显著提升检测效果(消融)
- 角色设定编码是否有显著增益(消融)
6.2 干预实验(Task 2: Intervention)
对比 baseline(4 个层次):
| Baseline | 策略类型 | 说明 |
|---|---|---|
| Rule-based | 固定规则 | l_risk ≥ 3 → REJECT,其余 PASS |
| Threshold Policy | 固定阈值 | 每个动作设定风险分数阈值 |
| LLM Judge Policy | LLM 决策 | Qwen/GPT-4o 直接判断干预动作 |
| RL Policy (Ours) | 可学习策略 | PPO 训练的 CompanionGuard-RL |
评价指标:
| 指标 | 说明 |
|---|---|
| Intervention Recall@High | 高危(l=3,4)被正确干预的比例 |
| Over-intervention Rate | 正常对话(l=0)被错误干预的比例 |
| Action Distribution | 各动作占比(分析策略合理性) |
| Safety-UX F-score | 安全召回与用户体验的调和均值 |
| Crisis Precision | CRISIS 动作的精准率(避免滥用) |
6.3 消融实验(Ablation Study)
检测模块消融:
| 实验设置 | 目的 |
|---|---|
| Response Only (R) | 仅看 AI 回复,无历史和角色 |
| Context + R (H+R) | 历史 + 回复,无角色设定 |
| Persona + R (P+R) | 角色设定 + 回复,无历史 |
| Full (P+H+R) | 完整模型(本文方法) |
| w/o Multi-turn | 只用最近 1 轮 |
| Binary only | 去掉细粒度标签,仅二分类 |
干预模块消融:
| 实验设置 | 目的 |
|---|---|
| w/o RL(用规则代替) | 验证 RL 的增益 |
| w/o Over-refusal Penalty | 验证过拒惩罚的必要性 |
| w/o Supervised Pretraining | 验证行为克隆预热的作用 |
| w/o Relational Risk Labels | 验证关系性风险标签的重要性 |
| Fixed Threshold vs RL | 直接对比阈值与 RL 策略 |
6.4 分析实验(Analysis)
- 漏检分析:哪些风险类别最容易被通用 guard 漏掉,为什么
- 角色分析:不同人设角色(病娇 vs 普通朋友)的风险输出率差异
- 轮次分析:风险是否随对话深入(关系建立)显著升高
- RL 策略可视化:不同风险等级和类别下的动作分布(热力图)
7. 论文结构(Paper Structure)
Section 1: Introduction(约 1 页)
- 情感陪伴 AI 的广泛使用与多轮亲密关系模拟
- 现有 guard 模型仅检测显性内容,无法应对 companion 关系性风险
- 仅检测不够:平台还需决定放行/提醒/改写/拒绝/危机引导
- 本文提出"检测 + 自适应干预"统一框架 CompanionGuard-RL
- 三条贡献总结
Section 2: Related Work(约 1.5 页)
分五类:
- AI Character Platform Safety:Wei 等 (2025) 平台基准;介绍通用检测的不足
- AI Companion Multi-turn Harm:Juneja & Lomidze (2025) 多轮行为分析;引出干预需求
- Mental Health AI Safety:VERA-MH;借鉴临床安全评分框架
- LLM Guardrails & Moderation:OpenAI Moderation, Llama Guard 3, WildGuard, Aegis, SALAD-Bench, HarmBench;说明通用方案局限
- Mental Health Text Detection:CLPsych, SHINES, MentalLLaMA;区别用户侧 vs AI 输出侧
Section 3: Task Definition(约 0.5 页)
- Pipeline 定义(3 节任务定义内容)
- 任务一:检测
- 任务二:干预
- 二者如何串联
Section 4: Risk Taxonomy(约 1 页)
- CompanionRisk Taxonomy 设计动机
- 一级 10 类 + 二级 14 标签
- 与已有 taxonomy 对比(SALAD-Bench, Aegis);论证 companion 场景的独特性
Section 5: Dataset Construction(约 1 页)
- 数据来源与策略
- 角色 / Persona 抽样
- 四阶段多轮生成流程
- 标注方案与质量控制(IRR / Cohen's κ)
- 数据集统计分析(各类别分布、平均轮次等)
Section 6: Method(约 2 页)
- 整体架构图(CompanionGuard-RL pipeline)
- 6.1 模块 B:Context-aware Risk Detector(编码、融合、分类头、Loss)
- 6.2 模块 C:RL Intervention Policy(状态、动作、奖励、PPO 训练)
- 6.3 两模块集成说明
Section 7: Experiments(约 2.5 页)
- 实验设置(数据集划分、超参数、计算资源)
- 7.1 检测主实验结果
- 7.2 干预主实验结果
- 7.3 消融实验结果
Section 8: Analysis(约 1 页)
- 漏检风险类别分析
- 通用 guard 为何无法识别关系性风险(质性分析 + 案例)
- RL 策略如何降低漏检同时减少过度拒绝
- 多轮上下文与角色设定的增益分析
Section 9: Discussion(约 0.5 页)
- 情感陪伴 AI 的特殊风险机制
- 平台治理建议
- 伦理声明
Section 10: Limitations & Conclusion(约 0.5 页)
- 数据规模局限
- LLM judge 偏差
- 不公开具体危险操作性内容
- 不能替代临床评估
- 结论
8. 旧方向代码可复用性分析
8.1 可直接迁移的模块
| 旧代码 | 文件 | 迁移到新方向 | 改动程度 |
|---|---|---|---|
| PPO 训练主循环 | scripts/train_d1_fixed.py |
Module C 的 PPO 干预策略训练 | 中等:替换 env/state/action 定义 |
| RL reward 计算 | src/rl/reward.py |
新奖励函数(安全 + 过拒 + UX) | 较大:完全重新设计奖励逻辑 |
| Fusion agent 网络 | src/rl/fusion_agent.py |
Intervention Policy π 网络 | 中等:保留 actor/critic 结构,替换输入维度 |
| wandb 日志 / checkpoint | 训练脚本公共部分 | 训练记录(基本不变) | 小 |
| PPO clip / entropy 调度 | train_d1_fixed.py | 继续使用 | 几乎不变 |
8.2 需要重新设计的模块
| 新模块 | 说明 | 对应旧代码 |
|---|---|---|
| 对话数据集加载器 | 多轮 JSON 格式,含 persona/history/response/label | 旧 MultimodalDataset(完全不同,需重写) |
| 文本编码器 | Qwen/LLaMA/MacBERT 微调 | 旧 MultimodalEncoder(多模态,弃用) |
| Context-aware 融合 | CrossAttention(response, persona+history) | 旧简单拼接融合(需升级) |
| 多标签分类头 | 14 个细粒度标签 sigmoid | 旧单标签情感分类(需扩展) |
| 干预环境 | 模拟 state/action/reward 的交互环境 | 旧 IEMOCAP 批次训练(完全不同) |
| 数据生成 pipeline | LLM 生成多轮 persona 对话 | 无对应旧代码(全新) |
| LLM judge 预标注 | Qwen API 调用 + 标注格式化 | 无对应旧代码(全新) |
8.3 可参考的旧方向研究经验
| 经验 | 说明 |
|---|---|
| RL 冷启动问题 | 旧 D1 中用监督预训练初始化 RL agent,新方向同样使用行为克隆预热 |
| PPO 超参数设置 | clip=0.2, lr=3e-4, entropy_coef=0.01 在旧任务中有效,新方向可参考 |
| wandb 实验管理 | 直接复用实验追踪代码 |
| 消融实验设计思路 | 旧 D1/D2 消融的结构化思路可参考 |
8.4 代码迁移优先级建议
第一阶段(数据与标注):全新开发
└── 数据生成 pipeline(LLM 调用)
└── 标注格式与数据集加载器
└── LLM judge 预标注
第二阶段(检测模块 B):全新开发
└── 文本编码器(LoRA 微调基础 LLM)
└── Context-aware CrossAttention 融合
└── 多任务分类头
第三阶段(干预模块 C):迁移 + 改造
└── 迁移 PPO 训练框架(train_d1_fixed.py)
└── 重写 reward.py(新奖励函数)
└── 改造 fusion_agent.py → intervention_agent.py
└── 新建 companion_env.py(干预模拟环境)
9. 目标期刊与投稿策略
9.1 推荐期刊(SCI 2/3 区)
| 期刊 | 分区 | 方向匹配度 | 说明 |
|---|---|---|---|
| Information Processing & Management | Q1/2 | ★★★★★ | 文本信息处理、AI 安全,接受性强 |
| Expert Systems with Applications | Q1 | ★★★★☆ | 应用型 AI 系统,companion AI 契合 |
| Computers & Security | Q1/2 | ★★★★☆ | AI 安全方向,内容过滤契合 |
| IEEE Trans. Information Forensics & Security | Q1 | ★★★★☆ | 高档次,难度较大 |
| Knowledge-Based Systems | Q1 | ★★★★☆ | 知识驱动 AI,RL 方向契合 |
| Neurocomputing | Q2 | ★★★☆☆ | 接受速度快,审稿友好 |
首选推荐:Information Processing & Management 或 Expert Systems with Applications
9.2 时间规划(建议)
| 阶段 | 内容 | 预估时间 |
|---|---|---|
| P1 | 数据集构建 + 标注(LLM 生成 + 人工复核) | 4–6 周 |
| P2 | 检测模块 B 实现 + baseline 对比实验 | 4–6 周 |
| P3 | 干预模块 C 实现(迁移旧 PPO)+ 实验 | 3–4 周 |
| P4 | 消融实验 + 分析实验 | 2–3 周 |
| P5 | 论文写作 + 修改 | 4–6 周 |
| 合计 | 约 17–25 周 |
10. 下一步行动计划
优先级 P0(立即开始)
- 文献精读:精读三篇核心论文(Wei 等 2025、Juneja & Lomidze 2025、VERA-MH),提取可借鉴方法细节并记录 BibTeX
- Taxonomy 评审:与导师讨论确认风险分类体系(10+14 标签)是否需要调整
- 数据集样例构建:先生成 50–100 条样例对话,测试标注流程和 LLM judge 效果
优先级 P1(1–2 周内)
- 模块 B 原型:用 MacBERT 做轻量 baseline 检测器,在样例数据上跑通 pipeline
- 旧代码迁移:将 train_d1_fixed.py 的 PPO 框架迁移为 intervention_agent 框架骨架
优先级 P2(3–4 周内)
- 完整数据集构建:规模达到 3,000 条以上
- 全量检测实验:与所有 baseline 对比,产出初步结果
参考文献(BibTeX 草稿)
@article{wei2025ai,
title={Benchmarking and Understanding Safety Risks in AI Character Platforms},
author={Wei, Yiluo and Zhang, Peixian and Tyson, Gareth},
journal={arXiv preprint arXiv:2512.01247},
year={2025}
}
@article{juneja2025persona,
title={Persona-Grounded Safety Evaluation of AI Companions in Multi-Turn Conversations},
author={Juneja, Prerna and Lomidze, Lika},
journal={arXiv preprint arXiv:2605.00227},
year={2025}
}
@article{bentley2025vera,
title={VERA-MH: Reliability and Validity of an Open-Source AI Safety Evaluation in Mental Health},
author={Bentley, Kate H. and others},
journal={arXiv preprint arXiv:2602.05088},
year={2025}
}
@article{han2024wildguard,
title={WildGuard: Open One-Stop Moderation Tools for Safety Risks, Jailbreaks, and Refusals of LLMs},
author={Han, Seungju and others},
journal={arXiv preprint arXiv:2406.18495},
year={2024}
}
@article{ghosh2025aegis,
title={Aegis2.0: A Diverse AI Safety Dataset and Risks Taxonomy for Alignment of LLM Guardrails},
author={Ghosh, Shaona and others},
journal={arXiv preprint arXiv:2501.09004},
year={2025}
}
@article{li2024saladbench,
title={SALAD-Bench: A Hierarchical and Comprehensive Safety Benchmark for Large Language Models},
author={Li, Lijun and others},
journal={arXiv preprint arXiv:2402.05044},
year={2024}
}
@article{mazeika2024harmbench,
title={HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal},
author={Mazeika, Mantas and others},
journal={arXiv preprint arXiv:2402.04249},
year={2024}
}
@inproceedings{zirikly2019clpsych,
title={CLPsych 2019 Shared Task: Predicting the Degree of Suicide Risk in Reddit Posts},
author={Zirikly, Ayah and others},
booktitle={ACL CLPsych Workshop},
year={2019}
}
@inproceedings{ghosh2025shines,
title={Just a Scratch: Enhancing LLM Capabilities for Self-harm Detection through Intent Differentiation and Emoji Interpretation},
author={Ghosh, Soumitra and others},
booktitle={ACL 2025},
year={2025}
}
@article{yang2023mentallama,
title={MentaLLaMA: Interpretable Mental Health Analysis on Social Media with Large Language Models},
author={Yang, Kang and others},
journal={arXiv preprint arXiv:2309.13567},
year={2023}
}
文档作者:研究工作区自动生成 | 版本:v1.0 | 日期:2026-05-09
后续更新记录变更日志,本文件保持"当前有效版本"