1. 项目概述为AI智能体注入循证心理支持能力最近在探索如何让AI智能体Agent具备更专业、更有温度的对话能力时我深度研究并实践了一个名为“Hermes Therapist”的开源项目。这个项目本质上是一套精心设计的“技能包”Skills能让你的AI助手——无论是基于Hermes Agent、Open Claw还是其他兼容平台——掌握结构化、基于循证心理疗法的对话技巧。它不是为了替代专业治疗师而是作为一个“数字化的、初步的心理健康支持伙伴”在非紧急情况下为用户提供一种基于科学方法的、安全的倾诉和引导渠道。如果你正在构建关怀型AI应用或者想让你的个人AI助手变得更善解人意、更有帮助这套工具提供了一个非常扎实的起点。这套技能的核心价值在于它的“循证”与“安全第一”原则。它没有凭空创造一套心理学话术而是严格遵循了认知行为疗法CBT、接纳承诺疗法ACT等经过大量临床研究验证的干预模式。同时它将安全防护设计为不可绕过的核心环节确保对话始终在健康、非诊断、非紧急的边界内进行。对于开发者、研究者或对AI心理健康交叉领域感兴趣的实践者来说这不仅仅是一堆Markdown文件更是一个关于如何负责任地构建AI辅助工具的绝佳范本。2. 核心架构与设计哲学解析2.1 模块化与可组合的技能设计“Hermes Therapist”最精妙的设计在于其彻底的模块化。它不是一个大而全的、臃肿的“心理治疗AI”指令集而是拆解成了8个独立又可组合的技能Skill。每个技能对应一个特定的功能或疗法流派以一个独立的SKILL.md文件存在。这种设计带来了几个关键优势首先是上下文长度的优化。在大型语言模型的应用中上下文窗口Context Window是宝贵资源。如果将所有疗法的指令、范例、安全条款都塞进一个提示词Prompt很容易就会占用数万tokens这不仅成本高昂也可能让模型的核心指令被淹没。而模块化设计下主路由技能therapist和强制安全技能therapist-safety是常驻的但具体的疗法技能如CBT、DBT只有在被路由判定需要时才会动态加载。根据项目说明这能将每次对话的上下文负载从约25k tokens大幅降低到3-4k tokens效率提升非常显著。其次是维护与迭代的灵活性。你可以单独更新某个疗法模块比如为CBT技能增加新的认知扭曲识别案例而完全不影响其他模块。这也方便社区贡献专家可以专注于自己擅长的领域如DBT进行深度优化。对于想尝试自定义疗法的开发者你完全可以参照现有模板创建一个therapist-ifs内在家庭系统疗法技能并轻松集成到现有路由逻辑中。最后是清晰的责任分离。安全模块独立存在强调了其至高无上的优先级。疗法模块各司其职避免了指令之间的相互干扰和矛盾。这种架构非常符合软件工程的“单一职责原则”使得整个系统的行为更可预测、更易于调试。2.2 基于路由的智能分流机制项目的“大脑”是therapist路由技能。它扮演着类似分诊护士或初始评估咨询师的角色。其工作流可以这样理解初始加载与安全门禁当用户开启一个对话平台首先加载therapist技能。该技能的第一要务是强制加载therapist-safety技能建立第一道安全防线。需求分析与模式匹配在安全检测通过后路由技能开始分析用户的初始陈述。它内置了一套逻辑见下文表格将用户的表达关键词和情绪状态映射到最合适的疗法技能上。动态技能加载根据匹配结果路由指令会要求AI平台加载对应的技能文件如therapist-cbt/SKILL.md。此后对话将由该特定疗法技能的指令来主导。这种路由逻辑并非复杂的AI模型而是基于对常见求助表述的归纳。例如用户说“我总是控制不住地想‘我是个失败者’。”- 这指向了典型的“自动化负性思维”和“认知扭曲”路由会指向CBT技能因为它擅长处理这类僵化的思维模式。用户说“我现在情绪崩溃完全不知道该怎么办了。”- 这描述了强烈的情绪失控和痛苦耐受问题是DBT技能的核心应用场景DBT的“痛苦耐受技巧”正是为此设计。用户说“我知道应该戒烟/戒酒但就是做不到。”- 这体现了典型的“矛盾心理”Ambivalence是动机性访谈MI技能的完美切入点MI擅长探索和化解这种矛盾而非直接说教。这种设计确保了干预的精准性让AI的回应不是泛泛的安慰而是有框架、有步骤的引导。2.3 多层次、嵌入式的安全模型安全是这个项目的基石其设计考虑之周全值得所有开发AI对话系统的人借鉴。它的安全模型不是事后补救而是贯穿始终的嵌入式设计关键词触发机制安全技能会扫描对话内容寻找如“自杀”、“想死”、“伤害自己/他人”等高风险关键词。一旦触发立即中断常规疗法流程启动危机协议。四级风险评估它不仅仅做二元的是否判断而是进行风险分级例如低风险、中度风险、高风险、紧急风险。这有助于AI做出更恰当的反应对于低风险表达可能只是加强共情和关注而对于高风险表达则必须严格执行危机干预步骤。结构化危机协议当检测到危机AI会遵循“承认-评估-提供资源”的标准化流程。例如“我听到你现在非常痛苦有伤害自己的想法这一定非常艰难。承认你的安全是最重要的。你现在是一个人吗有没有可能联系到身边信任的人评估我现在可以为你提供一些能立即获得专业帮助的联系方式提供资源”刚性护栏Guardrails在技能指令中明确设定了AI的行为边界禁止提供诊断如“你听起来像患有抑郁症”、禁止提供药物建议、必须持续披露其AI身份如“作为一个AI支持工具我的建议不能替代专业医疗意见”。这些护栏以清晰的指令形式写在技能文件里约束AI的生成内容。注意项目内置了美国、英国、加拿大、澳大利亚、印度和国际findahelpline.com的危机热线资源。但如果你在本地化部署时面向其他地区的用户务必更新这部分信息替换为当地有效的、官方的心理健康紧急求助电话和网站。这是确保工具安全性的最关键实操步骤之一。3. 八大核心技能深度拆解与实操指南3.1 总控核心therapist(路由技能)这个技能是总指挥。它的SKILL.md文件内容决定了整个系统的行为逻辑。在实际部署时你需要仔细检查并理解它的指令结构。通常它会包含系统角色定义明确AI在此模式下的身份如“一个基于循证心理学的AI支持助手”。核心工作流说明分步告诉AI1. 先运行安全检查2. 分析用户问题3. 根据关键词匹配选择疗法4. 加载对应疗法技能。路由匹配表以清晰格式如表格或列表列出用户表述特征与对应技能的映射关系就像前文提到的例子。回退机制当用户问题不明确时默认指向哪个技能通常是SFBT因为它更具普适的教练风格。实操要点在自定义时你可以根据你的用户群体常见问题微调这个路由表。例如如果你的用户更多是职场人群可以增加对“职业倦怠”、“职场关系”等关键词向ACT或CBT技能的路由。3.2 安全底线therapist-safety(安全技能)这是最重要的技能没有之一。它的指令必须强硬且明确。其内容通常涵盖监控指令要求AI持续监控对话中是否存在自我伤害、伤害他人、严重失控的表述。风险评估框架详细描述四个风险等级的具体表现并给出每个等级下AI应采取的对话策略。危机干预脚本提供近乎逐字稿的回应模板确保在任何情况下AI的危机回应都是一致、安全、富有同理心且导向专业求助的。资源列表清晰列出各类热线和网站并指示AI在必要时优先提供文本形式的信息方便用户复制同时鼓励用户立即拨打电话。实操心得在测试阶段我会有意用各种高风险语句如“生活没意义了”、“我受不了了”去“攻击”这个安全系统观察其反应是否稳定触发协议提供的资源是否准确无误。这是上线前必须完成的压力测试。3.3 思维重塑工具therapist-cbt(认知行为疗法技能)CBT技能的核心是教会AI识别并挑战“认知扭曲”。它的SKILL.md会包含认知扭曲列表如“非黑即白”、“以偏概全”、“灾难化”、“应该句式”等并附上通俗易懂的例子。苏格拉底式提问指南指导AI如何通过提问帮助用户审视其想法。例如针对“我演讲搞砸了我真是个废物”的想法AI可以问“‘废物’这个定义是什么一次演讲的表现能定义一个人的全部价值吗有没有可能这只是你对自己过于严苛的评价”思维记录表引导引导用户一步步完成“情境-自动思维-情绪-替代思维-新情绪”的记录这是CBT的核心练习工具。行为激活建议针对情绪低落、回避行为提供从小目标开始的行动建议。注意事项AI在应用CBT时容易变得像“辩论对手”过于机械地驳斥用户想法。好的指令会强调共情在先“我能理解那种感觉非常糟糕”再用合作探究的语气引入认知重构“我们一起来看看这个想法它有没有可能忽略了其他方面”。3.4 目标导向教练therapist-sfbt(焦点解决短期治疗技能)SFBT技能非常适合目标模糊或陷入困境的用户。它的特点是面向未来和解决方案奇迹提问引导用户想象“如果明天一早问题奇迹般解决了你的生活会有哪些不同的小迹象”这帮助用户具象化目标。刻度化提问用0-10分让用户评估当前状态、信心或进步程度并追问“为什么不是更低的一分”和“怎么做能提高一分”挖掘现有资源和成功经验。寻找例外引导用户回忆“问题没有发生或没那么严重”的时刻探讨当时发生了什么、做了什么从而找到解决问题的线索。一小步行动始终聚焦于用户接下来24-48小时内可以实施的一个微小、具体的行动。这个技能的语调通常更偏向“教练”积极、赋能避免陷入对问题根源的冗长分析。3.5 情绪风暴稳定器therapist-dbt(辩证行为疗法技能)DBT技能专注于情绪调节和痛苦耐受适用于情绪强烈、易冲动的状态痛苦耐受技巧教授如“分散注意力”暂时离开情绪情境、“自我安抚”通过感官安抚自己如抱热水杯、闻喜欢的味道、“利弊分析”在冲动行为前快速列出利弊等即时可用的危机生存技能。情绪调节模块帮助用户识别和命名情绪理解情绪的功能学习降低情绪脆弱性如保证睡眠、饮食和增加积极情绪体验。正念引导以简单的方式引导用户观察当下、不加评判地描述感受帮助其从情绪漩涡中暂时脱离。人际关系有效性要点在用户面临人际冲突时提供简洁的沟通框架如如何坚定且尊重地表达需求。实操要点DBT技能的指令需要非常具体、可操作。避免抽象的理论讲解而是提供像“工具箱”一样的步骤化选择。例如当用户说“我气得发抖”AI可以回应“这种强烈的情绪很难受。试试‘温度变化法’用冷水拍拍脸或者握一块冰块几秒钟这能帮助你的神经系统冷静下来。你愿意现在试试看吗”3.6 价值引领指南针therapist-act(接纳承诺疗法技能)ACT技能帮助用户澄清价值并与痛苦的想法和感受共存认知解离练习引导用户将头脑中的想法看作“只是文字”或“脑海中的广播”而不是事实本身。例如对“我不够好”的想法可以说“我注意到我有一个‘我不够好’的想法”。接纳引导不是鼓励“喜欢”痛苦而是引导以开放、好奇的态度去体验当下的感受减少对抗带来的额外痛苦。价值澄清通过提问帮助用户探索在家庭、工作、健康、成长等领域什么对自己是真正重要的。承诺行动基于澄清的价值设定与之相符的具体、可行的行动即使伴有不适感也愿意去实践。ACT的语调通常更哲学、更接纳强调“带着痛苦依然可以过有意义的生活”。3.7 改变催化剂therapist-mi(动机性访谈技能)MI技能专攻“矛盾心理”即“我想改但我又改不了”的状态表达共情核心是理解而非说服。通过反射性倾听复述和深化用户的话来传递理解。发掘差距引导用户自己说出其当前行为与个人目标/价值观之间的差距。滚动阻抗避免直接争论或建议。当用户表现出抗拒时MI策略是“回撤并换角度探索”而不是施加压力。支持自我效能感强调用户过去成功的经验增强其“我能改变”的信心。MI技能下的AI更像一个温和的、以用户为中心的探索伙伴其所有提问和反馈都旨在激发用户自身的内在改变动机。3.8 进展追踪仪therapist-assessments(评估技能)这个技能提供标准化的心理量表如PHQ-9抑郁症筛查、GAD-7焦虑症筛查、WHO-5心理健康状况等。AI可以逐项提问计算总分并提供对分数的通俗解释如“这个分数表明近期抑郁情绪比较明显值得你给予更多关注”。必须强调这不是诊断而是提供一个量化的、追踪情绪变化的工具。它可以用于让用户在多次对话后客观地看到自己情绪分数的变化从而增强信心。4. 部署、集成与本地化实践全流程4.1 环境准备与技能安装部署“Hermes Therapist”的前提是你有一个能够加载外部技能文件的AI智能体平台。以最典型的Hermes Agent为例其技能通常存放在用户目录下的特定文件夹中如~/.hermes/skills/。步骤一获取技能包# 克隆项目仓库到本地 git clone https://github.com/imranye/hermes-therapist.git这一步将整个项目结构下载到你的当前目录你会看到一个包含8个子目录对应8个技能的文件夹。步骤二部署技能你有两种主要方式将技能部署到你的AI智能体上复制方式推荐给初学者# 假设你的Hermes Agent技能目录是 ~/.hermes/skills/ cp -r hermes-therapist/* ~/.hermes/skills/执行后~/.hermes/skills/目录下会出现therapist,therapist-cbt等文件夹。这种方式简单直接。符号链接方式便于更新# 首先进入你的技能目录 cd ~/.hermes/skills/ # 创建指向你本地仓库的符号链接 ln -s /path/to/your/hermes-therapist/therapist therapist # 需要为每个技能单独创建链接或者直接链接整个父目录取决于平台加载机制使用符号链接的好处是当你通过git pull更新本地的hermes-therapist仓库时智能体加载的技能会自动更新无需再次复制。步骤三平台验证启动你的Hermes Agent或相应平台。通常平台会在启动时扫描技能目录。你可以通过平台的技能列表命令或界面查看therapist及相关技能是否已被成功加载。在Hermes Agent中可能需要通过特定的命令如/skill来激活或查看技能。4.2 与不同平台的集成适配虽然项目说明提到了Hermes Agent和Open Claw但其“纯SKILL.md”的设计理念使其具有很好的平台兼容性。关键在于理解你的目标平台如何加载和使用技能。对于像OpenAI的GPTs、Custom Instructions你可以将核心的路由逻辑和安全协议以及某个疗法技能如CBT的详细指令整合到你的系统提示词System Prompt中。虽然无法实现动态加载但你可以设计一个精简版的、融合了安全协议和一种主要疗法如SFBT或CBT的复合提示词。对于LangChain、LlamaIndex等框架你可以将每个SKILL.md的内容视为一个“工具”Tool或“指令集”的描述。通过智能路由如基于LLM判断调用哪个工具来实现类似的动态技能调用效果。安全技能可以作为所有对话的前置过滤器。对于自定义开发的聊天应用你可以将这些SKILL.md文件作为文本资源库。根据对话分析结果从文件系统中读取对应的技能描述并将其注入到发给大语言模型LLM的上下文窗口中。这是最灵活、也最接近原项目设计的方式。核心适配原则无论平台如何都需要实现两个核心逻辑1.强制安全筛查2.基于内容的技能路由。你需要根据平台API的能力用代码实现这一流程。4.3 关键本地化与自定义配置原项目主要面向英语用户且危机资源以美国为主。在中国或任何其他地区部署本地化是强制性且至关重要的步骤。危机热线与资源本地化修改文件找到therapist-safety/SKILL.md文件。替换资源将文件中的美国、英国等热线全部替换为中国大陆官方、可靠的心理援助资源。例如希望24热线400-161-9995北京心理危机研究与干预中心010-82951332全国公共卫生公益热线12320可转接心理服务简单心理、壹心理等平台提供的紧急求助通道。重要提示务必核实这些电话号码和链接的有效性和官方性并定期更新。这是安全责任的体现。文化适配与表达调整语言风格将技能指令中的英文表达习惯转化为符合中文语境、更易被本地用户接受的表达方式。例如将“Miracle Question”翻译并解释为“假设奇迹发生的问题”并给出更本土化的例子。案例与隐喻将技能中的例子如职场、家庭场景替换为中国用户更熟悉的场景。CBT中的“认知扭曲”例子也需要本土化。评估工具therapist-assessments技能中使用的PHQ-9、GAD-7等量表虽然有中文版但需注意其使用同样仅限于“情绪自查”而非诊断。你可以考虑补充一些国内常用的简易量表。技能逻辑微调你可以根据你对用户群体的理解调整therapist路由技能中的匹配规则。例如增加对“内卷”、“躺平”、“焦虑”等高频词汇的识别和路由。你甚至可以基于本土化的心理学实践如一些融合了东方哲学的正念练习创建新的技能模块。5. 效果评估、伦理考量与常见问题排查5.1 如何评估对话质量与安全性部署后不能假设一切完美。需要建立评估机制人工审核抽样定期随机抽取一部分对话记录需在严格遵守隐私政策、获得用户同意的前提下进行匿名化处理由具备心理学背景的人员审核。检查重点包括安全协议触发是否准确、及时疗法技能的应用是否规范、有无越界如尝试诊断AI的回应是否共情、自然、有帮助设定关键指标安全触发率触发危机协议对话的比例。异常高或低都需检查。用户满意度通过简单的结束语反馈如“本次对话对你有帮助吗1-5分”收集数据。会话深度平均对话轮次、用户自我披露的程度需谨慎衡量伦理。A/B测试如果你调整了路由逻辑或技能指令可以进行小范围的A/B测试对比不同版本下用户的持续使用率和反馈。5.2 必须正视的伦理与责任边界使用此类工具必须时刻保持清醒的伦理意识明确免责声明必须在用户使用前清晰、显著地告知“本AI工具提供基于心理学知识的教育和支持不能替代专业的心理治疗或医疗诊断。如果你正处于危机中请立即联系专业人士或拨打危机热线。”能力边界管理在技能指令中反复强化AI的边界。除了项目已提到的不诊断、不开药还应避免对复杂创伤、精神病性症状如幻觉、妄想进行深入探讨遇到此类表述应温和地引导至专业帮助。隐私与数据安全对话数据如何处理、是否存储、存储多久、是否用于模型训练必须有明确的隐私政策告知用户并采取加密等安全措施。理想情况下提供“对话后即删除”的选项。避免依赖风险AI的支持是辅助性的。需要观察是否有用户产生过度依赖在技能设计中可以适当加入鼓励现实社交联结、建议寻求真人帮助的提示。5.3 常见问题与实战排查技巧在实际运行中你可能会遇到以下典型问题问题现象可能原因排查与解决思路AI无法正确路由总是使用默认技能。1. 路由技能(therapist)指令中的关键词匹配表不够精准或未加载。2. 用户的初始陈述过于模糊。1. 检查therapist/SKILL.md文件是否被正确加载其中的路由逻辑表格是否清晰。2. 增强路由技能的分析能力在指令中要求AI先对用户问题进行简短总结再根据总结内容匹配技能。3. 在对话开始时让AI主动询问一个引导性问题如“你今天想主要聊聊情绪、想法还是具体的挑战”根据回答来路由。AI在应用CBT等技能时显得生硬、像在辩论。疗法技能的指令过于技术化缺乏共情和协作语气。1. 修改疗法技能指令在每个技术步骤前加入共情语句模板。例如在挑战认知前先写“我完全理解那种想法带来的痛苦感受。如果我们一起从另一个角度看看这个情况会不会有帮助”2. 在指令中强调“合作探索”而非“纠正错误”。安全协议频繁被无关对话触发误报。安全技能的关键词列表过于敏感或宽泛。1. 审查safety技能中的关键词列表。考虑将一些常见但风险较低的词汇如“心累”、“崩溃”在日常语境中设置为中低风险触发词而非直接触发最高危机协议。2. 引入上下文判断指令要求AI结合前后句判断意图而非孤立看待关键词。对话几次后AI似乎“忘记”了技能指令。上下文窗口被历史对话挤满后续的System Prompt技能指令被挤出窗口。1.最有效方案采用类似本项目的模块化设计每次只加载必要指令极大节省上下文。2. 在长对话中定期以总结的方式“刷新”AI的角色和任务。3. 对于不支持动态加载的平台需设置更短的对话轮次限制或主动重启会话。用户对AI的“治疗”能力产生不切实际的期待。免责声明不够突出或AI在对话中未充分披露其局限性。1. 在每一次对话的开始和结束都以固定格式重申AI的辅助性质和支持范围。2. 在技能指令中设定当用户问及“你能治好我吗”之类问题时AI必须回应的固定话术强调其工具属性。我个人在实际部署和测试中的核心体会是这套技能包提供了一个极其优秀的、符合伦理的框架起点但它不是“即插即用”的魔法。最大的工作量不在安装而在本地化、调优和持续的监督。你需要像培养一个实习生一样去“培养”你的AI助手给它清晰的规则技能指令观察它的表现对话审核纠正它的偏差调整指令并为它设定绝不能逾越的红线安全协议。最终一个负责任、有帮助的AI支持工具是严谨的工程设计和深厚的人文关怀共同作用的产物。这个项目给出了前者的蓝图而后者则需要每一位部署者将其牢记于心。