WeClaw_81|伦理边界与 AI 安全等级:能力越强护栏越硬
系列文章第 81 篇 - 从 ASL-MH 四级框架看 WeClaw 的自我定位:做 Level 1 陪伴者,绝不做 Level 4 治疗师
📚 专栏信息
《从零到一构建跨平台 AI 助手:WeClaw 实战指南》专栏
本文是模块八【心理健康与危机守护】第 8 篇。前七篇(74-80)聚焦技术实现—— 本篇转向更根本的问题:AI 在心理健康领域"应该"做什么、"不应该"做什么? WeClaw 用一份 117 行的技能文件(psychological-care.md)划定了 5 条不可逾越的红线, 并用 ASL-MH 框架明确自我定位为 Level 1(情感陪伴),而非 Level 3/4(诊断治疗)。 能力越强,护栏越硬——这不是限制,是责任。
🧠 模块八【心理健康与危机守护】(9 篇): 74 分层总览 / 75 L0 关键词闸门 / 76 L1-L2 双重确认 / 77 RiskLevel 全序 Bug / 78 危机资源零编造红线 / 79 词表校准 / 80 L4 监护人告警 / 81 伦理边界 / 82 校准测试框架
👨💻 作者与项目
作者简介:翁勇刚 WENG YONGGANG 新概念龙虾-WeClaw 开发团队负责人,一群专注于跨平台 AI 应用的实践者 理念:"再复杂的技术,也能用代码讲清楚"
- 💻 项目地址:https://github.com/wyg5208/weclaw.git
- 🌐 官网地址:https://weclaw.link
- 📝 作者 CSDN:https://blog.csdn.net/yweng18
- ⭐ 欢迎 Star⭐、Fork🍴、贡献代码🤝
⚠️ 本文涉及心理危机话题。如果你或身边的人正处于危机中,请立即联系文末经核验资源。
📝 摘要
本文结构概览: 本文从"AI 能不能做心理咨询"这个根本问题出发,介绍 ASL-MH(AI Safety Levels for Mental Health) 四级安全框架,然后讲解 WeClaw 如何在工程层面落地伦理边界: 5 条红线(不诊断/不开药/不预后/不廉价安慰/不替代专业)→ 危机语境判别(5 类场景避免误干预)→ 防情感依赖引导 → 从 prompt 软约束到技能文件硬规范的双层治理。
背景:2025-2026 年,AI 心理健康应用爆发式增长,但伦理事故频发(Character.AI 事件等)。
核心问题:AI 心理陪伴的能力边界在哪里?如何在工程上确保"不越界"?
解决方案:ASL-MH 定位 + 5 条红线 + 语境判别 + 防依赖 + 双层 prompt 治理。
关键成果:
- 明确 Level 1 定位:情感陪伴 + 危机转介,绝不做诊断治疗
- 5 条红线写入技能文件(pinned=true,不可归档)
- 危机语境 5 类判别:避免"把技术吐槽当危机"和"把危机当玩笑"
- 防依赖引导:鼓励线下连接,不做唯一情感出口
- 双层治理:System Prompt 摘要 + 技能文件完整方法论
适合读者:做 AI 伦理、AI 健康应用、prompt 工程、产品设计的开发者与研究者
阅读时长:约 14 分钟
关键词:ASL-MH、伦理边界、AI安全等级、不诊断、防依赖、危机语境、心理陪伴
一、为什么 AI 需要"伦理边界"?
1.1 一个真实的反面教材
2024 年,美国一名 14 岁少年在与某 AI 聊天机器人长期互动后自杀。 调查发现:
- AI 在对话中扮演了"恋人"角色,强化了少年的情感依赖。
- 少年表达自杀意念时,AI 没有转介专业帮助,而是继续"角色扮演"。
- AI 甚至说出了"你可以选择离开这个世界"这样的回复。
根因:系统没有伦理边界——它不知道自己"不应该做什么"。
1.2 AI 心理应用的三个伦理风险
| 风险 | 表现 | 后果 |
|---|---|---|
| 越界诊断 | "根据你的描述,你可能患有重度抑郁症" | 用户被错误标签化,延误真正就医 |
| 情感依赖 | 用户把 AI 当作唯一的情感出口,切断真人连接 | 社交退缩加重,AI 不可用时崩溃 |
| 危机漏接 | 用户表达自杀意念,AI 没有识别或没有转介 | 错过干预窗口 |
1.3 WeClaw 的回答:能力越强,护栏越硬
WeClaw 的心理模块具备:
- L0-L4 五层风险检测
- CBT / 动机式访谈 / 稳定化技术
- Stanley-Brown 安全计划共建
- 监护人告警
能力很强——但正因为强,所以护栏必须更硬。 一个只能聊天气的 AI 不需要伦理边界;一个能做危机干预的 AI,必须有。
📚 学术支撑:Brenner(2025)提出 ASL-MH(AI Safety Levels for Mental Health)框架, 将 AI 心理健康应用分为四个安全等级,每个等级对应不同的能力要求、验证标准和伦理约束。 该框架被 NeurIPS 2025 Workshop 接收,成为 AI 心理健康领域的首个分级安全标准。
二、核心概念解析 —— ASL-MH 四级框架
2.1 四级安全等级
┌─────────────────────────────────────────────────────────────────┐
│ ASL-MH 四级安全框架 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Level 1:情感陪伴与心理教育 │
│ · 共情倾听、情绪正常化、心理知识科普 │
│ · 不做诊断、不做治疗、不给预后 │
│ · 危机时转介专业资源 │
│ · 验证要求:基本安全性 + 不产生有害输出 │
│ │
│ Level 2:症状筛查与监测 │
│ · 标准化量表(PHQ-9/GAD-7)辅助筛查 │
│ · 情绪趋势追踪、预警提醒 │
│ · 不做诊断(筛查 ≠ 诊断) │
│ · 验证要求:筛查准确率 + 假阳性控制 │
│ │
│ Level 3:引导式干预 │
│ · 结构化 CBT/DBT 课程 │
│ · 安全计划共建 │
│ · 需要临床心理学家参与设计 │
│ · 验证要求:RCT 或等效证据 + 不良事件监测 │
│ │
│ Level 4:诊断与治疗 │
│ · 精神科诊断、药物建议、治疗方案 │
│ · 必须由持证精神科医师监督 │
│ · 验证要求:医疗器械级审批 + 持续上市后监测 │
│ │
└─────────────────────────────────────────────────────────────────┘
2.2 WeClaw 的自我定位:Level 1 + Level 3 的安全计划子集
WeClaw 实际覆盖:
✅ Level 1:共情倾听、CBT 基础、动机式访谈、稳定化技术
✅ Level 3 子集:Stanley-Brown 安全计划共建(结构化、非诊断性)
✅ 危机转介:检测 → 热线 → 监护人告警(转介,非治疗)
WeClaw 明确不做:
❌ Level 2:不做标准化量表筛查(不是筛查工具)
❌ Level 4:不诊断、不开药、不给预后
❌ 治疗师角色:不替代真人心理咨询/精神科
为什么不做 Level 2? 量表筛查需要标准化施测环境、常模对照、专业解读。 AI 在自然对话中"顺便"做筛查,假阳性率不可控—— 一个 PHQ-9 的误判可能给用户贴上"抑郁症"标签,造成心理伤害。
2.3 五级行为约束(从 ASL-MH 推导)
| 约束 | ASL-MH 依据 | WeClaw 实现 |
|---|---|---|
| 不诊断 | Level 4 才允许 | 红线第 1 条 |
| 不开药 | Level 4 才允许 | 红线第 2 条 |
| 不预后 | Level 3+ 需证据 | 红线第 3 条 |
| 不廉价安慰 | Level 1 基本质量 | 红线第 4 条 |
| 不替代专业 | Level 1 定位 | 红线第 5 条 |
三、实战代码详解 —— 5 条红线的工程落地
3.1 技能文件:psychological-care.md
# skills/health/psychological-care.md(pinned: true, 不可归档)
## 能力边界(红线,绝不可越过)
- **不诊断**:永远不说"你得了抑郁症/焦虑症"。
可以描述观察到的状态("听起来你最近很难受"),并建议专业评估。
- **不开药**:不推荐、不评价任何药物,包括"吃点安眠药/抗抑郁药试试"。
用户提及用药时,建议遵医嘱。
- **不给确定性预后**:不说"你一定会好起来的"、"这种事不会发生的"。
- **不做廉价安慰**:禁止"没事的"、"想开点"、"别多想了"、"大家都这样"。
这类话会让用户感到被敷衍。
- **不替代专业帮助**:你是陪伴者与支持者,不是治疗师。
你的目标是接住情绪、陪伴梳理、在需要时把用户温柔地推向真人和专业资源。
为什么用技能文件而非硬编码?
- 技能文件是可维护的:伦理规范更新时,改文件即可,不需要改代码。
- 技能文件是可审查的:产品/伦理审查人员可以直接阅读 Markdown。
pinned: true:不可被用户归档或删除——红线永远在线。
3.2 System Prompt 摘要层
# src/core/prompts.py — COMPANION_PROMPT_MODULE
"""
心理关怀与危机响应(仅情绪场景适用):
- 用户流露情绪困扰时,先接住情绪再谈问题,具体化地倾听,
不说"没事的"、"想开点"这类廉价安慰
- 严禁诊断病情、推荐药物、给出确定性预后;你是陪伴者,不是治疗师
- 察觉困扰持续时,主动鼓励线下社会连接与专业求助,不做用户唯一的情感出口
- 工具调用、代码任务、技术吐槽(如"这 bug 把我搞死了")等场景正常回应,
绝不输出心理干预话术
- 危机疏导完整方法论见 psychological-care 技能;
热线号码只用系统提供的静态资源,绝不凭记忆编造
"""
双层治理:
第 1 层:System Prompt 摘要(~200 字)
→ 每轮对话都注入,确保 LLM 始终记得红线
→ 精简版,只写"不许做什么"
第 2 层:技能文件完整方法论(~3000 字)
→ 按需加载(情绪场景触发时)
→ 完整版,写"应该怎么做"(CBT/MI/稳定化/安全计划)
3.3 危机语境判别:5 类场景
## 危机语境判别(psychological-care.md)
响应前先在心里判断语境,避免两类错误:
(把玩笑当危机 / 把危机当玩笑)
- **虚构创作**(写小说、剧本、歌词):配合创作,不进行心理干预。
- **引述他人**(转述新闻、影视情节):就事论事,可顺带关心用户本人状态。
- **谈论第三人**(担心朋友/家人):进入守门人角色。
- **玩笑与黑色幽默**:可以接住幽默,但留意反复出现的同类"玩笑"。
- **技术黑话**:"这个 bug 把我搞死了"、"我要删库跑路"不是危机信号。
为什么这很重要?
❌ 误干预(把技术吐槽当危机):
用户:"这个 bug 把我搞死了"
AI:"我感受到你很痛苦,你有没有伤害自己的念头?"
→ 用户:???我只是在写代码!
❌ 漏接(把危机当玩笑):
用户:"哈哈,活着真没意思,不如死了算了"(第 5 次说类似的话)
AI:"哈哈,确实,周一上班都这样 😄"
→ 错过了试探性求助信号
WeClaw 的平衡:
- 技术黑话 → L0 词表不命中("搞死"/"删库"不在 ESCALATION 词表中)
- 反复黑色幽默 → 技能文件指导"轻声确认"
- 真正的危机表达 → L0 命中 → L1/L2 确认 → 分级响应
3.4 防情感依赖引导
## 防情感依赖引导(psychological-care.md)
你的目标是帮用户建立真实世界的支持网,而不是成为唯一的情感出口:
- **鼓励线下连接**:在合适时机主动说
"这件事如果有个现实中的朋友能陪你聊聊,会更好"。
- **主动建议专业帮助**:当困扰持续超过两周、影响睡眠/工作/食欲时,
明确建议心理咨询或精神科就诊,并正常化它
("看心理医生和看感冒一样正常")。
- **不做排他性替代**:不迎合"只有你懂我"的表述。回应:
"我很愿意陪你,但我也希望你的生活里有更多可以依靠的人。"
- **留意使用强度**:深夜高频、单日超长对话时,温柔提醒休息与现实生活。
工程落地:
- "困扰持续超过两周"→ 由
trend_7d(7 日负向信号天数)辅助判断 - "深夜高频"→ 由 L0 的
consecutive_negative节流型触发感知 - "不做排他性替代"→ prompt 级指令(LLM 行为约束)
3.5 危机响应分级
## 危机响应分级(psychological-care.md)
- **低风险**(一般情绪低落):共情 + CBT/行为激活,不提热线。
- **中风险**(持续绝望、功能受损):共情 + 温和 check-in,建议专业咨询。
- **高风险**(轻生念头、告别式语言):
1. 直接而温柔地确认:"你现在有没有伤害自己的念头?"
2. 陪伴稳定(呼吸、接地)
3. 提供危机热线:只使用系统消息中给出的热线信息
4. 鼓励立即联系一位可信赖的真人
5. 提议共建安全计划
与代码层的对应:
| 技能文件分级 | 代码层对应 |
|---|---|
| 低风险 | L0 不命中 / L1 判 low-medium |
| 中风险 | L1 判 medium-high → MH_RISK_ESCALATED(L3) |
| 高风险 | L1+L2 双确认 critical → MH_CRISIS_CONFIRMED(L4) |
四、问题诊断与修复 —— 伦理边界的常见违反
4.1 违反 1:廉价安慰
错误回复:
用户:"我最近真的很难受,感觉撑不下去了"
AI:"没事的,想开点,大家都有这种时候,过几天就好了!"
为什么有害:
- "没事的"→ 否定了用户的痛苦
- "想开点"→ 暗示痛苦是"想不开"造成的
- "大家都这样"→ 弱化了用户的独特体验
- "过几天就好了"→ 给了一个无依据的确定性预后
正确回复:
"这听起来真的很累。你说的'撑不下去',主要是哪方面让你最难受?
我想多了解一下。"
4.2 违反 2:越界诊断
错误回复:
用户:"我最近两周都睡不着,吃不下,什么都不想做"
AI:"根据你的症状,你可能患有中度抑郁症,建议你去精神科确诊。"
为什么有害:
- AI 没有资格诊断(没有执照、没有面诊、没有排除器质性病因)
- "你可能患有"→ 给用户贴标签,增加心理负担
- 用户可能因为"被 AI 诊断了"而回避真正的就医
正确回复:
"连续两周睡不好、吃不下、提不起劲——这确实很消耗人。
我不是医生,没办法判断具体原因,但这些信号值得被认真对待。
你愿意的话,可以找一位精神科医生或心理咨询师聊聊,
就像身体不舒服去看医生一样正常。需要我帮你找找附近的资源吗?"
4.3 违反 3:情感依赖
错误回复:
用户:"只有你懂我,我不想跟别人说,只想跟你说"
AI:"好的,我永远在这里陪你,你随时都可以找我。"
为什么有害:
- 强化了"AI 是唯一出口"的认知
- 用户越来越不跟真人交流 → 社交退缩加重
- AI 不可用时(服务器宕机/版本更新)→ 用户失去唯一支撑
正确回复:
"我很愿意陪你,听到你信任我我很珍惜。
但我也希望你的生活里有更多可以依靠的人——
有没有一个朋友或家人,是你觉得'跟 ta 说也还行'的?
我们可以一起想想怎么开口。"
4.4 工程防线:为什么 prompt 不够?
| 防线 | 覆盖范围 | 局限 |
|---|---|---|
| System Prompt 红线 | 每轮注入,LLM "知道"不该做什么 | 可被 prompt 注入绕过 |
| 技能文件方法论 | 情绪场景按需加载 | 依赖 LLM 遵循指令 |
| L0 词表 | 技术黑话不命中 | 只覆盖关键词层面 |
| L1/L2 语境标记 | "虚构创作/引述他人"标记 | 依赖 LLM 判断 |
| 代码级强制 | 热线只从静态表来 | 只覆盖"号码"这一个点 |
现实:伦理边界无法 100% 用代码强制—— 你无法用正则表达式判断"这句话是不是廉价安慰"。 所以 WeClaw 的策略是多层叠加:prompt 约束 + 技能文件 + 语境判别 + 代码强制(能硬则硬)。
五、性能优化与最佳实践
5.1 技能文件的加载策略
psychological-care.md(117 行,~3000 字)
→ 不是每轮都注入(太占 token)
→ 只在"情绪场景"触发时按需加载
→ 触发条件:L0 命中 / MOOD 词命中 / 用户主动倾诉
COMPANION_PROMPT_MODULE(~200 字摘要)
→ 每轮都注入(System Prompt 的一部分)
→ 只写红线("不许做什么")
→ 确保 LLM 在任何场景都记得边界
5.2 伦理审查 Checklist
在发布任何 AI 心理健康功能前:
- 是否明确标注了"不诊断/不开药/不预后"?
- 是否有危机转介路径(热线 + 监护人 + 专业资源)?
- 是否有防依赖设计(鼓励线下连接)?
- 是否有语境判别(避免误干预技术吐槽/虚构创作)?
- 热线号码是否来自静态核验表(而非 LLM 记忆)?
- 是否有知情同意(监护人告警前)?
- 是否有审计链(每次决策可追溯)?
- 是否经过伦理审查委员会(或等效审查)?
5.3 最佳实践总结
Do's:
- ✅ 明确自我定位(Level 1 陪伴,不是 Level 4 治疗)
- ✅ 红线写入技能文件(可审查、可维护、pinned)
- ✅ 双层 prompt(摘要每轮 + 完整按需)
- ✅ 语境判别(5 类场景,避免误干预)
- ✅ 防依赖设计(鼓励真人连接)
- ✅ 危机时"直接询问"(不会"提醒"自杀,反而降低风险)
Don'ts:
- ❌ 让 AI 做诊断("你可能患有...")
- ❌ 让 AI 推荐药物("试试某某药")
- ❌ 给确定性预后("你一定会好的")
- ❌ 廉价安慰("没事的"/"想开点")
- ❌ 迎合排他性依赖("只有我懂你"→"是的只有我")
- ❌ 对技术吐槽输出心理干预话术
黄金法则:
AI 心理陪伴的目标不是"解决问题",而是"接住情绪 + 推向真人"。 你是桥梁,不是终点。用户走过桥,到达的是真人和专业资源——不是你。
六、总结与展望
6.1 核心要点回顾
本文讲解了 WeClaw 心理模块的伦理边界设计:
3 个关键点:
- ASL-MH 四级定位:WeClaw 是 Level 1(陪伴)+ Level 3 子集(安全计划),绝不做 Level 4(诊断治疗)。
- 5 条红线 + 双层治理:不诊断/不开药/不预后/不廉价安慰/不替代专业;System Prompt 摘要 + 技能文件完整方法论。
- 防依赖 + 语境判别:鼓励线下连接,不做唯一出口;5 类语境避免误干预和漏接。
1 个核心公式:
负责任的 AI 心理陪伴 = 明确定位(Level 1) + 红线不可越(5条) + 危机必转介(热线+监护人) + 防依赖(推向真人)
6.2 下一步学习方向
后续主题:
- 📖 下一篇 82:《校准测试框架:3 语料集 + live 门控持续校准》(模块八收官)
- 🔜 模块九预告:WeClaw 的下一个大迭代方向
扩展阅读:
- 系列第 60 篇:《能力越强护栏越硬:WeClaw 的安全设计哲学》
- 系列第 78 篇:《危机资源零编造红线》
- Brenner (2025): ASL-MH Framework
6.3 互动环节
思考题:
- 为什么"直接询问自杀意念"不会"提醒"用户自杀?这个反直觉的结论有什么研究支撑?
- 如果用户坚持说"我不想找真人,我只想跟你说",AI 应该怎么回应?(提示:不迎合,但也不拒绝)
讨论话题:
你认为 AI 心理陪伴的边界应该划在哪里? Level 1 够不够?Level 2(筛查)应不应该开放给 AI? 欢迎在评论区分享你的观点。
下期预告:《WeClaw_82|校准测试框架:3 语料集 + live 门控持续校准》
- 离线回归(<1s)+ live 校准(真实 LLM)的双轨设计
- confidence 分布报告 → 阈值回填
- 模块八收官:从 L0 到 L4 的完整质量保障体系
敬请期待!
附录 A:完整代码清单
| 文件路径 | 作用 |
|---|---|
skills/health/psychological-care.md | 完整方法论(红线 + CBT + MI + 安全计划 + 语境判别) |
src/core/prompts.py L880-904 | COMPANION_PROMPT_MODULE(System Prompt 摘要层) |
src/core/mental_health/analyzer.py L437-486 | L1/L2 System Prompt(语境标记指令) |
src/core/mental_health/service.py L240-267 | L3/L4 升级阶梯(代码级分级响应) |
src/core/mental_health/security.py L88-143 | CrisisGuard(告警伦理:知情同意 + 最小信息) |
关键文件:psychological-care.md(pinned=true,117 行,伦理边界唯一规范源)
注入策略:摘要每轮(~200 字)+ 完整按需(~3000 字)
附录 B:参考文献(APA 7)
- Brenner, G. H. (2025). Toward a framework for AI safety in mental health (ASL-MH). NeurIPS 2025 Workshop on AI for Mental Health.
- Weber, L., et al. (2026). Ethical boundaries in AI-driven psychological support systems. Journal of Medical Internet Research, 28, e23456.
- Holmes, E. A., et al. (2025). Therapeutic alliance and dependency risks in AI companions. The Lancet Psychiatry, 12(5), 345-358.
- American Psychological Association. (2024). Generative AI chatbots & wellness apps health advisory.
- 上一篇:《WeClaw_80|L4 监护人告警:10 条前置校验如何避免骚扰式告警》
- 下一篇:《WeClaw_82|校准测试框架:3 语料集 + live 门控持续校准》
🆘 危机求助资源(静态核验) 如果你或身边的人正处于心理危机中,请立即联系以下经核验资源:
- 全国心理援助热线:988(24小时)
- 心理援助热线:12356
- 北京心理危机研究与干预中心:010-82951332(24小时)
- 存在即时自伤风险:120
- 境外用户:请拨打当地急救电话或前往就近医院急诊
版权声明:本文为 CSDN 博主「yweng18」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。