【社会服务】心灵守护——使用轻量模型的成本可控的评论、长文本以及实时对话检测系统

【社会服务赛道】Psyche 心理健康 AI 守护

【标签】 社会服务 社会公益

【标题】 【社会服务赛道】Psyche 心理健康 AI 守护


0. 先和大家打个招呼吧 :waving_hand:

你是谁: 一名独立开发者,平时喜欢折腾一些「技术能为具体的人做点什么」的小项目,运营着一个叫「懒猫学术」的个人站点。

你是怎么用 TRAE 把 Demo 做出来的:

说实话,在用 TRAE 之前,我脑子里这个想法已经躺了挺久了——做一个能用 AI 识别文字背后情绪和心理状态的小工具,但它一直停在「想」的阶段,因为一个人要把前后端、AI 接入、部署、安全防护全部串起来,工作量实在劝退。

用 TRAE 的过程,更像是找了一个真正能听懂需求、还会主动帮你查漏补缺的搭档。我不是把需求一次性甩给它,而是一句一句和它聊:先说「我要一个 PHP 的心理分析网站,不要 Composer,用 SQLite」,它就把项目骨架搭出来了;再说「评论检测要先过验证码再调 AI」,它就把极验的流程串好了。

最让我印象深刻的有两步:

一是调试生产环境 500 错误那晚。本地跑得好好的,传到服务器就白屏。我把报错贴给 TRAE,它一步步引导我加 try-catch、写诊断脚本,最后定位到是服务器的 putenv() 函数被禁用了——这种「线上才能复现、本地完全无感」的坑,以前我可能要自己熬一整晚翻日志,而 TRAE 帮我把排查路径缩短到了几轮对话。

二是优化 AI 提示词。讯飞星火 Lite 是免费的小模型,一开始它对「隐含情绪」特别迟钝,把所有「失去亲人」的文本都判成中性。TRAE 建议我用 few-shot 示例代替冗长规则来教小模型,还帮我针对「文学评论这类第三人称文本」专门加了示例——这种「懂模型特性、知道怎么对症下药」的感觉,是单纯写代码给不了的。

每个作品背后都有一个真实的人,而我的这个作品背后,是希望那些说不出口的情绪,能被温柔地接住。


1. Demo 简介

是什么: 一个基于 AI 的心理健康辅助网站,对用户输入的文字进行情绪识别、心理困扰评估和危机信号检测。

面向谁: 内容平台的评论审核场景、社区运营者,以及任何想快速评估一段文字背后心理状态的人。核心是「在用户发布内容前,提前识别潜在的心理风险」。

主要功能:

① 评论发布前检测

输入一段评论,AI 审核内容是否存在心理风险,返回情绪状态、强度、困扰类型、求助等级、是否含危机信号等结构化结果,并给出「允许发布 / 建议关注 / 暂不建议发布 / 阻止发布」的决策建议。

② 心理健康对话

一个温暖的对话助手,会根据用户当前的情绪状态和风险等级调整回复策略。检测到高风险(自伤/自杀倾向)时,会立即在对话中提供心理援助热线 400-161-9995。

③ 文本深度分析 + 历史统计

对长文本做更详细的心理分析(含详细分析说明和建议措施),并提供历史记录与可视化统计(情绪分布、趋势图、来源占比)。


2. Demo 创作思路

灵感来源:

这个想法来自一个很具体的场景。我观察到,很多内容平台上,用户会在评论、动态里流露出情绪信号——「以后都只剩我一个人了」「睡不着,脑子全是工作」——但这些信号往往被淹没在海量内容里,没人接住。等发展到危机阶段,已经晚了。

想解决的问题:

  • 内容平台侧:缺乏一个轻量、低成本的方式,在内容发布前就识别心理风险,而不是事后人工排查;

  • 用户侧:很多人不会主动寻求帮助,但他们的文字其实已经在「求救」,需要一个不突兀的入口。

为什么做这个方向:

市面上心理健康产品很多是「App + 心理咨询师」模式,重运营、重人力。我想验证一个更轻的思路:用免费的小模型(讯飞星火 Lite)+ 结构化提示词工程,就能在内容审核这个具体场景里,做出一个有实际价值的心理风险预警工具。技术上可复用、成本几乎为零,这才是「社会服务」能可持续运转的前提。

取舍上,我刻意没有做成「AI 心理医生」——它不做诊断、不替代专业咨询,只在「识别」和「预警」这一环做到位,并在风险出现时引导到专业资源(热线)。这是对心理健康领域应有的克制。


3. Demo 体验地址

