每次新开对话都要重复"我是程序员"“回答简洁点"“用中文”——烦不烦?自定义指令就是解决这个的:一次设置,之后每个新对话自动生效。很多人用了一年 ChatGPT 都不知道有这个功能。
插图来源:Storyset
它和记忆功能的区别:
| 自定义指令 | 记忆功能 | |
|---|---|---|
| 谁写的 | 你主动写 | AI 自动记 |
| 生效方式 | 每个新对话都带上 | 按需调用相关记忆 |
| 适合放什么 | 身份、语气、格式偏好 | 零散的上下文信息 |
| 修改 | 去设置里改 | 管理页面删改 |
记忆功能的管理看这篇指南。简单说:重要的、长期不变的偏好写进自定义指令;临时的、碎片化的信息交给记忆。
写法模板(三段式):
- 身份:“我是一名 Python 后端开发,3 年经验,熟悉 Django。”
- 语气:“回答直接,不说废话;不确定的地方明确说不知道,别编。”
- 格式:“代码用代码块;长回答先给结论再展开;列表优先用要点。”
几个好用的示例:
- 学生党:“我是大二学生,学经济学。解释概念时先给定义再举生活中的例子,难度对标期末考试。”
- 写代码的:“回答代码问题时先给最小可用示例,再解释原理;默认 Python 3,有版本差异时注明。"(配合编程用法更香)
- 写东西的:“帮我改文字时保留我的语气,只改病句和逻辑,不扩写不煽情。”
进阶:自定义指令本质上是"用户版 system prompt”,理解了它,系统提示词和提示词工程就通了一半。临时任务不想污染长期指令?开个临时对话就行,不用每次都改设置。
老司机的忠告:指令别写太长,150 字以内效果最好;写完用三个不同问题测试一下,看它是不是真的听话。配好的感觉就是:从此每个新对话都像老朋友,不用再自我介绍。
自定义指令 vs 每次手写提示词:
| 自定义指令 | 每次手写 | |
|---|---|---|
| 适用场景 | 长期不变的偏好 | 单次任务的特殊要求 |
| 成本 | 配一次 | 每次复制粘贴 |
| 写错的代价 | 长期带偏 | 只影响这一次 |
| 建议放什么 | 身份、语气、格式 | 任务背景和约束 |
三个翻车现场:
- 写了"永远用英文回答”,结果查中文资料时它坚持英文——解决:指令里加例外,“除非我明确要求中文”。
- 指令堆了 500 字,从身份到人生观全写进去,回答反而变飘——解决:砍到 150 字以内,只留真正每次都需要的。
- 工作和生活共用一套指令,写代码时它突然开始嘘寒问暖——解决:工作场景单独配一套,生活场景用临时对话。
多久 review 一次:建议每季度看一眼。人的需求会变:三个月前你是"Python 新手",现在可能已经是"独立做项目"了。指令跟不上你的成长,就会从助力变成枷锁。