简介:这份资源面向需要高频调用 ChatGPT 的职场人、内容创作者与 AI 应用开发者,整理了 260 条中文提示语,覆盖计算机、心理学、健康等多个行业与领域的角色设定,帮助使用者快速切换对话身份、提升提问质量与输出稳定性。压缩包内共 1 个文件,为 json 格式,体积约 40KB,结构轻量,便于直接导入或二次整理成自己的提示词库。内容按角色名称与对应提示语组织,例如计算机领域的 UX/UI 开发人员、IT 架构师、全栈软件开发人员、高级前端开发人员,心理学领域的心理健康顾问与心理学家,健康领域的私人厨师、人生教练、牙医与虚拟医生等,均给出了可直接套用的角色描述。目前已有 1058 人学习下载,适合希望减少重复调试、快速搭建多场景提示词模板的读者参考使用。
1. 260 条提示语不是收藏品:先搞清楚它到底解决什么问题
很多人拿到「260 条 ChatGPT 中文提示语」这类压缩包,第一反应是解压、翻一遍、丢进收藏夹,然后再也没打开过。我见过太多这种情况——包括我自己早期也干过同样的事。问题不在于提示语数量不够,而在于你根本不知道每条提示语背后的结构逻辑是什么,所以用的时候只能生搬硬套,换个场景就失效。
这个标题指向的核心资产,是一套中文提示词模板库,覆盖写作、编程、分析、翻译、角色扮演等常见场景。它真正能解决的问题是:让你不用从零构思 prompt,直接拿到一个经过验证的结构骨架,改几个变量就能用。适合两类人:一是刚接触提示词工程、还不知道怎么组织指令的新手;二是已经在用 ChatGPT 做日常产出、但每次都要重新想怎么问的效率追求者。
但我要先把话说在前面:提示语模板的价值不在于「拿来即用」,而在于「拆开理解」。下面我会按「怎么读 → 怎么改 → 怎么组合 → 怎么避坑 → 怎么进阶」的顺序,把这 260 条提示语从死数据变成活工具。
2. 拆解提示语模板:从 260 条里提炼出 4 种可复用结构
2.1 先分类再使用:提示语的四种基本骨架
拿到一个提示语包,不要按文件顺序一条条读。我一般会先按结构类型做一次粗分类,因为不同结构的提示语,改造方式完全不同。
| 结构类型 | 典型特征 | 适用场景 | 改造难度 |
|---|---|---|---|
| 角色设定型 | 以「你是一位…」开头 | 专业咨询、模拟对话 | 低,换角色即可 |
| 任务指令型 | 直接描述要做什么 | 写作、翻译、总结 | 低,换任务描述 |
| 格式约束型 | 强调输出格式和结构 | 报告、清单、表格 | 中,需调格式参数 |
| 链式推理型 | 分步骤引导思考 | 分析、决策、拆解 | 高,需理解逻辑链 |
分类之后你会发现,260 条里真正结构独特的可能只有 30~40 条,其余都是同一骨架换场景。这意味着你不需要记住 260 条,只需要掌握 4 种骨架,再根据具体需求填充内容。
提示:分类时建议用表格记录每条提示语的编号、结构类型、适用场景,方便后续检索。不要靠脑子记。
2.2 用 Python 做一次批量清洗和分类
如果你拿到的提示语是分散在多个 txt 或 md 文件里,手动整理效率太低。我一般会写个脚本先做一轮预处理:去掉空行、统一编号、按关键词打标签。
import os import re import json # 假设提示语存放在 prompts 目录下,每个文件一条或多条 PROMPT_DIR = "./prompts" OUTPUT_FILE = "./prompts_cleaned.json" def clean_text(text): """去掉多余空行和首尾空白""" text = re.sub(r'\n{3,}', '\n\n', text) return text.strip() def classify_prompt(text): """根据关键词做粗分类""" if re.search(r'你是一[位个名]', text): return "role_play" elif re.search(r'请?(按照|以).{0,10}格式', text): return "format_constraint" elif re.search(r'第一[步部分]|首先.*然后.*最后', text, re.S): return "chain_reasoning" else: return "task_instruction" results = [] for fname in os.listdir(PROMPT_DIR): if not fname.endswith(('.txt', '.md')): continue fpath = os.path.join(PROMPT_DIR, fname) with open(fpath, 'r', encoding='utf-8') as f: raw = f.read() # 按分隔符切分,常见分隔符是 --- 或空行+编号 chunks = re.split(r'\n-{3,}\n|\n(?=\d+[\.\、])', raw) for chunk in chunks: cleaned = clean_text(chunk) if len(cleaned) < 20: # 太短的跳过 continue results.append({ "source": fname, "content": cleaned, "type": classify_prompt(cleaned), "length": len(cleaned) }) with open(OUTPUT_FILE, 'w', encoding='utf-8') as f: json.dump(results, f, ensure_ascii=False, indent=2) print(f"共处理 {len(results)} 条提示语") # 输出各类型数量分布 from collections import Counter print(Counter(r['type'] for r in results))这段脚本做了三件事:读取所有提示语文件 → 按分隔符切分 → 按关键词粗分类。关键参数说明:
re.split里的分隔符模式要根据你实际文件格式调整,常见的是---或数字编号开头。len(cleaned) < 20这个阈值是过滤噪音用的,太短的片段大概率是标题或分隔残留。classify_prompt里的正则只是启发式规则,不追求 100% 准确,目的是帮你快速缩小范围。
跑完之后你会得到一个 JSON 文件,里面每条提示语都带了类型标签。接下来就可以按类型分别处理,而不是面对一堆无序文本。
2.3 变量提取:把固定模板变成可配置工具
分类之后,下一步是把每条提示语里的可变部分抽出来。比如一条角色设定型提示语可能是这样的:
你是一位资深产品经理,请帮我分析以下需求文档的优先级,输出格式为表格, 包含字段:需求名称、优先级、理由。需求文档如下:{需求内容}这里的{需求内容}就是变量。我一般会把所有变量用{{变量名}}统一标记,方便后续替换。
import re def extract_variables(prompt_text): """提取提示语中的变量占位符""" # 匹配 {xxx} 或 {{xxx}} 或 【xxx】等常见占位格式 pattern = r'\{\{?(\w+)\}?\}|【(\w+)】' matches = re.findall(pattern, prompt_text) variables = [m[0] or m[1] for m in matches] return list(set(variables)) def fill_template(prompt_text, values: dict): """用实际值替换变量""" for key, val in values.items(): prompt_text = prompt_text.replace(f'{{{{{key}}}}}', val) prompt_text = prompt_text.replace(f'{{{key}}}', val) prompt_text = prompt_text.replace(f'【{key}】', val) return prompt_text # 示例 template = "你是一位{{role}},请帮我{{task}},输出格式为{{format}}。内容如下:{{content}}" vars_needed = extract_variables(template) print("需要填写的变量:", vars_needed) filled = fill_template(template, { "role": "资深运维工程师", "task": "排查以下日志中的错误", "format": "按时间线排列的表格", "content": "2024-01-01 ERROR: disk full" }) print(filled)这段代码的核心思路是:先提取变量名,再用字典替换。实际使用时,你可以把常用的角色、任务、格式做成预设字典,每次只需要填 content 部分。
注意:不同来源的提示语可能用不同的占位符格式,
{}、{{}}、【】、[]都有。建议统一成一种,避免替换时漏掉。
2.4 组合调用:把单条提示语串成工作流
单条提示语解决单点问题,但实际工作往往需要多步。比如「写一篇技术文章」可以拆成:选题 → 大纲 → 初稿 → 润色 → 标题优化。每一步用一条提示语,把上一步的输出作为下一步的输入。
def chain_prompts(prompts: list, initial_input: str): """按顺序执行多条提示语,前一条的输出作为后一条的输入""" current = initial_input for i, prompt_template in enumerate(prompts): filled = fill_template(prompt_template, {"content": current}) # 这里用伪代码表示调用 ChatGPT # response = call_chatgpt(filled) response = f"[第{i+1}步输出]" # 实际使用时替换为真实调用 print(f"--- Step {i+1} ---") print(f"Prompt: {filled[:80]}...") print(f"Output: {response[:80]}...") current = response return current这种链式调用的关键是每一步的输出格式要稳定,否则下一步的输入会失控。我一般会在提示语里明确要求「输出纯文本,不要加解释性语句」,减少噪音传递。
3. 参数怎么设:温度、模型选择和输出长度对提示语效果的影响
3.1 温度参数:不同任务该设多少
很多人调提示语只改文字,不改参数,结果同一提示语有时好用有时翻车。温度(temperature)是最关键的参数之一,它控制输出的随机性。
| 任务类型 | 建议温度 | 原因 |
|---|---|---|
| 代码生成 | 0~0.3 | 需要确定性,避免语法错误 |
| 数据分析 | 0~0.3 | 结果要可复现 |
| 文案写作 | 0.7~1.0 | 需要多样性和创意 |
| 头脑风暴 | 0.8~1.2 | 鼓励发散 |
| 翻译 | 0.2~0.5 | 平衡准确和流畅 |
实际操作中,如果你用的是 API,直接在请求里设temperature参数;如果用网页版,温度是默认值,你只能通过提示语里的措辞来间接影响——比如加「请给出确定性的答案」或「请给出多种不同角度的回答」。
3.2 模型选择:不同模型对同一提示语的响应差异
同一个提示语,在不同模型上的表现可能差很多。常见做法是:复杂推理用强模型,简单任务用快模型。比如链式推理型提示语,在推理能力强的模型上效果明显更好;而格式约束型提示语,小模型也能执行得不错。
我一般会准备两套提示语版本:一套给强模型用,写得简洁,留更多发挥空间;一套给快模型用,写得非常具体,每一步都明确指令。这样切换模型时不用重新调提示语。
3.3 输出长度控制:别让模型自由发挥
提示语里如果不限制输出长度,模型可能给你写一大段废话。我习惯在提示语末尾加一句:
请用不超过 200 字回答,直接给出结果,不要解释过程。或者需要详细分析时:
请分三点回答,每点不超过 50 字,总字数控制在 300 字以内。这样做的另一个好处是节省 token,尤其在批量调用 API 时,输出长度直接关系到成本。
4. 避坑指南:提示语使用中最容易翻车的 5 个场景
4.1 现象:提示语照搬后输出完全不对
原因:提示语里包含了你没有提供的上下文。比如模板里写了「根据以上文档」,但你根本没贴文档。
解决:使用前先检查提示语里是否有指代词(「以上」「该」「此」),确保所有引用都有对应内容。我一般会把提示语里的指代词全部替换成具体描述。
4.2 现象:同一提示语昨天好用今天不好用
原因:模型版本更新或服务端参数调整。这不是你的问题,但你需要有应对方案。
解决:把关键提示语做版本管理,记录每次使用的模型版本和输出效果。一旦发现效果下降,先检查模型是否更新,再决定是否调整提示语。
4.3 现象:输出格式忽变,有时表格有时段落
原因:格式约束不够强。模型对「请用表格输出」的理解可能每次不同。
解决:给出具体示例。不要只说「用表格」,而是说「用 Markdown 表格,表头为:字段1 | 字段2 | 字段3,每行一条数据」。示例比描述更有效。
4.4 现象:中文提示语里混了英文,输出语言混乱
原因:提示语本身语言不统一,模型可能跟随提示语的语言。
解决:在提示语开头明确「请用中文回答」,并且尽量保持提示语全中文。如果必须保留英文术语,在术语后加中文注释。
4.5 现象:提示语太长,模型只响应了前半部分
原因:超出模型的注意力范围,后半部分指令被忽略。
解决:把最重要的指令放在开头和结尾,中间放背景信息。如果提示语确实很长,拆成多轮对话,而不是一次性塞进去。
5. 进阶用法:把 260 条提示语变成你自己的动态知识库
5.1 建立本地检索:用关键词快速定位提示语
260 条提示语靠翻文件找太慢。我一般会建一个简单的本地检索脚本,支持按关键词搜索。
import json def search_prompts(keyword: str, data_file: str = "./prompts_cleaned.json"): """按关键词搜索提示语""" with open(data_file, 'r', encoding='utf-8') as f: prompts = json.load(f) results = [] for p in prompts: if keyword.lower() in p['content'].lower(): results.append(p) # 按长度排序,短的优先(通常更通用) results.sort(key=lambda x: x['length']) return results # 示例:搜索所有和「代码审查」相关的提示语 hits = search_prompts("代码审查") for h in hits[:5]: print(f"[{h['type']}] {h['content'][:60]}...")这个脚本可以进一步扩展成命令行工具,或者做成简单的 Web 界面。核心思路是:把提示语当成数据来管理,而不是当成文档来阅读。
5.2 动态组合:根据任务自动推荐提示语
更进一步,你可以根据任务描述自动匹配最合适的提示语。简单做法是用关键词匹配,复杂做法是用嵌入向量做语义搜索。
def recommend_prompt(task_description: str, prompts: list, top_k: int = 3): """根据任务描述推荐最相关的提示语(关键词匹配版)""" task_words = set(task_description.lower().split()) scored = [] for p in prompts: content_words = set(p['content'].lower().split()) overlap = len(task_words & content_words) scored.append((overlap, p)) scored.sort(key=lambda x: x[0], reverse=True) return [p for _, p in scored[:top_k]]这个推荐逻辑很粗糙,但实际用起来比手动翻找快得多。你可以把常用的任务描述和对应的提示语编号记录下来,形成自己的映射表。
5.3 持续迭代:每次使用后记录效果
我有个习惯:每次用一条提示语完成实际工作后,会花 30 秒记录一下效果——输出质量如何、哪里需要改、下次怎么调。这些记录积累起来,就是你自己的提示语优化日志。
具体做法很简单,在 JSON 文件里给每条提示语加一个usage_log字段:
{ "content": "你是一位资深编辑...", "type": "role_play", "usage_log": [ {"date": "2024-01-15", "task": "润色技术文章", "rating": 4, "note": "输出偏长,下次加字数限制"}, {"date": "2024-01-18", "task": "润色营销文案", "rating": 5, "note": "效果很好,直接复用"} ] }时间长了,你会发现自己常用的其实就那么二三十条,但这二三十条经过反复打磨,效果远超原始版本。提示语的价值不在于数量,而在于你对其中的每一条有多熟悉、改过多少次。
我自己的习惯是:每季度把提示语库过一遍,删掉三个月没用过的,把常用的再优化一轮。这样库越来越小,但越来越好用。希望帮到你。
本文还有配套的精品资源,点击获取