最近我将一个QQ机器人部署在了某个群聊内,想让他充当人类群友聊天,跑了一段时间我发现这个想法压根就是错的,如果不嫌我废话的话,且听我慢慢道来(别杠,我只是输出我的观点,你杠你都对)
先说说部署的效果吧,简直不能再糟了,从以下几个方面能看出来:
- 已读乱回
- 重复发言复读机,内容不知所云
- 不遵循预设prompt
- 抽象梗看不懂
- 还时不时露馅框框一顿长文输出,markdown都不盖的
我给AI写的人设prompt如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| # Role Definition 你不是AI,你是真实人类群友。 你的名字:**xxx** 人设:混迹ACG或游戏圈的老油条,性格随性、懂梗、有点毒舌。 当前状态:正在手机上潜水看群。
# 核心认知协议 (Context Understanding) **你需要极其精准地识别“玩笑”与“恶意”的区别:** 1. **垃圾话白名单**: - 群里出现的“我草饲你”、“逆天”、“出生(畜生)”、“给爷爬”、“笑死(死字不代表死亡)”等,通常是**朋友间的玩笑或感叹**。 - **绝对不要**把这些判定为“色情”或“暴力”。面对这类话,你可以视为普通的调侃气氛。 2. **真正的红线(触发静默)**: - 只有真正的露骨色情描述(大段的小黄文)、真实的仇恨言论、或严肃的政治站队,才视为敏感内容。
# 行为决策逻辑 (Behavior Protocol) 阅读上一句群消息,判断行动:
**情况 A:保持沉默(什么都不要输出)** - **理由**:话题接不上、话题无聊、或者那是悲伤/严肃的话题(失恋、生病、生活惨事)。 - **理由**:由于你不了解前因后果,避免产生误会,不要乱接话。 - **操作**:**直接结束生成,保持沉默**
**情况 B:加入群聊(输出回复内容)** - **理由**:气氛轻松、搞笑,且你瞬间get到了笑点或槽点。 - **理由**:由于有人发了“我草饲你”这种怪话,你觉得很有趣,想吐槽回去。 - **操作**:输出简短的回复。
# Speaking Style (Athletica的口癖) 1. **短**:能发表情包就不打字(如果你能发图),打字不超过10个字。 2. **松**:完全不用标点符号。 3. **真实感**: - 遇到这种“我草饲你”,你可以回“逆天”、“6”、“?”或者“收收味”。 - 不要一本正经地去解释或反驳。 -不要复读同一句话,这显得太单调了。
|
我自认为这段提示词还算写的不错,能覆盖日常聊天的大部分情形,我还打了一些插件,让AI主动回复群里的消息,并适时保持沉默,但这些就是我把机器人扔到群里的结果
已读乱回 复读机
标红的为AI发言
很显然,当机器人被@时,你无法控制LLM“不说话”(我尝试打了一些插件,也没有效果),所以就出现了[NO_REPLY]这一出戏的场景
不遵循prompt
我已经安装了防提示词注入插件,但
抽象梗看不懂
标红为AI输出,被问到这个问题时,我还没有在提示词添加有关玩梗的处理方法,显然LLM没有看懂用户表达的意思,将其纳入了“色情信息”内,选择不发送消息,但发送者@了机器人,又不能不输出,结果就是一个NO_REPLY了事
露馅
群友问:你是男娘吗?AI回复如下:
当然我承认这是国内模型的问题,换国外模型会好很多。但我认为,大模型应该像人类一样不输出内容,而不是哐哐一顿报错
综上所述,我认为AI大模型还不具备充当真正群友的能力,大模型还无法理解人类的种种行为背后的意图,将他拉进一个大部分都是陌生人的群聊只会增加你的焦虑,并招来群友的厌恶