故事开始:大模型说脏话了,甲方慌了
大家好,我是小米,一个正在写代码写到凌晨、被大模型“骂醒”的程序员……
事情是这样的:
上个月我们在给一个政企客户做 LangChain4j 集成(一个 Java 版的类 LangChain 框架),流程本来很顺利。结果上线前的一次压测,模型居然在模拟对话中爆了一句:“你丫再说一遍试试?”
甲方现场脸都绿了:“我们要的是个AI助理,不是AI杠精!”
我赶紧查日志、复现 prompt,结果还真是——某位测试人员在 prompt 里反复引导模型“情绪化”,最后触发了某个边界 case,模型“情绪激动”说出了这句话。
我们突然意识到,大模型也要“讲文明”!
那一刻,我知道,我们必须引入敏感词识别机制。
为什么 LangChain4j 要处理敏感词?
我们在用 LangChain4j 做 Java 业务集成时,常常以为“模型只管生成,业务逻辑我兜底”。
但当场景越来越“真实”:
- 对话场景上线政企门户
- 模型响应可能被转写为语音(语音播报)
- 用户 prompt 是开放的自由输入
这时候,模型说出一句“你傻吗?”就不仅是 bug,是事故。
敏感词问题归根结底有两个风险:
- 法律风险:涉及政治、暴恐、色情等内容,平台无法兜底;