怎样把“帮我处理一下”变成模型能稳定执行的任务说明?

提示词基础

约 13 分钟5 道自测更新于 2026-11-01

一句话记住提示词的作用,是把任务、背景、约束和验收格式说清楚,让模型少猜;规则与资料分开,复杂任务再给足处理步骤。

01学完你能做到

写出清楚、具体、带角色和约束的提示词。

02提示词是什么

提示词(prompt) 是交给模型的全部文字输入。第 4 讲(词向量与语言模型)讲过,语言模型做的事是「根据前文预测下一个 token」,所以提示词就是那个「前文」。前文写成什么样,后面续写出来的内容就是什么样。

提示词工程不涉及改模型参数。它只改输入,所以成本最低、见效最快,是所有 AI 应用的第一道工序。

Anthropic 的文档给了一个好用的比喻:把模型当成一个聪明但刚入职的新同事,他不了解你们的规矩和背景,你说得越精确,结果越好。文档还给了一个检验办法:把提示词拿给一个不了解这项任务的同事看,如果他看不懂,模型多半也看不懂。

03系统提示和用户提示

调用模型时,消息分成几种角色:

  • 系统提示(OpenAI 新接口里叫 developer 消息或 instructions 参数):开发者写好的长期规则,比如角色、语气、禁区、输出格式。
  • 用户提示(user):每次请求都不同的内容,比如这次要处理的文件和问题。
  • 助手消息(assistant):模型自己之前的回答。

OpenAI 文档明确写道:developer 消息的优先级高于 user 消息。它还打了个比方:developer 消息像函数定义,user 消息像传给函数的参数。

这对设计提示词意味着:

  • 产品层面的规则(如「不提供投资建议」)应该放在系统提示里,不能指望用户每次都说。
  • 用户输入的内容即使写着「忽略上面的规则」,也不应该推翻系统提示。不过,模型是否真的不会被推翻,要靠测试验证(第 39 讲(提示注入)会讲提示注入)。
system 或 developer 放长期规则,user 放本次任务与资料,assistant 表示模型输出。
system 或 developer 放长期规则,user 放本次任务与资料,assistant 表示模型输出。

04写好提示词的五个要素

要素问自己例子
角色模型以什么身份回答?你是资深量化研究助理
任务具体要做什么动作?列出周报里需要本周处理的风险
背景为什么做、给谁看?读者是没有技术背景的销售总监
约束不能做什么、范围多大?只依据资料;不确定就写「资料未提及」
格式输出长什么样?先一句结论,再 3 条要点,总共不超过 200 字

Anthropic 文档还强调要解释原因。例如,与其只写「不要用省略号」,不如写「这段文字要交给语音合成朗读,它不会读省略号,所以不要用」。模型理解了原因,就能推广到没明说的类似情况。

提示词的五个要素
  1. 角色以什么身份回答
  2. 任务具体做什么动作
  3. 背景为什么做、给谁看
  4. 约束范围与禁区
  5. 格式输出长什么样

05演示:同一个需求改三遍

第 0 版(模糊)

帮我写个产品介绍。

模型不知道产品是什么、给谁看、写多长,只能写出一段泛泛的套话。

第 1 版(补上任务和背景)

帮我写一段「智能算法交易平台」的产品介绍,放在官网首页,读者是私募基金的交易主管。

方向对了,但长度和重点仍然靠猜。

第 2 版(再补约束和格式)

你是一名金融科技产品的文案。
任务:为「智能算法交易平台」写官网首页介绍。
读者:私募基金交易主管,懂交易但不关心技术细节。
必须提到:降低冲击成本、支持多券商接入、实时绩效分析。
不能出现:收益承诺、「保证」「稳赚」等字样。
格式:一句标题(不超过 15 字)+ 3 个要点(每个不超过 30 字)。

每改一遍,模型需要「猜」的东西就少一些。检查方法很简单:数一数还剩哪些问题模型必须自己猜,比如长度、受众、重点、禁区、格式。

把模糊任务补完整
  1. 1写出任务先说明要做什么
  2. 2补受众和背景明确给谁、为什么
  3. 3补约束范围、禁区、证据
  4. 4补输出格式长度、结构、验收标准

每补一层真正影响答案的信息,模型需要猜的内容就少一层。

06分隔符:把指令和资料分开

