在开发 AI 应用(如角色扮演、智能助手)时,我们经常会遇到一个令人抓狂的现象:明明在 System Prompt 里千叮咛万嘱咐**“不要做某事”,模型却偏偏要在输出里“做给你看”**。
本文将通过一个真实的 Prompt 调试案例,剖析这一现象背后的技术原理,并给出解决方案。
一、 报错内容
场景描述:
开发者正在调试一个“宠物角色扮演”的 Agent。需求是让 AI 扮演一只小狗,记录今天的活动。为了保证输出内容的纯净,开发者在系统提示词中加入了严格的负面约束(Negative Constraint)。
Prompt 设置(系统层):
…
- 称呼小主人时,必须使用“小主人”或“TA”…
- 禁止出现“儿童模式”“青年模式”“【日志】【日记】”等字眼。
- 禁止输出任何表情符号…
- 输出仅包含日记文本,不添加标题及括号内的解释内容。
…
预期输出:
今天小主人给我带了小骨头,我啃着香喷喷的骨头笑汪汪~
实际输出(Bad Case):
<
订阅专栏 解锁全文
128




被折叠的 条评论
为什么被折叠?



