最近在 X、GitHub Trending 和 Hacker News 上频繁刷到一类 prompt:一上来就写"I have ADHD",或者在 Agents.md 里规定"输出必须符合 ASD-STE100 简化技术英语规范"。乍一看好像挺专业、挺"工程化",但仔细想想——这事儿本身就很反直觉。

文章的核心观点很直接:给 LLM 加人格设定、情绪标签或强制风格约束,不是在让它"更好用",而是在限制它的能力上限。 这些技巧流行起来,是因为它们在个人尝鲜场景里确实有效:模型变得更简短、更口语化、更"像人"。但一旦进入生产环境,问题就开始暴露。

为什么说它"蠢"?可以从几个层面来看:

  • 它在掩盖问题,而不是解决问题。 "我注意力不集中,请给我短一点的回复"——这句 prompt 真正想表达的是"输出太长、信息密度低"。但 LLM 不会因为扮演一个 ADHD 患者就真的变聪明,它只是变得更短、更碎片化,同时丢掉了逻辑连贯性。
  • 角色扮演会污染上下文。 给模型一个拟人身份,它就会在后续对话中持续"演"这个角色,包括你不想让它演的部分。比如你让它扮演一个急性子的开发者,它可能连严谨的错误处理都开始敷衍。
  • 风格规范 ≠ 能力提升。 ASD-STE100 那种简化英语确实有应用场景——航空维修手册那种对歧义零容忍的环境。但普通软件项目里,你真正需要的是模型理解你的架构决策,而不是把"initialize"替换成"start"。
  • 真正的瓶颈不在"语气"。 当一个 LLM 输出让你不满意,通常是上下文没给够、任务拆得不够细、或者模型本身就不擅长这个领域。给 prompt 加情绪标签,相当于在错误的层面做优化。

那什么才是有用的?

文章给出的替代思路其实更朴素:明确目标、给足上下文、用结构化指令替代角色扮演。比如不说"请像一个资深工程师那样回答",而是直接写"先列出可能的设计方案,每个方案给出权衡,最后给出推荐"。这种写法既不依赖模型"扮演"谁,也更容易被复现和调试。

一句点评

拟人化 prompt 的流行,本质上反映了大家对 LLM 能力边界的焦虑——既然没法完全掌控它,那就先套个"人设"再说。但工程化的方向恰好相反:越是严肃的场合,越应该把模型当模型用,而不是当人用。 少一点人设,多一点结构,才是真正能 scale 的做法。


来源:Hacker News