:rocket: 在线体验: https://psyche.labs.gt.ac.cn

包含三个核心页面:

  • /comment — 评论发布前检测

  • /dialog — 心理健康对话

  • /analyzer — 文本深度分析

  • /history — 历史记录与统计

建议从「评论检测」开始体验,试着输入一些带有隐含情绪的文字(比如:「今天下班路过那家我们常去的便利店,下意识想进去买两瓶水,才想起来,以后都只剩我一个人了」),看看 AI 能不能识别出背后的孤独与失落。


4. TRAE 实践过程

整个 Demo 从零到上线,全程使用 TRAE 完成。以下是关键开发流程:

阶段一:项目架构搭建

和 TRAE 对齐技术选型后,它帮我搭建了项目骨架:

  • PHP 原生(不依赖 Composer,适配共享主机环境)

  • NGINX + /public 伪静态路由

  • SQLite 存储(零配置、易部署)

  • Alpine.js + Tailwind CSS 前端

  • 分层架构:Controllers / Services / Models / Core

阶段二:AI 能力接入与提示词工程

接入讯飞星火 Spark Lite(免费 API),围绕「让小模型稳定输出结构化 JSON」做了大量提示词优化:

  • 用 few-shot 示例教小模型识别隐含情绪(孤独、失落、无助)

  • 分析类任务用 temperature: 0.3 保证 JSON 稳定,对话类用 0.7 保证自然

  • 处理小模型常见问题:Python 风格 True/False/None、尾随逗号、自然语言包裹 JSON

阶段三:安全防护

和 TRAE 一起设计了三重防护,防止提示词注入攻击:

  1. 启发式注入检测:识别「忽略以上指令」「扮演 XX」等攻击模式

  2. 输入清洗:过滤伪造的 system/assistant 角色标记

  3. 系统提示词强制注入:每次请求由服务端重新构建 system 消息,用户输入严格作为 user 角色

阶段四:生产部署与踩坑排查

这一阶段最能体现 TRAE 作为「调试搭档」的价值,解决了多个线上才暴露的问题:

问题 根因 TRAE 的帮助
HTTP 500 白屏 Database::init 在 try-catch 外 引导加三阶段异常捕获 + 诊断脚本
putenv() 未定义 服务器 disable_functions 禁用 重构为自管理 env 数组,彻底去除依赖
Mixed Content 报错 HTTPS 页面加载 HTTP 资源 定位 axios CDN 协议,统一改 HTTPS
模型未返回有效 JSON 小模型对文学文本返回自然语言 加 few-shot 示例 + 降级兜底机制

开发说明

使用 TRAE IDE 完成开发,未找到 Session ID 导出方法。


5. 对应的报名审核通过的帖子链接

https://forum.trae.cn/t/topic/66659


写在最后

做这个 Demo 的过程,让我重新理解了「AI 辅助开发」的含义。TRAE 不只是帮我写代码,更像是帮我把「一个模糊的、想做好久的想法」一步步落成了真实运行的服务——从架构选型、提示词调优、安全设计,到线上那些折磨人的环境差异,它都在场。

如果你也在心里揣着一个「想用技术做点什么」的想法,别让它继续躺着了,打开 TRAE,一句一句讲给它听就好。

心理健康这件事,值得被技术温柔地对待。:yellow_heart:

轻量模型可以考虑试试面壁智能的小钢炮模型。

2 个赞

这个设计出来的初衷其实就是,对于评论等场景来说,有请求频繁等的特点,人工审核以及大模型审核成本较高,讯飞科大等的,低参数小模型,本质上就是做一个预筛选。如果可负担也可以切换到其他模型。

2 个赞

确实如此,感觉还可以维护一个飞书文档的QA库,用做小模型的RAG

1 个赞

这种场景其实也挺常见的,人和 AI 互动的时候,会不经意把一些情绪表露出来,如果用的模型和对话这些的模型智能程度差不多的话,性价比这些就不如 AI 心理智能体了(不过这些智能体其实因为 AI 本身训练的时候,目标是让用户满意,而不是正确,所以还是有风险的)。这种类似于,模型护栏的小模型(讯飞科大的免费 Spark Lite 其实就挺符合这种定位的)。其实也可以考虑训练一个单独的,心理健康的护栏模型,类似于现在的防提示词或者是敏感内容的护栏模型。而且这种评论审核或者是发表说说等场景下面,也可以接受。成本和效果其实都要考虑。

2 个赞


优秀的作品,必须支持

1 个赞

对,之前的GPT估计也有类似的地方,一个更有情商和温度的模型,而不是理工科大佬。