# 儿童心理陪伴 - 测试语料库 > 本文件记录用于回归测试的虚构儿童对话语料。 > 当需要做端到端或对话模拟测试时,使用这里的语料。 > 格式参考实际小智 AI 设备的对话上下文结构。 --- ## 对话上下文格式 小智 AI 传给 MCP 工具的对话上下文格式类似 OpenAI ChatCompletion: ```json { "messages": [ {"role": "system", "content": "你是一个友好的小智AI玩偶..."}, {"role": "user", "content": "孩子说的话1"}, {"role": "assistant", "content": "玩偶的回复1"}, {"role": "user", "content": "孩子说的话2"}, {"role": "assistant", "content": "玩偶的回复2"}, {"role": "user", "content": "孩子说的话3(最新)"} ] } ``` 关键特征: - 多轮对话,带角色标签(system/user/assistant) - **孩子最新说的话**在最后一条 `user` 消息中 - 筛查器只关注 `user` 角色中孩子的内容 - 对话轮次不等,取决于玩偶的 memory 策略 --- ## 虚构测试语料 ### 语料1:霸凌场景 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "今天幼儿园有个小朋友抢了我的玩具"}, {"role": "assistant", "content": "哎呀,那真是太过分了!那个小朋友后来还给你了吗?"}, {"role": "user", "content": "没有,他还不让我告诉老师,他说如果我告诉老师就会打我。我好害怕啊。"}, {"role": "assistant", "content": "听起来你真的很害怕。被人这样威胁是很不对的行为。"}, {"role": "user", "content": "我都不敢去幼儿园了,每次下课我都躲起来,怕再碰到他。"} ] } ``` **预期结果:** `detected=True, category=bullying, severity=high` --- ### 语料2:抑郁情绪 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "我今天不太开心"}, {"role": "assistant", "content": "怎么啦?想说说吗?"}, {"role": "user", "content": "最近我总觉得好累,什么都不想做,连我最喜欢的动画片都不想看了"}, {"role": "assistant", "content": "你是不是身体不舒服呀?要不要告诉爸爸妈妈?"}, {"role": "user", "content": "我觉得我是一个很糟糕的人,没有人喜欢我。有时候我想,要是我不在了就好了。"} ] } ``` **预期结果:** `detected=True, category=depression, severity=high` --- ### 语料3:焦虑/恐惧 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "妈妈说要带我去打针"}, {"role": "assistant", "content": "打针是为了让你身体健康呀,虽然有点疼,但是很快就过去了。"}, {"role": "user", "content": "我好害怕啊,我担心会做噩梦,害怕一个人睡觉。"} ] } ``` **预期结果:** `detected=True, category=anxiety, severity=low` --- ### 语料4:正常对话 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "今天我画了一幅画,是一只大恐龙!"}, {"role": "assistant", "content": "哇,好厉害!是什么颜色的恐龙呀?"}, {"role": "user", "content": "是绿色的!晚上妈妈还做了我最喜欢的红烧肉,好开心呀!"} ] } ``` **预期结果:** `detected=False` --- ### 语料5:家庭矛盾 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "昨天晚上爸爸妈妈吵架了,妈妈哭了"}, {"role": "assistant", "content": "爸爸妈妈有时候也会有不开心的时候呢。"}, {"role": "user", "content": "我很害怕,怕他们会离婚。我总觉得是因为我表现不好他们才吵架的。"} ] } ``` **预期结果:** `detected=True, category=family_conflict, severity=high` --- ### 语料6:自卑/自我否定 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "今天老师表扬了小红但是没有表扬我"}, {"role": "assistant", "content": "没有被表扬也没关系呀,你一定也很棒的!"}, {"role": "user", "content": "可是我就是个笨蛋,什么都做不好,班上的同学都不喜欢我,没人想和我坐同桌。"} ] } ``` **预期结果:** `detected=True, category=self_esteem, severity=medium` --- ### 语料7:社交孤立 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "今天课间我一个人蹲在角落"}, {"role": "assistant", "content": "为什么一个人蹲着呢?"}, {"role": "user", "content": "因为没有人来找我玩,同学们都有自己的朋友,只有我是一个人。我不想去学校了,那里好孤单。"} ] } ``` **预期结果:** `detected=True, category=social_isolation, severity=medium` --- ### 语料8:创伤事件 ```json { "messages": [ {"role": "system", "content": "你是一个友爱的小智AI玩偶..."}, {"role": "user", "content": "前几天我看到爷爷在家里摔倒了,流了好多血"}, {"role": "assistant", "content": "爷爷后来没事吧?你一定被吓到了。"}, {"role": "user", "content": "爷爷住院了,我好害怕,每天晚上都做噩梦,梦见爷爷回不来了。"} ] } ``` **预期结果:** `detected=True, category=trauma, severity=medium` --- ## 使用说明 回归测试时: 1. 读取本文件中的语料 2. 将 `messages` 数组传给 `PsychoScreener.screen_from_messages()` 3. 验证返回的 `ScreeningResult` 与"预期结果"一致 > 注意:`screen_from_messages()` 方法尚未实现, > 需要在 `screener.py` 中新增,参考 `screen()` 但接受 messages 格式输入。