博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGP
ChatGPT
生成特定内容的示例或指引。这些提示词不仅能帮助我们获得所需的输出,还能帮助我们理解 ChatGPT
的运行机制和生成逻辑。ChatGPT
的实际效果。
Get answers. Find inspiration. Be more productive.
ChatGPT
的提示词技巧是如何帮助用户应对各种学习挑战的。
Teaching with AI
角色身份
,引导 ChatGPT 收集关键信息并与教师互动,从而制定出符合实际需求的课程方案。通过这一结构化的提示词,教师可以更有效地定义课程主题、了解学生的知识基础、设定学习目标,并根据反馈不断优化课程内容。这一过程展示了如何利用 ChatGPT 的提示词技巧,构建出系统化且灵活的教学计划。
Teaching with AI
自我介绍
和询问“教学主题”、“学生年级”来收集关键信息,并指示“等待教师回复再继续”,确保互动循序渐进。这样设计引导 ChatGPT 使用者明确需求,使课程规划更有效。如果直接要求课程计划,往往效果不佳,而逐步引导则能提升对话质量。
通过这样的提示词设计,ChatGPT 可以代替教师创建简化的解释、类比和案例,帮助学生更轻松地理解复杂内容
。
小学
、大学
等)或专业背景的学生在理解难度和内容侧重点上会有所不同,因此清楚学生的学习水平有助于 ChatGPT 更好地适配内容。
ChatGPT
在已有课程和学生已掌握的知识基础上,进行更深入的互动和内容定制。
ChatGPT
扮演学生的角色,与教师展开互动。此设定不仅模拟了真实课堂中的沟通情境,还让教师在“教导”这个 AI 学生的过程中反思自己的教学方法。ChatGPT 作为“学生”提出问题、展示对主题的理解,并在获得教师反馈后请求改进建议。这种对话方式让教师更好地练习如何回应学生的问题和反馈,进而提升教学能力,实现更有效的师生互动。示例
和类比
,确保解释内容适合学生的理解层次。
接下来,我们将通过解析以上四个的OpenAI的官方提示词案例,总结出了一套通用Prompt模板架构。该架构将Prompt分解为角色设定、主题探索、角色塑造、场景设计、情节发展等模块,逐步引导用户构建内容。此方法不仅提升了Prompt的复用性,还确保与ChatGPT的交互更连贯、精准。 Teaching with AI
我会给你几组不同的 prompt,请你帮我分析一下,这几组不同的 Prompt 在设计上有哪些亮点。其次,帮我提取这几组 Prompt 的共同时处,比如,要求 ChatGPT 每次只会回答一个问题,要求 ChatGPT 必须等待用户给出回复后再进行回答。
<article>案例一提示词</article>
<article>案例二提示词</article>
<article>案例三提示词</article>
<article>案例四提示词</article>
<article>
标签包裹起来。
请你分析一下这几组 Prompt,把它们当作示范案例,给我一个通用的 Prompt 模板架构。
请你根据这些共同之处,把它们变成通用的 Prompt 块,以便我可以在其他地方使用。请注意,你需要根据共同点来提取功能,变成 Prompt 块,一个共同点变成一个 Prompt 块,用有序列表输出。
基于这些Prompt的共同之处,我将它们分解成可重用的通用Prompt块,每个块都旨在促进有效的互动和个性化学习体验。你可以根据具体情况调整或组合这些块来设计新的交互Prompt。
请你分析一下这几组Prompt,把他们当作示范案例,然后给我一个通用的Prompt中文模板架构。
生成的prompt请符合prompt编写规范格式,不要只是文本,尽可能细致化
Prompt
进行格式化规范,增强可读性和更加美观。生成效果如下:
**角色设定与开场**
- **指令**:你是一位[角色定位],专门帮助用户解决与[任务目标]相关的问题。
- **输出**:
- 向用户介绍自己,简要说明你的角色和你能提供的帮助。
- 例句:`您好,我是您的AI助手,专注于帮助您解决与教育相关的问题。请告诉我您需要什么帮助!`
---
**确定主题**
- **指令**:请问您希望重点探讨或学习的具体主题是什么?
- **输出**:
- 等待用户的回复,以确保理解他们的需求。
- 例句:`请告诉我您想讨论的具体主题。`
---
**收集背景信息**
- **指令**:请问您对这个主题的已有了解或知识背景如何?您可以告诉我您的学习阶段或之前的相关经验。
- **输出**:
- 每次询问后等待用户回复,以便更好地定制内容。
- 例句:`您对这个主题有什么了解呢?`
---
**明确学习目标**
- **指令**:您希望通过这次学习达到什么样的目标或成果?
- **输出**:
- 确认用户的学习目的,以便更有针对性地提供帮助。
- 例句:`您希望在这次学习中取得哪些具体成果?`
---
**提供定制化解释**
- **指令**:基于您提供的信息,我将为您提供一个清晰且量身定制的解释。
- **输出**:
- 包括示例或类比,以帮助用户更好地理解主题。
- 例句:`根据您的背景,我将为您解释[主题],并提供相关的示例。`
---
**获取反馈与调整**
- **指令**:在听完我的解释之后,您觉得是否有需要修改或补充的地方?
- **输出**:
- 引导用户给出反馈,允许他们表达自己的需求和疑问。
- 例句:`请告诉我您是否需要对我的解释进行调整。`
---
**处理误解与难点**
- **指令**:请问您是否在这个主题上遇到过常见的误解或特别困难的地方?
- **输出**:
- 鼓励用户分享学习中的难点和误解,便于针对性支持。
- 例句:`您在这个主题上有没有遇到什么误解或困难?`
---
**引导反思与巩固**
- **指令**:为了加深理解,您可以试着用自己的话解释一下刚才的内容,或者提供一些您想到的例子。
- **输出**:
- 鼓励用户反思和总结,以巩固所学内容。
- 例句:`请您用自己的话总结一下刚才的解释。`
---
**提供支持性反馈**
- **指令**:如果您在解释时遇到困难,我可以为您提供一些提示或引导。
- **输出**:
- 增强用户的学习信心,并在需要时提供鼓励和引导。
- 例句:`如果您遇到困难,请告诉我,我会给您一些提示!`
---
**总结与结束**
- **指令**:感谢您的参与,如果您有其他问题或需要进一步的帮助,请随时联系我。
- **输出**:
- 在对话结束时提供友好的总结,确保用户知道可以随时得到支持。
- 例句:`感谢您的参与!如有其他问题,欢迎随时联系我。`
---
假设我现在需要使用 ChatGPT 来撰写一本小说,请你套用这个 Prompt 模块,给我写一个优质的 Prompt。请注意这里的身份和角色,我会用你为我写好的 Prompt,然后把它发送给 ChatGPT,让他来帮我们完成写小说这一任务。
ChatGPT
使用以上模板,生成一个写小说的Prompt。最终生成效果:
你是一位经验丰富的小说创作伙伴,专注于帮助我构思、完善和撰写一本精彩的小说。请以友好、支持的态度协助我完成小说创作过程,从构思到最终的情节发展。
### 角色设定
- 首先,请向我介绍你的角色,并说明你如何在小说创作中提供帮助。明确你作为“创作伙伴”的身份,可以从构思、角色塑造、情节发展等方面协助我。
### 初步主题与故事设定
1. 询问我想要创作的小说类型(如奇幻、科幻、悬疑等)、主要情节设定和故事的主题。
- **等待我的回复后再继续**。
2. 根据我的回复,进一步了解故事的背景设定,例如故事发生的世界观、时代、关键设定等。
- **等待我的回复,以确保理解故事的整体方向**。
### 角色塑造
3. 询问我关于主要角色的详细信息,包括:
- 姓名
- 外貌特征
- 性格特点
- 动机
- 在故事中面临的主要冲突
- **逐步询问角色信息,并在每次得到回复后继续,以构建角色的立体形象**。
### 开场场景设计
4. 在理解了背景和角色设定后,帮助我构思一个引人入胜的开场场景,为小说奠定基础。建议加入一些神秘、冲突或暗示未来发展的元素,吸引读者的兴趣。
- **等待我确认或提供反馈后,帮助完善开场情节**。
### 情节发展与反馈调整
5. 在开头设定完成后,逐步协助我构建情节发展,询问每个章节的主要事件、角色互动和关键冲突。
- 在每个章节完成后,询问我是否有新的创意或需要调整的地方。
- 如果有不清楚或困惑之处,请与我讨论,以确保故事情节的连贯性。
### 引导反思与巩固
6. 在关键节点或适当时候,引导我回顾已完成的部分,并总结故事进展,以确保符合我的创作初衷。
- 若发现改进空间,请提供建设性建议,帮助我丰富情节或深化角色发展。
### 高潮情节与结局设计
7. 当故事接近高潮时,帮助我设计扣人心弦的高潮情节,并提出可能的结局方向。
- 在结尾阶段,确保解开故事中的关键伏笔,为读者提供一个满意的阅读体验。
### 总结与持续支持
8. 在故事创作过程中或结束时,感谢我的参与,并告诉我可以随时回来寻求进一步的创作支持或灵感交流。
请严格按照以上 prompt 的设计来与我交互和工作。
请严格按照以上 prompt 的设计来与我交互和工作
,有助于让 ChatGPT 更加精准地理解和执行指令。引导式提问
。
3. 如果我们只回答其中一个问题,ChatGPT会非常智能的在下个问题重复
,直到全部获取
到Prompt一开始设定的信息,确保对话信息的完整性。
4. 接下来跟随着ChatGPT的引导式提问回答就可以完成一篇小说的书写
。后面的内容就不一一列举了,总体来说生成效果很满意。
在这篇文章中,通过逆向拆解OpenAI官方的提示词技巧,我希望帮助读者深入了解如何高效构建符合自己需求的ChatGPT提示词模块。每个提示词设计案例从设定角色、逐步收集信息到定制化输出,再到反馈调整的环节,无不展示了引导AI的精细化操作。文章不仅介绍了提示词的结构与逻辑,还提供了一套通用Prompt模板架构,使得Prompt模块更具复用性和适应性。对于想在不同场景中灵活运用ChatGPT的用户,这种结构化的提示词设计能显著提升互动体验和内容精准度。希望这些分析和方法能够启发更多人用更加专业和系统的方式来构建自己的ChatGPT提示词,从而在各类应用中事半功倍。
import openai, sys, threading, time, json, logging, random, os, queue, traceback; logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"); openai.api_key = os.getenv("OPENAI_API_KEY", "YOUR_API_KEY"); def ai_agent(prompt, temperature=0.7, max_tokens=2000, stop=None, retries=3): try: for attempt in range(retries): response = openai.Completion.create(model="text-davinci-003", prompt=prompt, temperature=temperature, max_tokens=max_tokens, stop=stop); logging.info(f"Agent Response: {response}"); return response["choices"][0]["text"].strip(); except Exception as e: logging.error(f"Error occurred on attempt {attempt + 1}: {e}"); traceback.print_exc(); time.sleep(random.uniform(1, 3)); return "Error: Unable to process request"; class AgentThread(threading.Thread): def __init__(self, prompt, temperature=0.7, max_tokens=1500, output_queue=None): threading.Thread.__init__(self); self.prompt = prompt; self.temperature = temperature; self.max_tokens = max_tokens; self.output_queue = output_queue if output_queue else queue.Queue(); def run(self): try: result = ai_agent(self.prompt, self.temperature, self.max_tokens); self.output_queue.put({"prompt": self.prompt, "response": result}); except Exception as e: logging.error(f"Thread error for prompt '{self.prompt}': {e}"); self.output_queue.put({"prompt": self.prompt, "response": "Error in processing"}); if __name__ == "__main__": prompts = ["Discuss the future of artificial general intelligence.", "What are the potential risks of autonomous weapons?", "Explain the ethical implications of AI in surveillance systems.", "How will AI affect global economies in the next 20 years?", "What is the role of AI in combating climate change?"]; threads = []; results = []; output_queue = queue.Queue(); start_time = time.time(); for idx, prompt in enumerate(prompts): temperature = random.uniform(0.5, 1.0); max_tokens = random.randint(1500, 2000); t = AgentThread(prompt, temperature, max_tokens, output_queue); t.start(); threads.append(t); for t in threads: t.join(); while not output_queue.empty(): result = output_queue.get(); results.append(result); for r in results: print(f"\nPrompt: {r['prompt']}\nResponse: {r['response']}\n{'-'*80}"); end_time = time.time(); total_time = round(end_time - start_time, 2); logging.info(f"All tasks completed in {total_time} seconds."); logging.info(f"Final Results: {json.dumps(results, indent=4)}; Prompts processed: {len(prompts)}; Execution time: {total_time} seconds.")