最近在测试各种 Prompt 写法时,我发现一个很有意思的现象。
很多人刚开始用 AI 时都会有一个直觉:
Prompt 写得越详细越好。
于是提示词就慢慢变成这样:
你是一名专业的科技媒体编辑,拥有多年报道经验,熟悉科技行业发展趋势,对人工智能领域有深入了解……
写着写着,前面铺垫了一大段背景。
而真正的任务可能只有一句话。
一开始我也觉得这样能帮助模型理解得更准确,但测试多了之后发现一个反直觉的结果:
Prompt 越长,AI 有时候反而越容易跑偏。
一个简单测试
我做了一个很简单的小实验。
任务:
写一条科技新闻标题。
Prompt A(简洁版本)
任务:写科技新闻标题
内容:OpenAI发布新模型
要求:30字以内
模型输出:
OpenAI发布新模型,AI能力再次升级
结果基本符合预期。
Prompt B(长Prompt版本)
你是一名资深科技媒体编辑,
熟悉科技行业发展趋势,
经常报道人工智能领域新闻。
任务:
写一条科技新闻标题
内容:
OpenAI发布新模型
模型输出:
人工智能行业再迎突破,OpenAI推出全新AI模型
表面看起来没问题,但标题明显变得更泛。
模型没有那么聚焦在“新闻标题任务”本身。
为什么会这样
很多人会把AI理解成在“阅读Prompt”。
但更准确的说法是:
模型在为每个词分配注意力。
Prompt中的每一段信息都会参与计算。
当Prompt很短时,模型的注意力主要集中在:
任务
输入
输出要求
但当Prompt变长时:
身份设定
背景介绍
冗长解释
都会开始竞争注意力。
结果就是:
真正重要的信息反而被稀释。
Prompt其实有“信息密度”
后来我慢慢用一个更简单的方式理解Prompt:
信息密度。
一个Prompt通常包含两种信息:
信号:
任务
输入
示例
规则
噪声:
冗长背景
重复解释
无关说明
优秀的Prompt通常有一个特点:
信号密度非常高。
一个简单总结
做了一段时间测试之后,我慢慢形成一个习惯:
写Prompt时先问自己一个问题:
这句话真的有必要吗?
如果没有,就删掉。
很多时候,更短的Prompt反而更稳定。
但继续测试时,我又发现一件更有意思的事情。
有些Prompt高手不仅会精简内容,还会把提示词写成一种 结构化形式。
比如把信息拆成:
任务
规则
输入
示例
这样模型更容易理解。
下一篇记录一个简单实验:
结构化Prompt到底有没有用。