阿超
>
awesome-chatgpt-prompts-zh
不要为已消尽之年华叹息,必须正视匆匆溜走的时光。——布莱希特
来点“真有用又好玩的”——今天我们聊一个超多人收藏的中文仓库:PlexPt/awesome-chatgpt-prompts-zh 。
一句话版(来自仓库 description):ChatGPT 中文调教指南。各种场景使用指南。学习怎么让它听你的话。
这个仓库到底是什么
一个“中文场景化提示词合集”,帮你把 ChatGPT(或兼容模型)调教得更贴近你的具体需求。
内容以中文为主,覆盖多种场景,附有使用说明(见 README 与 USEAGE.md )。
许可证:MIT(放心学习、参考与二次使用;具体条款请看 LICENSE)。
官方主页(仓库提供):chat.aimakex.com
仓库主文件与结构(节选)
默认分支:main
Topics:chat-gpt、chatgpt、chatgpt3、chatgpt4、gpt
说明:上述文件/目录清单来自一次性接口结果,可能不完整;更多请直接在 GitHub 浏览仓库根目录:完整文件列表(/tree/main)
为什么它火
用中文直接给出“场景化提示词”,减少自己从零写 prompt 的成本。
README 与 USEAGE.md 给出了使用指南,降低上手门槛。
同时提供简体与繁体 JSON(prompts-zh.json、prompts-zh-TW.json),方便不同语系用户。
怎么“食用”最省心
先读 README.md :了解项目理念、适用场景与注意事项。
再看 USEAGE.md :快速掌握“怎么用”的姿势与节奏。
按需挑选 prompts-zh.json 或 prompts-zh-TW.json:
如果你是简体中文用户,就从 prompts-zh.json 开始。
如果你面向繁体中文用户,就用 prompts-zh-TW.json。
cat.md :常用于分类或索引(具体以文件内容为准),帮助你快速定位场景。
不乱编的“代码小例子”
目标:安全、稳妥、通用。因为我们不对 JSON 的具体结构做假设,所以以下示例会先探测数据结构,再选择一个条目来用。
示例 A:Python 读取 prompts-zh.json,自动探测结构并抽取一个提示词,用 OpenAI 风格 API 做最小调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 import osimport jsonimport requests PROMPTS_FILE = "prompts-zh.json" with open (PROMPTS_FILE, "r" , encoding="utf-8" ) as f: data = json.load(f) prompt_text = None if isinstance (data, list ) and len (data) > 0 : first = data[0 ] if isinstance (first, dict ): for key in ("prompt" , "content" , "text" , "instruction" ): if key in first and isinstance (first[key], str ): prompt_text = first[key] break if prompt_text is None : for v in first.values(): if isinstance (v, str ): prompt_text = v break elif isinstance (first, str ): prompt_text = firstelif isinstance (data, dict ) and len (data) > 0 : for v in data.values(): if isinstance (v, str ): prompt_text = v break if not prompt_text: raise ValueError("未能从 prompts-zh.json 自动抽取到文本,请查看文件结构后手动选择字段。" )print ("选取的提示词片段:" )print (prompt_text[:200 ] + ("..." if len (prompt_text) > 200 else "" )) BASE_URL = os.getenv("OPENAI_BASE_URL" , "https://api.openai.com/v1" ) API_KEY = os.getenv("OPENAI_API_KEY" , "YOUR_KEY" ) MODEL = os.getenv("OPENAI_MODEL" , "gpt-4o-mini" ) resp = requests.post( f"{BASE_URL} /chat/completions" , headers={"Authorization" : f"Bearer {API_KEY} " }, json={ "model" : MODEL, "messages" : [ {"role" : "system" , "content" : "你是一个乐于助人的中文助手。" }, {"role" : "user" , "content" : prompt_text} ] }, timeout=30 ) resp.raise_for_status()print ("\n模型回复:" )print (resp.json()["choices" ][0 ]["message" ]["content" ])
示例 B:Node.js(JavaScript)读取 prompts-zh-TW.json 并调用 OpenAI 风格 API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 import fs from "node:fs" ;import path from "node:path" ;const PROMPTS_FILE = path.resolve ("prompts-zh-TW.json" );const raw = fs.readFileSync (PROMPTS_FILE , "utf-8" );const data = JSON .parse (raw);let promptText = null ;if (Array .isArray (data) && data.length > 0 ) { const first = data[0 ]; if (typeof first === "object" && first !== null ) { for (const key of ["prompt" , "content" , "text" , "instruction" ]) { if (typeof first[key] === "string" ) { promptText = first[key]; break ; } } if (!promptText) { for (const v of Object .values (first)) { if (typeof v === "string" ) { promptText = v; break ; } } } } else if (typeof first === "string" ) { promptText = first; } } else if (typeof data === "object" && data !== null ) { for (const v of Object .values (data)) { if (typeof v === "string" ) { promptText = v; break ; } } }if (!promptText) { throw new Error ("未能自动抽取提示词文本,请查看 JSON 结构后手动选择。" ); }console .log ("選取的提示詞片段:" );console .log (promptText.slice (0 , 200 ) + (promptText.length > 200 ? "..." : "" ));const BASE_URL = process.env .OPENAI_BASE_URL || "https://api.openai.com/v1" ;const API_KEY = process.env .OPENAI_API_KEY || "YOUR_KEY" ;const MODEL = process.env .OPENAI_MODEL || "gpt-4o-mini" ;const resp = await fetch (`${BASE_URL} /chat/completions` , { method : "POST" , headers : { "Authorization" : `Bearer ${API_KEY} ` , "Content-Type" : "application/json" }, body : JSON .stringify ({ model : MODEL , messages : [ { role : "system" , content : "你是一位中文助理,請使用繁體中文回覆。" }, { role : "user" , content : promptText } ] }) });const json = await resp.json ();console .log ("\n模型回覆:" );console .log (json.choices ?.[0 ]?.message ?.content ?? "(空)" );
示例 C:给自己的提示词做“微模板”封装(不依赖具体仓库结构,示范如何落地)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def build_prompt (role: str , goal: str , constraints: list [str ], steps: list [str ] ) -> str : lines = [ f"角色:{role} " , f"目标:{goal} " , "限制:" , *[f"- {c} " for c in constraints], "执行步骤:" , *[f"{i+1 } . {s} " for i, s in enumerate (steps)], "输出要求:" , "- 清晰的结构化结果" , "- 必要时给出理由与引用" ] return "\n" .join(lines) prompt = build_prompt( role="资深运营顾问" , goal="为新用户增长制定一周策略" , constraints=["不能超预算" , "尽量可复用" , "数据口径要明确" ], steps=["分析现状" , "明确目标" , "制定方案" , "拆解行动项" , "预估效果与风险" ] )print (prompt)
这类“微模板”是把场景描述结构化,方便你在仓库的提示词基础上“再加工”。
使用建议(真心话)
用前先读 README 与 USEAGE.md :掌握推荐的使用方式和注意事项,避免误用。
结合 cat.md 或目录中的分类文件,找到适合你场景的提示词集合。
不要把提示词当“万金油”,场景、角色、约束、输出要求都要贴近你的业务。
持续迭代:记下效果最好的提示词,做版本化管理;必要时引入 A/B 测试。
合理设置系统消息(system prompt):给模型“定位”,减少偏题。
合规与开源
许可证:MIT License(详见 LICENSE )
二次使用与商业用途请遵循 MIT 条款;如需在企业内部推广,建议对提示词做审计/分类管理。
最后,把重要链接再摆一遍