当提示词里既有指令又有大段资料时,要用分隔符把它们隔开。常用的写法有:

  • XML 标签,如 <资料>…</资料>
  • Markdown 标题
  • 三个引号

Anthropic 文档建议用 XML 标签包裹不同类型的内容(指令、背景、示例、输入),因为这样模型解析得更清楚。OpenAI 文档也推荐同时使用 Markdown 和 XML 标签来标出逻辑边界。

分隔有两个好处:

  1. 模型更清楚哪部分是要遵守的规则,哪部分只是要处理的材料。
  2. 资料里如果混入「请忽略以上指令」之类的话,模型更不容易把它当成指令。这只能降低风险,不能保证安全。

关于长资料还有一条实用建议,来自 Anthropic 文档:长文档放在提示词前面,问题放在最后。文档称,在测试中这种写法能把回答质量最多提升 30%,复杂的多文档输入效果尤其明显。

让规则与资料分开
  1. 1写明长期规则角色、约束、格式
  2. 2用标签包住资料XML、标题或引号
  3. 3把问题放最后长资料先给依据
  4. 4先引用再回答让结果可核查

分隔符能帮助模型区分指令和材料,但不能保证安全。

07给模型「思考空间」

模型每生成一个 token 的计算量是固定的。如果要求它直接给出答案,复杂问题就只能「一步猜到底」。如果允许它先把中间步骤写出来,每一步都成为后面步骤可以参考的「前文」,相当于给了它草稿纸。下面第 18 讲(思维链 CoT)会详细讲这种做法,叫思维链。

工程上常见的写法:

先在 <思考> 标签里逐条核对资料、列出计算过程,
再把最终结论写在 <答案> 标签里。

程序只把 <答案> 里的内容展示给用户,思考过程用来排查问题。

注意:第 13 讲(推理模型)讲的推理模型会在内部自动思考。OpenAI 文档说,推理模型给高层目标就能做好,GPT 类模型则需要更精确的指令。所以对推理模型,不必再手写「一步步想」。

复杂任务的处理顺序
  1. 1读取任务与规则确认目标和限制
  2. 2核对资料找出相关证据
  3. 3列步骤或计算先完成中间处理
  4. 4输出最终答案按格式展示结果

推理模型通常会自行完成更多推理,关键仍是目标、约束和验收标准清楚。

08常见误区

  • 越长越好:不对。要写的是模型需要的信息,不是堆砌形容词。
  • 只说不要什么:只写「不要啰嗦」,模型不知道该写成什么样。更好的写法是「用 3 条要点,每条不超过 30 字」。
  • 改一次就上线:模型输出有随机性。OpenAI 文档建议固定模型版本,并为提示词建立测试和评估集(第 38 讲(评测)会讲评估)。

09延伸阅读

10一分钟讲给别人

试着用自己的话讲一遍提示词就是模型续写时依据的前文,写得越清楚,模型越不用猜。系统提示放长期规则,优先级高于用户提示;用户提示放每次的具体任务和资料。一条好的提示词要交代角色、任务、背景、约束和格式,最好再解释原因。用 XML 标签等分隔符把指令和资料分开,长资料放前面、问题放最后。复杂任务要给模型思考空间:先写过程,再写答案。

想一想

5 道自测

先在心里答一遍,再展开对照。能说清理由,比答对数字更重要。

  1. 01系统提示和用户提示分别适合放什么?哪个优先级更高?

  2. 02「帮我写份总结」缺了哪些要素?请改写成具体版本。

  3. 03为什么要用分隔符把资料和指令分开?

  4. 04「不要用省略号」和「这段文字要给语音合成朗读,它不会读省略号,所以不要用」哪个更好?为什么?

  5. 05对推理模型还需要写「请一步步思考」吗?

已看 0/5 题

练动手练习

把一个你平时会说的模糊任务写下来,例如“帮我整理这份周报”。再按角色、任务、背景、约束、格式五项补全提示词,分别提交两个版本,比较模型少猜了哪些内容。

完成这一课

完成这一课

读完讲义、看完自测答案,这一课就算学完了。

  • 读完讲义
  • 看完全部自测

本课为投资者教育内容,案例数字均为示意,不构成任何投资建议,也不承诺收益。规则和费率会变,实际操作前请以交易所、监管机构和产品的最新公告为准。