ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

11条提示词把ChatGPT变成私人教练:提示词工程实战拆解

11条提示词把ChatGPT变成私人教练:提示词工程实战拆解 简介这份资源将ChatGPT转化为私人教练的11个顶级提示词Prompts整理为单个docx文档面向希望借助AI提升学习效率的自学者、知识工作者、考研考证人群也适合需要快速了解陌生领域的职场人。文档覆盖思维导图法、费曼技巧、深化质询、间隔重复、SQ3R阅读法、双编码理论、故事叙述、交错学习等学习方法每个Prompt均提供中英文对照提问句式并预留[x topic]占位符替换任意主题即可直接复制使用无需额外调整零基础也能上手。资源包共1个docx文件大小仅12KB轻量便携可导入主流笔记软件或作为Prompt库供后续日常调用。目前已有231人学习下载其核心亮点在于用一套结构化指令替代零散提问帮助读者按科学记忆规律组织学习路径尤其第11个记忆宫殿指令通过将关键概念关联生动心理图像与地点能显著提升复杂信息的调取效率是整份资料中最具惊喜感的内容。1. 为什么说11条提示词能把ChatGPT变成私人教练做AI提示词Prompts的人迟早会遇到同一个诉求用ChatGPT当自己的私人教练。网上流传过不少“11个顶级AI指令Prompts提示词ChatGPT立刻就是你的私人教练”的文档很多人照着复制粘贴然后发现它只是“看起来专业”。真正让ChatGPT从一个聊天框变成教练的不是那11条模板本身而是你为每条模板补上的角色边界、目标测量和约束条件。这篇笔记就按这个顺序拆先讲为什么Prompts能改变AI大模型的输出性质再逐条拆解11类顶级指令的写法与参数最后给出一套能跑通、能复现、能排查的落地路径。适合正在做提示词工程、想把AI Agent接入个人训练场景的从业者。2. 把“私人教练”拆成提示词工程角色、目标与约束2.1 角色设定让ChatGPT先“穿好教练制服”很多从业者拿到“11个顶级的AI指令Prompts提示词”这类文档第一反应是复制指令去对话。但直接把“你是我的私人教练”扔给ChatGPT得到的往往是一堆正确废话。原因很简单大模型的默认人格是“百科全知”它倾向于罗列选项而不是替你决策。教练这个角色需要“给出唯一推荐动作、指出风险、给替代方案”这必须通过System Prompt固定下来。看一个最小可用的角色模板coach_system 你是一名有12年带训经验的私人教练名叫老周。 沟通风格直接、具体、禁止用“因人而异”这类回避词。 每回答一个问题必须按以下结构输出 1. 推荐动作只给一个最该做的动作并说明理由。 2. 替代方案如果用户条件不满足给出第二选择。 3. 风险提示说清楚可能受伤或无效的前提。 4. 下一步15分钟内能做完的一件事。 然后把这段文本放进Chat Completion接口的system消息里。原理上system消息的优先级高于用户消息它会持续影响整个对话而用户消息里的角色设定只影响当前一轮。我用同样的“教练系统词”接不同用户消息输出都会保持教练口吻省掉了每轮重复写角色。参数上控制随机性的temperature建议设为0.6左右。0.7以上会让“推荐动作”漂移同一问题两次给出不同动作0.3以下又过于机械讨论心理卡点时会显得没人味。max_tokens不要低于600否则结构输出会被截断第四步常丢。我一般把model填已接入的大模型名称并确保上下文窗口能容纳后面的日志摘要。这里有个容易忽略的点不要在角色设定里写“你是最好的教练”“你是健身专家”这类形容词模型没法执行这类判断。可执行的角色设定必须写“你的输出必须包含……”“禁止……”。换句话说用输出行为定义角色而不是用身份标签。2.2 目标与测量没有可验证指标教练就是空谈角色设定解决了“谁在说话”目标测量解决“说什么”。没有量化目标ChatGPT只能随机给建议。同样是“我想练体能”它可能说出十种不同方案当你把目标写成“12周后5公里配速从7分30秒提高到6分30秒”它的输出会立刻收敛到训练计划上。一个可复现的目标提示词模板如下goal 12周后5km配速从730\提高到630\体脂率降低2个百分点 prompt f 我的可测量目标是{goal} 请先告诉我这个目标在12周内是否现实评估依据是什么。 如果现实请按每周一个阶段拆解并给出关键测量指标。 如果不现实请先修正目标给出你认为合理的替代目标。 这段提示词的逻辑是先让模型判断目标真实性再分阶段拆解。这样做的好处是模型在第一轮就把“可测量”写进评估标准后续计划会围绕配速和体脂率展开而不是回到“多喝水、好好睡觉”这类无关建议。配套的参数设计temperature保持0.5因为需要精确判断和数值计算。max_tokens给到1200否则它可能会为了省字数忽略替代目标。另外建议在用户消息里加上一条“如果我的历史记录里有近两周的训练数据请结合数据说话”。这条补充指令能把后续对话导向数据而不是空洞的鼓励。规划好测量口径也很关键。常见做法是在系统提示词里放一个“训练日志字段表”告诉模型每次需要哪些数据训练日期与时段训练内容动作、组数、次数、重量主观疲劳度RPE1-10睡眠时长与质量体重或完成时间字段表不是给用户看的是给模型看的。有了字段定义即使你只输入“今天练完了腿很酸”模型也会主动追问缺掉的数据。2.3 约束条件时间、设备、身体状态怎么写进指令私人教练和普通聊天最大的区别是教练必须在约束下做决策。不给约束GPT默认你是“每周能练6天、有全套器械、没有伤病”的理想用户给出的计划当然看着专业但执行不了。所以约束条件必须写进提示词而且最好是结构化的。constraint { training_days: [Mon, Wed, Fri], minutes_per_session: 45, equipment: [adjustable dumbbells, resistance band], injury: left knee patellofemoral pain }把这段结构追加到System Prompt末尾并在用户请求里加上“请严格遵守我的时间、设备和伤病限制”。模型会从动作库里自动过滤掉深蹲、跳跃类动作换成坐姿腿屈伸和弹力带侧步走。这个过程不需要你懂康复医学只需要把约束写清楚。参数方面这一段没有额外参数但它会影响前面的所有指令。要特别注意的是约束不要写成“我没有很多时间”这种模糊表达必须写成具体数字。模糊约束模型无法量化具体约束才能参与计算。另外约束段要写在System Prompt里而不是每次用户输入里否则模型会把它当临时信息可能在长对话中丢失优先级。到这里角色、目标、约束三条线立住了后面11条顶级指令才有挂靠点。三条线分开写还有一个额外好处排查问题时能单独替换。比如发现计划太激进先查约束段发现回复太泛先查目标段。这种模块化写法比把一切塞进一个提示词更可控。下一章逐条拆11条指令。3. 11条顶配指令的逐条拆解从模板到参数怎么设这一章直接进入可抄作业的环节。我按“计划、反馈、心理”三个场景把常见的11条教练指令整理成模板。每条指令都带一个Python字典的key方便你直接接到自己的Agent代码里。3.1 5条“定计划”类指令目标拆解、周计划、每日任务这5条指令负责把长期目标变成每天能做的动作。它们的特点是需要逻辑推断所以temperature要低。plan_prompts { goal_breakdown: 基于目标“{goal}”把12周拆成3个阶段。每个阶段给出训练频率、重点能力、周末验证方式。, weekly_plan: 基于我的约束{constraint}生成一周训练计划。每天只写一个主训练和一组辅助训练注明预计耗时。, daily_task: 生成今天45分钟的训练清单。包括动作名称、组数、次数、休息时间用表格输出。, form_check: 我做的动作是{movement}。请描述标准动作的关键点然后列出最常见的3个错误和自测方法。, alternative_move: 我没有{specific_equipment}请给一个替代动作刺激部位相同并说明替代后的训练量调整。, }第一条“goal_breakdown”要求模型按“阶段-频率-重点-验证方式”四段输出直接把目标拆成可执行颗粒度。第二条“weekly_plan”中约束会从上一章的结构化变量传入。第三条“daily_task”强制表格输出减少“差不多”的模糊安排。第四条“form_check”用于动作自查典型用法是你把“我在做杠铃深蹲膝关节应该内扣吗”这种问题丢进去。第五条“alternative_move”解决设备限制尤其适合出差场景。参数上这5条全部用temperature0.4max_tokens800左右。goal_breakdown需要推理链可以max_tokens给到1500。一个细节daily_task输出的组数、次数最好让模型用JSON格式返回方便后续写入日志系统。你可以在提示词末尾加一句“请用JSON返回字段为name/sets/reps/rest”。JSON格式能直接入库也能减少人工整理。我见过有人把weekly_plan的temperature调到0.8理由是“想要一点随机性来防止计划单调”。这个用法方向错了计划类输出的随机性应该来自“动作选择范围”和“约束条件”的变化而不是参数抖动。约束条件改变计划自然会换temperature过高只会产生自相矛盾的安排。3.2 4条“执行反馈”类指令日志、纠偏、复盘训练只是执行反馈才是教练的核心价值。这4条指令用于“做完之后”的分析。feedback_prompts { log_analysis: 以下是我的训练日志{log}。请找出完成率低于70%的项目分析原因并给出下周调整建议。, intensity_tune: 本周我的RPE平均为{rpe}睡眠{sleep_hours}。下一周的强度应该增加、保持还是降低给出具体依据。, plateau_break: 我已经连续{n}周在“{stuck_item}”上没有进步。请给出3个突破策略并注明优先级。, weekly_review: 总结本周训练日志按“做得好的/该改的/下周一件事”三部分输出。, }log_analysis需要模型先计算完成率再输出建议所以提示词里写了“低于70%的项目”这个数字阀值。intensity_tune则把主观疲劳度和睡眠作为调整依据属于最典型的教练决策。plateau_break针对连续几周瓶颈要求给3个策略而不是一个防止模型偷懒。weekly_review的输出结构是“做得好的/该改的/下周一件事”三个部分强制模型区分表扬、批评和执行。这里有一个参数上的特殊点feedback_prompts的temperature可以放到0.5到0.6。因为反馈需要有轻微的随机性来生成“下周一件事”但又不能随机到给出矛盾建议。max_tokens控制在1000以内重点在结构而不是全量输出。我见过有人用temperature0.9跑log_analysis结果连续两次给的调整方向完全相反这就是参数过高。另外log_analysis和weekly_review在提示词里最好加上一条“只依据日志数据不要猜测未记录内容”。不加这条模型很可能会编造“你上周二做了深蹲”这种不存在的数据。有了这句它就只能基于实际日志输出也方便你事后追溯。3.3 2条“动力与心理”类指令卡点对话、鼓励机制训练计划再完美执行者也有想放弃的时候。这两条指令专门处理“不想练”的状态。psych_prompts { motivation_talk: 我现在完全不想训练原因是{reason}。请不要讲大道理直接告诉我一个“5分钟启动动作”并解释为什么这个动作能降低心理阻力。, reward_check: 我完成了“{milestone}”这个里程碑。给我设计一个不影响训练节奏的奖励方案奖励不能是食物或休息日。, }motivation_talk的设计思路是“把大目标缩小成5分钟动作”。这里我故意写了“不要讲大道理”这是提示词里的负向约束能有效减少模型输出鸡汤。reward_check则规定“不能是食物或休息日”把奖励方案限制在非破坏训练计划的范围内比如买一对新护腕。这两条指令的temperature建议在0.7到0.8因为它们属于发散性创意输出需要一些意外感。但max_tokens不用太长300到500就够。注意motivation_talk里“原因是”这个参数必须由用户填不能留空留空的话模型会直接给通用回复失去了私人教练的针对性。心理类指令不需要严格数值但“5分钟启动动作”这个约束仍然是一个数字它保证建议是具体的。3.4 给11条指令配上可复现的参数模板前面三条小节展示了11条指令的正文但你要真正落地最好把它们做成一张参数表。我一般会这样组织指令keytemperaturemax_tokens输出格式适用场景goal_breakdown0.41500文本分阶段首次设定weekly_plan0.41000表格每周一daily_task0.4800JSON每天开始form_check0.3600文本动作咨询alternative_move0.4600文本缺设备log_analysis0.51000文本训练后intensity_tune0.5800文本周中调整plateau_break0.6800文本瓶颈期weekly_review0.51000三段文本每周末motivation_talk0.8500文本不想练reward_check0.7400文本里程碑这张表是“静态参数”真正跑起来还要加一个动态参数每次请求都带上最近7天的训练日志摘要否则模型没有判断依据。日志摘要的长度控制在200 token以内过长会稀释指令的权重。下一章讲怎么把这套东西接成持续对话的AI Agent。4. 落地成“私人教练”的完整路径从单条提示词到持续对话4.1 用System Prompt固定人设与长期记忆单条提示词只能让ChatGPT“扮演”教练要让它“成为”教练需要把对话状态变成可维护的对象。第一步是把第一章的三段内容角色、目标、约束合并成一个System Prompt并且让它在每次请求中都存在。full_system coach_system \n\n【目标】\n goal \n\n【约束】\n json.dumps(constraint)这里有几个要点coach_system负责输出行为goal负责测量方向constraint负责决策边界。三者用分隔符隔开模型能清晰区分“我的身份”“我的目标”“我的限制”。我一般不把训练日志放进System Prompt因为日志是动态数据属于用户消息层。为什么强调用分隔符而不是把所有内容拼接成一大段因为大模型对长文本的注意力会从两头向中间衰减。把三段用【目标】【约束】这样的标记隔开等于给模型画出了检索锚点它需要哪部分就会去找对应标记。如果你把所有内容揉成散文模型在长对话中更容易把目标和约束搞混。在执行上每次调用API前先组装这个full_system。你不需要在用户消息里重复角色设定但用户消息必须引用目标。比如“按我的目标我今天该练什么”就足够。这样能减少提示词长度避免模型被冗余信息干扰。4.2 用对话上下文与历史摘要做“训练日志”长对话中ChatGPT会忘记一周前的数据。这很常见因为上下文窗口有限。解决办法不是无脑堆历史而是维护一个“训练日志摘要”并每次放进去。def build_training_context(log_entries): summary summarize_log(log_entries) # 将多日日志压缩为200字内的摘要 return [ {role: system, content: full_system}, {role: system, content: f最近的训练日志摘要{summary}}, {role: user, content: user_ask} ]这里我加了一条独立的system消息来携带摘要而不是混在coach_system里。这样模型可以把“摘要”当作事实数据源而不会破坏教练人格。summarize_log可以用大模型自带能力完成也可以用规则提取关键字段完成率、平均RPE、体重。我一般倾向混合规则抽数值大模型补文字总结。举个例子原始日志是“周一深蹲4组×5次RPE7睡眠6.5h周三卧推4组×8次RPE8睡眠7h周五硬拉3组×5次RPE6睡眠5h”。压缩成摘要就是“本周完成3次训练平均RPE7平均睡眠6.2h深蹲完成率100%卧推重量连续两次未提升”。这个摘要比原始日志更有效因为模型处理短文本时不会遗漏关键数字。参数需要注意日志摘要必须放在user消息之前且要明确标注“这是日志不是用户请求”。否则模型可能把日志当成用户问题来回答。另外摘要每次请求都重新生成不要依赖历史会话保存。你可以在每次用户更新日志后调用一次summarize_log把结果缓存起来。4.3 用外部数据体重、配速、睡眠校准Coach输出提示词能解决问题但一个合格的私人教练还得看数据。ChatGPT本身没有你的体重和睡眠数据你需要把外部数据源接到提示词里。def coach_request(log_entries, user_ask): metrics extract_metrics(log_entries) # 提取最近体重、配速、睡眠趋势 data_block 体重趋势{}5km配速{}平均睡眠{}h.format( metrics.get(weight_trend), metrics.get(pace), metrics.get(avg_sleep) ) return [ {role: system, content: full_system}, {role: system, content: f数据校准{data_block}}, {role: user, content: user_ask} ]这里的核心是“数据校准”三个字。如果你只把数据放进去模型不一定会用它在前面加“数据校准”这个标签模型会把数据当作决策依据。比如用户问“下周怎么练”模型就会先看体重下降速度和睡眠趋势再决定训练强度。这是AI Agent区别于普通聊天的关键。还有一个必须处理的坑数据缺失时模型会编造数值。如果你只传了体重没有传睡眠模型可能会默认睡眠8小时。我通常在数据校准提示词里加一句“缺失的指标请写明‘数据不足’不要猜测”。这样至少不会让教练在错误数据上做决定。我习惯把外部数据的采集频率设为每天一次。体重和睡眠来自智能手环配速来自跑步App统一入库。数据量不大不用专门做特征工程重点是让每条指令都能用到最近一周的数据。这样“私人教练”才不是听了两句描述就开始给方案的江湖郎中。5. 让私人教练不翻车的避坑指南5个常见问题与排查方法提示词工程到了一定程度你会发现问题都出在“意料之外”。我整理了5个最常见的坑按现象、原因、解决来写方便你对照排查。5.1 现象教练回复泛泛而谈不针对我用户问“我想减肥”ChatGPT回复“建议控制饮食、规律运动、保证睡眠”。原因通常是目标描述里没有数值。解决方法是把目标改成“3个月减脂5kg每周运动3次每次45分钟”这样的可量化输入。另外要在System Prompt里写“禁止给出与用户目标无关的通用建议”。这一步比反复修改提示词更有效。排查顺序也很重要先看目标段有没有数字再看约束段有没有身体信息最后看temperature是否过高。我遇到过一个案例目标已经写得很细但回复还是泛泛而谈。结果发现是用户在用户消息里写了“随便聊聊”一下把教练语境拉回聊天模式。解决方式是调整用户消息模板统一为“请基于我的目标和约束给出建议”。5.2 现象同样的问题两次回答完全不同这说明temperature设置过高。训练计划类指令的temperature在0.4以下反馈类指令在0.5到0.7只有心理对话类才允许0.8。如果model支持的temperature范围是0到2注意0.8已经很高了。还有一个反直觉的点max_tokens越大模型越容易在长回答后面跑偏。控制max_tokens到刚好容纳结构输出能减少漂移。排查时可以先固定temperature把同样的请求连发三次看“推荐动作”是否指向同一类训练。如果三次都是“推类动作”但具体动作不同问题不大如果一次是力量一次是有氧那就是上下文里缺少决策变量。遇到这种情况不要把温度降低到0.1那样会牺牲所有回答的多样性。正确做法是往提示词里补充更多可测量条件例如“我今天状态一般RPE想控制在7以下”。5.3 现象训练计划过于激进容易导致受伤风险原因是提示词里缺少“伤病约束”和“强度安全边界”。解决方法是把“禁止安排膝盖负重超过体重的动作”“若RPE超过8则下一周减量”写进System Prompt。这里要注意模型没有医学知识它只会遵循你设定的边界。你可以把“RPE超过8就减量”这条规则量化比“注意安全”有效得多。还要把“旧伤”写进约束。比如左膝髌骨疼痛模型会主动避开跳跃和深蹲不写的话它可能推荐你明天就去跑5公里。排查时如果计划里出现了你明确不能做的动作检查constraint字典里的injury字段是否被正确传到了System Prompt。常见错误是只写了字符串“膝盖不好”没有具体说哪侧、什么动作会痛。换成“左膝屈膝超过90度会痛”这种描述过滤效果会精准很多。5.4 现象ChatGPT记不住昨天的对话这几乎是必踩的坑。原因是不懂上下文管理。解决方法是把训练日志和数据摘要放进每次请求的system消息而不是依赖多轮历史。我见过的最好的做法是每次请求只带最近7天摘要同时把更早的数据归档。这样既保存“记忆”又不撑爆上下文窗口。注意摘要必须包含数值趋势不能只说“最近状态良好”。具体实现上你可以在自己的代码里维护一个训练日志表每次请求前调用summarize_log生成摘要。摘要的生成时机是用户提交日志之后而不是每次对话前。如果你在用户还没更新日志时就重新生成摘要得到的会是一份不变的旧数据等于白做。排查时如果模型一直在说“我们没有历史数据”先检查摘要变量有没有被正确嵌入到messages列表中。5.5 现象提示词很长但效果反而变差这是把提示词写成“说明书”的通病。原因是大模型对过长指令的注意力会分散尤其是中间部分字符容易被忽略。解决方法是把System Prompt控制在600字以内把动态数据日志、目标、约束拆成独立消息。如果必须使用长提示词就把最关键的指令放在开头和结尾中间只放数据。一个有效的精简策略是“能放入数据的不写成指令”。例如“我希望你参考我的睡眠时间睡眠低于6小时就降低训练强度”这句话是指令太长不如直接把“平均睡眠6.2h”放进数据校准段模型自己会判断。排查时可以打印出每次请求的完整messages统计System Prompt字符数。超过1000字就得考虑拆分。拆完之后你会发现输出质量的提升比任何微调都直观。6. 一个进阶技巧用“自我一致性”验证提示词是否顶级6.1 同一指令跑三遍对比输出一致性判断一条提示词是不是“顶级”不是看它写得是否文采斐然而是看同样的输入下输出是否保持结构一致。具体做法把temperature设成0.6同一段指令连跑三遍然后对比三条输出的“推荐动作”是否指向同一类训练。如果不是说明提示词里还缺少足够的约束条件。这时不要急着改temperature先补充上下文数据例如“我昨天练了腿今天的RPE是7”把更多变量变成已知条件。跑三遍时我还习惯检查输出里的“下一步”是否有优先级。顶级教练指令生成的“下一步”应该是唯一的、有时间约束的动作如果三条回答分别给“拉伸”“按摩”“休息”说明提示词里的目标还不够清晰。此时退回第2章检查目标段有没有明确写“当前阶段以提高关节活动度为主”。提示词的作用是让模型在你的目标树上做选择而不是让它放飞自我。6.2 用交叉提问反向检验教练逻辑另一个方法是让模型扮演用户来反问自己。你可以在一次对话中先让模型以教练身份给出建议然后把system消息切换成“你是用户请指出教练建议中的漏洞”让它挑出可能忽视的约束。这两步的输出放在一起看能暴露提示词中没写清楚的风险点。我常用的验证流程是指令输入 → 记录三条回复 → 切换用户视角提问 → 对比修正提示词。整个过程三分钟就能跑一遍比我以前靠肉眼判断靠谱得多。这个习惯帮我解决了大量实际问题。现在我拿到任何一份“XX个顶级Prompts”文档第一件事不是收藏而是把里面的指令跑三遍看它能不能在温度和参数波动下保持同样的决策边界。希望这个思路对你也有些帮助。本文还有配套的精品资源点击获取
返回列表