全网最细提示词工程教程小白友好版大家好我是一名大二计算机专业的学生目前正在深耕AI相关技术这段时间踩了无数坑终于把提示词工程Prompt Engineering摸透了。作为小白我一开始手里握着GPT-4、文心一言这些顶级大模型却只会干巴巴问“帮我写个Python代码”“帮我解释个概念”结果AI输出的东西要么驴唇不对马嘴要么没法直接用浪费了大量时间后来又跟风背各种“高级提示词模板”却不知道底层逻辑换个场景就废了。经过半个多月的实战、踩坑、复盘我终于搞明白提示词工程根本不是玄学也不用死记硬背是有固定方法论、能落地、能复制的技术。今天这篇文章我以一个计算机专业小白的视角把自己踩过的坑、总结的实战经验全掏出来从0到1讲透提示词工程附可直接复制运行的代码案例不管你是大二、大三的同学还是刚入门AI的新手跟着学就能把AI的利用率从10%提到90%少走我走过的弯路。全文纯实战、无废话、无复杂概念所有代码均亲测可运行小白放心冲一、先搞懂提示词工程到底是个啥小白必看别被“工程”两个字唬住说白了就是用精准的语言告诉AI“你要做什么、怎么做、输出什么格式”让AI的输出100%符合你的预期而不是让AI猜你的想法。举个我刚开始踩的坑❌ 我当初写的提示词“帮我写个Python排序代码”结果AI输出的代码没有注释、没有处理边界情况甚至用的是我没学过的语法根本没法直接用还要自己改半天。✅ 后来我改的提示词“用Python写一个快速排序函数要求1. 包含详细中文注释适合新手理解2. 处理空列表、重复值这两种边界情况 3. 输出可直接运行的测试用例 4. 只返回代码不输出多余解释”结果AI输出的代码直接能用注释清晰测试用例也写好了省了我大量时间。这就是提示词工程的核心结构化、明确化、可验证把你想让AI做的事拆解得越细AI越能get到你的需求。二、提示词工程的核心原则记死这5条避开80%的坑这5条原则是我踩了无数坑总结出来的新手不用记复杂的模板先把这5条吃透就能写出高质量提示词。1. 角色设定先给AI“贴标签”让AI知道自己的身份输出会更精准尤其是技术类需求。比如“你是一位擅长Python基础教学的老师讲解通俗易懂代码注释详细适合计算机专业新手”“你是一位严谨的测试工程师擅长找出Python代码中的边界漏洞给出修改建议”踩坑提醒不要不给AI设角色默认角色输出的内容太笼统不适合新手直接用。2. 任务描述越具体越好别模糊拒绝“帮我写个脚本”“帮我解释个概念”这种模糊的描述要把需求拆解得越细越好。比如❌ 模糊提示词“帮我写个读取Excel的脚本”✅ 具体提示词“帮我写一个读取Excel文件xlsx格式的Python脚本要求1. 只读取‘姓名’‘手机号’两列 2. 过滤掉手机号为空、手机号长度不是11位的数据 3. 将过滤后的数据输出到新的Excel文件文件名设为‘筛选后数据.xlsx’ 4. 只用Python内置模块不使用第三方库如pandas”3. 输出格式强制AI按你的要求来指定输出格式能直接省去后续整理的时间尤其是代码、数据类需求。比如代码要求“函数详细注释可运行测试用例”文本要求“分点说明每点不超过50字”“JSON格式”“Markdown表格”数据要求“键值对形式字段名id、name、priceprice保留2位小数”4. 约束条件提前堵死AI的“偷懒空间”新手容易忽略这一点导致AI输出的内容不符合预期比如“代码必须兼容Python3.8及以上版本”“禁止使用第三方库仅用Python内置模块新手还没学第三方库”“回答字数不超过200字只讲核心逻辑不用多余铺垫”5. 示例引导少样本学习Few-shot如果需求比较复杂比如分类、格式转换光靠文字描述AI容易理解错这时候给1-2个示例AI能瞬间get到你的意图。后面有具体代码案例一看就会三、实战从基础到进阶的代码案例可直接复制运行说明以下案例基于OpenAI API国内的同学可以替换为文心一言、通义千问API核心逻辑完全一致替换代码里的调用方式即可。前置准备环境搭建小白也能搞定步骤详细跟着来1. 安装依赖打开cmdWindows或终端Mac/Linux输入以下命令一键安装依赖pipinstallopenai python-dotenv# openai库调用大模型 环境变量管理存API Key2. 配置API Key新建一个文本文件重命名为“.env”注意前面有个点打开后写入你的API Key保存即可OPENAI_API_KEY你的api_key_here # 替换成你自己的API Key补充OpenAI的API Key需要注册账号获取需科学上网国内的同学可以用文心一言、通义千问直接在官网获取API Key替换代码里的调用逻辑即可后面会简单说明替换方法。案例1基础版——让AI生成规范的Python代码小白入门必练需求生成一个“计算文件夹下所有文件大小并按大小排序”的Python脚本要求规范、有详细注释适合新手理解、有测试用例、处理边界情况文件夹不存在、无访问权限。完整代码可直接复制运行importosfromdotenvimportload_dotenvfromopenaiimportOpenAI# 加载环境变量读取.env文件里的API Keyload_dotenv()# 初始化OpenAI客户端clientOpenAI()# 核心编写高质量提示词按前面讲的5条原则来写defget_code_prompt():prompt 你是一位擅长Python基础教学的老师讲解通俗易懂代码注释详细适合计算机专业新手。 请完成以下任务 1. 编写一个Python函数功能是遍历指定文件夹包含子文件夹计算每个文件的大小单位MB 2. 将结果按文件大小从大到小排序返回列表格式每个元素包含文件路径、文件大小MB保留2位小数 3. 处理边界情况文件夹不存在、无访问权限、空文件分别给出提示信息 4. 具体要求 - 函数名calculate_file_sizes - 参数folder_path字符串传入文件夹路径 - 包含详细的中文注释每个步骤都要注释方便新手理解 - 输出可直接运行的测试代码测试当前目录下的文件 5. 输出格式要求 - 先输出函数代码 - 再输出测试代码 - 只输出代码不输出任何多余解释比如不要说“以下是代码”之类的话 returnprompt# 调用OpenAI API生成代码defgenerate_code(prompt):try:responseclient.chat.completions.create(modelgpt-3.5-turbo,# 新手用这个性价比高免费额度足够用messages[{role:user,content:prompt}# 传入提示词],temperature0.1,# 0-1之间越小越精准越大越有创造性技术类需求设0.1-0.3即可max_tokens1000# 生成内容的最大长度1000足够用)# 返回AI生成的内容returnresponse.choices[0].message.contentexceptExceptionase:# 捕获异常方便新手排查问题returnf代码生成出错{str(e)}# 主函数执行代码生成if__name____main__:# 获取提示词promptget_code_prompt()# 生成代码codegenerate_code(prompt)# 打印生成的代码print(生成的可直接运行代码)print(-*50)print(code)运行结果示例亲测可用# 生成的函数代码importosdefcalculate_file_sizes(folder_path): 遍历指定文件夹包含子文件夹计算每个文件的大小并按大小降序排序 适合计算机专业新手注释详细处理常见边界情况 :param folder_path: 字符串传入需要遍历的文件夹路径 :return: 列表按文件大小降序排列每个元素为[文件路径, 文件大小(MB)] # 用于存储文件路径和对应大小的列表file_sizes[]# 边界情况1检查文件夹是否存在ifnotos.path.exists(folder_path):print(f错误文件夹{folder_path}不存在请检查路径是否正确)returnfile_sizes# 遍历文件夹包含子文件夹forroot,dirs,filesinos.walk(folder_path):forfileinfiles:# 拼接完整的文件路径file_pathos.path.join(root,file)try:# 获取文件大小单位字节转换为MB1MB 1024*1024字节保留2位小数file_sizeos.path.getsize(file_path)/(1024*1024)file_sizes.append([file_path,round(file_size,2)])exceptPermissionError:# 边界情况2无访问权限给出提示跳过该文件print(f警告无访问权限跳过文件{file_path})exceptExceptionase:# 其他异常情况给出提示print(f警告处理文件{file_path}时出错{str(e)})# 按文件大小降序排序lambda x: x[1] 表示按列表第二个元素排序reverseTrue表示降序file_sizes.sort(keylambdax:x[1],reverseTrue)returnfile_sizes# 测试代码可直接运行测试当前目录下的文件if__name____main__:# 测试当前目录./ 表示当前目录新手不用改test_folder./# 调用函数获取结果resultcalculate_file_sizes(test_folder)# 打印结果print(文件大小排序结果从大到小)forfile_path,sizeinresult:print(f{file_path}-{size}MB)关键解释小白必看temperature0.1技术类需求写代码、查bug一定要设为低数值0.1-0.3保证AI输出的代码精准、规范不会天马行空如果是创意类需求比如写文案可以设为0.7-0.9。提示词里明确了“角色Python基础老师、任务文件大小计算、边界情况文件夹不存在、无权限、输出格式只输出代码”所以AI的输出直接可用不用二次修改。国内同学替换API如果用文心一言只需把“OpenAI”相关代码替换为文心一言的调用逻辑提示词不变比如# 文心一言替换示例需先安装依赖pip install baidu-aipfromaipimportAipNlp clientAipNlp(appId,apiKey,secretKey)# 替换为你的文心一言appId、apiKey、secretKey# 后续调用逻辑稍作修改提示词完全不变案例2进阶版——结构化输出JSON格式方便程序处理很多时候我们需要AI输出的数据能直接被程序解析比如做项目、写作业这时候强制AI输出JSON格式就很重要这也是我踩过的一个坑之前没指定格式AI输出的文本没法直接解析。需求让AI分析一段用户评论提取“情感倾向、核心诉求、建议解决方案”并以JSON格式输出方便后续Python程序解析处理。完整代码可直接复制运行importosimportjson# 用于解析JSON格式fromdotenvimportload_dotenvfromopenaiimportOpenAI# 加载环境变量初始化客户端load_dotenv()clientOpenAI()# 待分析的用户评论可以替换成任意评论比如APP反馈、商品评价user_comment 这个APP太卡了打开要等30秒而且支付功能经常闪退我昨天付款的时候卡了5分钟最后还扣款失败了。 希望你们能优化一下性能修复支付的bug不然真的没法用了。 # 进阶提示词强制JSON输出避免格式错乱defget_analysis_prompt(comment):promptf 你是一位专业的用户体验分析师擅长分析用户评论并提取核心信息输出精准、简洁。 请分析以下用户评论{comment}具体要求 1. 情感倾向只能是“负面”“正面”“中性”中的一个不能有其他表述 2. 核心诉求提取用户最核心的2-3个问题每个诉求不超过20字用列表形式呈现 3. 建议解决方案针对每个核心诉求给出具体、可落地的解决方案用列表形式呈现 4. 输出格式严格按照以下JSON格式输出不要添加任何多余内容包括解释、空格、换行否则会导致解析失败 {{ sentiment: 情感倾向, core_demands: [诉求1, 诉求2], solutions: [方案1, 方案2] }} returnprompt# 调用API并解析JSON关键处理格式错误避免程序崩溃defanalyze_comment(prompt):try:responseclient.chat.completions.create(modelgpt-3.5-turbo,messages[{role:user,content:prompt}],temperature0.0,# 结构化输出JSON/表格必须设为0保证格式绝对正确)# 提取AI输出的内容并解析为JSON格式resultresponse.choices[0].message.contentreturnjson.loads(result)# 解析JSON返回字典exceptjson.JSONDecodeError:# 踩坑提醒如果AI输出格式错误会触发这个异常返回错误提示return{error:AI输出格式不符合要求请检查提示词中的格式约束}exceptExceptionase:return{error:f分析失败{str(e)}}# 主函数执行评论分析if__name____main__:promptget_analysis_prompt(user_comment)analysis_resultanalyze_comment(prompt)# 打印分析结果格式化输出更易读print(用户评论分析结果JSON格式)print(json.dumps(analysis_result,ensure_asciiFalse,indent2))运行结果亲测可用{sentiment:负面,core_demands:[APP打开卡顿启动速度慢,支付功能闪退扣款失败],solutions:[优化APP启动流程压缩资源包提升启动速度,修复支付模块BUG增加支付异常兜底和退款机制]}关键解释小白必看temperature0.0结构化输出JSON、表格必须设为0避免AI乱加多余内容比如换行、解释导致JSON解析失败这是我之前踩过的大坑一定要注意。提示词里直接给出了JSON模板明确了每个字段的要求AI不会偏离格式解析起来更顺畅。加入了异常捕获JSONDecodeError防止AI输出格式错误导致程序崩溃新手也能轻松排查问题。案例3高手版——少样本学习Few-shot复杂需求必用如果需求比较复杂比如“给用户问题分类”光靠文字描述规则AI容易理解错这时候给1-2个示例AI能瞬间get到你的意图这也是提示词工程的“杀手锏”。需求让AI识别用户问题的类型分为“账号问题、功能问题、支付问题、其他问题”四类直接输出分类结果方便后续做智能客服相关作业/项目。完整代码可直接复制运行importosfromdotenvimportload_dotenvfromopenaiimportOpenAI# 加载环境变量初始化客户端load_dotenv()clientOpenAI()# 少样本提示词给示例让AI学习比纯文字描述规则更有效defget_few_shot_prompt(user_question):promptf 你是一位智能客服分类师需要将用户问题分为以下4个类别严格按照类别名称输出不能自创类别 - 账号问题登录、注册、密码找回、账号封禁、账号绑定相关问题 - 功能问题APP/软件功能使用、功能故障、功能建议相关问题 - 支付问题充值、扣款、退款、支付失败、提现相关问题 - 其他问题不属于以上三类的所有问题 示例一定要参考示例的分类逻辑 1. 用户问题我的密码忘了怎么找回 → 分类账号问题 2. 用户问题APP的搜索功能用不了一直加载失败 → 分类功能问题 3. 用户问题昨天充值的钱没到账怎么回事 → 分类支付问题 4. 用户问题你们的客服电话是多少 → 分类其他问题 请分析以下用户问题只输出分类结果比如“账号问题”不要输出任何多余内容否则会影响程序解析 用户问题{user_question}returnprompt# 测试不同的用户问题验证效果deftest_few_shot():# 准备3个测试问题覆盖不同类别test_questions[我的账号被封了能解封吗,提现的时候提示系统错误怎么办,你们的软件支持Windows11系统吗]# 遍历测试问题逐个分类forquestionintest_questions:promptget_few_shot_prompt(question)responseclient.chat.completions.create(modelgpt-3.5-turbo,messages[{role:user,content:prompt}],temperature0.0# 分类需求设为0保证精准)# 打印结果print(f用户问题{question})print(f分类结果{response.choices[0].message.content})print(-*30)# 分隔线更易读# 主函数执行测试if__name____main__:test_few_shot()运行结果亲测可用用户问题我的账号被封了能解封吗 分类结果账号问题 ------------------------------ 用户问题提现的时候提示系统错误怎么办 分类结果支付问题 ------------------------------ 用户问题你们的软件支持Windows11系统吗 分类结果其他问题关键解释小白必看少样本学习的核心不用写复杂的规则描述给1-5个示例覆盖核心场景AI就能模仿示例的逻辑进行分类比纯文字描述更高效、更精准。示例数量不用多1-5个足够新手不用准备太多示例重点是示例要贴合你的需求。提示词里明确“只输出分类结果”避免AI输出多余内容方便后续程序处理比如做智能客服的自动分流。四、小白避坑指南我踩过的5个致命错误必看这5个错误是我刚开始学习提示词工程时反复踩的坑浪费了很多时间大家一定要避开1. 提示词太简短需求模糊❌ 错误做法只说“帮我写代码”“帮我分析评论”不说需求、约束、格式。✅ 正确做法按“角色任务格式约束”四要素写提示词越具体越好。2. 不设角色AI输出质量低❌ 错误做法不给AI贴标签默认AI是“通用助手”输出的内容太笼统不适合技术类需求。✅ 正确做法给AI设明确的角色比如“Python基础老师”“测试工程师”输出会更精准。3. 结构化输出不控温❌ 错误做法让AI输出JSON/表格时temperature设为0.5以上导致AI乱加内容格式错乱解析失败。✅ 正确做法结构化输出JSON、表格temperature必须设为0保证格式绝对正确。4. 忽略边界条件❌ 错误做法让AI写代码时不提“文件夹不存在”“无访问权限”“空数据”等边界情况生成的代码全是坑运行就报错。✅ 正确做法在提示词里明确写出需要处理的边界条件AI生成的代码才能直接用。5. 追求“炫技”死记硬背模板❌ 错误做法一开始就背各种复杂的提示词模板却不知道底层逻辑换个场景就不会用。✅ 正确做法先吃透“角色任务格式约束”四要素再结合自己的需求调整模板只是参考不用死记硬背。五、小白专属提示词模板直接套用不用动脑我总结了一个万能模板不管是写代码、分析文本、分类还是做其他需求按这个模板写就能避开80%的坑直接套用即可你是一位【角色】擅长【技能】输出内容【风格比如“通俗易懂、注释详细”“精准简洁”】。 请完成以下任务【详细描述需求越具体越好拆分成1、2、3点】 约束条件【列出所有限制比如“Python3.8兼容”“不使用第三方库”“输出不超过200字”】 输出格式【明确输出格式比如“函数注释测试用例”“JSON格式”“只输出分类结果”】 可选复杂需求用示例【1-2个示例帮助AI理解】六、总结小白必看作为一名大二计算机专业的学生我想说提示词工程真的不难不用怕自己是小白也不用怕踩坑只要掌握核心逻辑多实战、多调整就能快速上手。最后再强调3个核心点记牢就能少走弯路提示词工程的核心不是“背模板”而是“把需求说清楚”结构化、明确化是关键新手入门先掌握“角色任务格式约束”四要素再进阶学习少样本、思维链等技巧所有技巧最终要落地到代码里控制temperature、强制输出格式是保证AI输出可用的关键。我也是从踩坑过来的知道小白学习AI技术的迷茫希望这篇文章能帮助到更多和我一样的计算机专业学生、AI新手少走弯路快速掌握提示词工程真正用好AI这个工具。如果大家有具体的场景想做提示词优化比如写作业、做小项目可以在评论区留需求我会尽力帮大家解答一起进步✨ 最后麻烦大家点赞收藏后续我会持续更新AI新手实战教程感谢支持
全网最细提示词工程教程(小白友好版)|附可直接运行代码,大二计算机生踩坑总结
发布时间:2026/7/15 5:49:31
全网最细提示词工程教程小白友好版大家好我是一名大二计算机专业的学生目前正在深耕AI相关技术这段时间踩了无数坑终于把提示词工程Prompt Engineering摸透了。作为小白我一开始手里握着GPT-4、文心一言这些顶级大模型却只会干巴巴问“帮我写个Python代码”“帮我解释个概念”结果AI输出的东西要么驴唇不对马嘴要么没法直接用浪费了大量时间后来又跟风背各种“高级提示词模板”却不知道底层逻辑换个场景就废了。经过半个多月的实战、踩坑、复盘我终于搞明白提示词工程根本不是玄学也不用死记硬背是有固定方法论、能落地、能复制的技术。今天这篇文章我以一个计算机专业小白的视角把自己踩过的坑、总结的实战经验全掏出来从0到1讲透提示词工程附可直接复制运行的代码案例不管你是大二、大三的同学还是刚入门AI的新手跟着学就能把AI的利用率从10%提到90%少走我走过的弯路。全文纯实战、无废话、无复杂概念所有代码均亲测可运行小白放心冲一、先搞懂提示词工程到底是个啥小白必看别被“工程”两个字唬住说白了就是用精准的语言告诉AI“你要做什么、怎么做、输出什么格式”让AI的输出100%符合你的预期而不是让AI猜你的想法。举个我刚开始踩的坑❌ 我当初写的提示词“帮我写个Python排序代码”结果AI输出的代码没有注释、没有处理边界情况甚至用的是我没学过的语法根本没法直接用还要自己改半天。✅ 后来我改的提示词“用Python写一个快速排序函数要求1. 包含详细中文注释适合新手理解2. 处理空列表、重复值这两种边界情况 3. 输出可直接运行的测试用例 4. 只返回代码不输出多余解释”结果AI输出的代码直接能用注释清晰测试用例也写好了省了我大量时间。这就是提示词工程的核心结构化、明确化、可验证把你想让AI做的事拆解得越细AI越能get到你的需求。二、提示词工程的核心原则记死这5条避开80%的坑这5条原则是我踩了无数坑总结出来的新手不用记复杂的模板先把这5条吃透就能写出高质量提示词。1. 角色设定先给AI“贴标签”让AI知道自己的身份输出会更精准尤其是技术类需求。比如“你是一位擅长Python基础教学的老师讲解通俗易懂代码注释详细适合计算机专业新手”“你是一位严谨的测试工程师擅长找出Python代码中的边界漏洞给出修改建议”踩坑提醒不要不给AI设角色默认角色输出的内容太笼统不适合新手直接用。2. 任务描述越具体越好别模糊拒绝“帮我写个脚本”“帮我解释个概念”这种模糊的描述要把需求拆解得越细越好。比如❌ 模糊提示词“帮我写个读取Excel的脚本”✅ 具体提示词“帮我写一个读取Excel文件xlsx格式的Python脚本要求1. 只读取‘姓名’‘手机号’两列 2. 过滤掉手机号为空、手机号长度不是11位的数据 3. 将过滤后的数据输出到新的Excel文件文件名设为‘筛选后数据.xlsx’ 4. 只用Python内置模块不使用第三方库如pandas”3. 输出格式强制AI按你的要求来指定输出格式能直接省去后续整理的时间尤其是代码、数据类需求。比如代码要求“函数详细注释可运行测试用例”文本要求“分点说明每点不超过50字”“JSON格式”“Markdown表格”数据要求“键值对形式字段名id、name、priceprice保留2位小数”4. 约束条件提前堵死AI的“偷懒空间”新手容易忽略这一点导致AI输出的内容不符合预期比如“代码必须兼容Python3.8及以上版本”“禁止使用第三方库仅用Python内置模块新手还没学第三方库”“回答字数不超过200字只讲核心逻辑不用多余铺垫”5. 示例引导少样本学习Few-shot如果需求比较复杂比如分类、格式转换光靠文字描述AI容易理解错这时候给1-2个示例AI能瞬间get到你的意图。后面有具体代码案例一看就会三、实战从基础到进阶的代码案例可直接复制运行说明以下案例基于OpenAI API国内的同学可以替换为文心一言、通义千问API核心逻辑完全一致替换代码里的调用方式即可。前置准备环境搭建小白也能搞定步骤详细跟着来1. 安装依赖打开cmdWindows或终端Mac/Linux输入以下命令一键安装依赖pipinstallopenai python-dotenv# openai库调用大模型 环境变量管理存API Key2. 配置API Key新建一个文本文件重命名为“.env”注意前面有个点打开后写入你的API Key保存即可OPENAI_API_KEY你的api_key_here # 替换成你自己的API Key补充OpenAI的API Key需要注册账号获取需科学上网国内的同学可以用文心一言、通义千问直接在官网获取API Key替换代码里的调用逻辑即可后面会简单说明替换方法。案例1基础版——让AI生成规范的Python代码小白入门必练需求生成一个“计算文件夹下所有文件大小并按大小排序”的Python脚本要求规范、有详细注释适合新手理解、有测试用例、处理边界情况文件夹不存在、无访问权限。完整代码可直接复制运行importosfromdotenvimportload_dotenvfromopenaiimportOpenAI# 加载环境变量读取.env文件里的API Keyload_dotenv()# 初始化OpenAI客户端clientOpenAI()# 核心编写高质量提示词按前面讲的5条原则来写defget_code_prompt():prompt 你是一位擅长Python基础教学的老师讲解通俗易懂代码注释详细适合计算机专业新手。 请完成以下任务 1. 编写一个Python函数功能是遍历指定文件夹包含子文件夹计算每个文件的大小单位MB 2. 将结果按文件大小从大到小排序返回列表格式每个元素包含文件路径、文件大小MB保留2位小数 3. 处理边界情况文件夹不存在、无访问权限、空文件分别给出提示信息 4. 具体要求 - 函数名calculate_file_sizes - 参数folder_path字符串传入文件夹路径 - 包含详细的中文注释每个步骤都要注释方便新手理解 - 输出可直接运行的测试代码测试当前目录下的文件 5. 输出格式要求 - 先输出函数代码 - 再输出测试代码 - 只输出代码不输出任何多余解释比如不要说“以下是代码”之类的话 returnprompt# 调用OpenAI API生成代码defgenerate_code(prompt):try:responseclient.chat.completions.create(modelgpt-3.5-turbo,# 新手用这个性价比高免费额度足够用messages[{role:user,content:prompt}# 传入提示词],temperature0.1,# 0-1之间越小越精准越大越有创造性技术类需求设0.1-0.3即可max_tokens1000# 生成内容的最大长度1000足够用)# 返回AI生成的内容returnresponse.choices[0].message.contentexceptExceptionase:# 捕获异常方便新手排查问题returnf代码生成出错{str(e)}# 主函数执行代码生成if__name____main__:# 获取提示词promptget_code_prompt()# 生成代码codegenerate_code(prompt)# 打印生成的代码print(生成的可直接运行代码)print(-*50)print(code)运行结果示例亲测可用# 生成的函数代码importosdefcalculate_file_sizes(folder_path): 遍历指定文件夹包含子文件夹计算每个文件的大小并按大小降序排序 适合计算机专业新手注释详细处理常见边界情况 :param folder_path: 字符串传入需要遍历的文件夹路径 :return: 列表按文件大小降序排列每个元素为[文件路径, 文件大小(MB)] # 用于存储文件路径和对应大小的列表file_sizes[]# 边界情况1检查文件夹是否存在ifnotos.path.exists(folder_path):print(f错误文件夹{folder_path}不存在请检查路径是否正确)returnfile_sizes# 遍历文件夹包含子文件夹forroot,dirs,filesinos.walk(folder_path):forfileinfiles:# 拼接完整的文件路径file_pathos.path.join(root,file)try:# 获取文件大小单位字节转换为MB1MB 1024*1024字节保留2位小数file_sizeos.path.getsize(file_path)/(1024*1024)file_sizes.append([file_path,round(file_size,2)])exceptPermissionError:# 边界情况2无访问权限给出提示跳过该文件print(f警告无访问权限跳过文件{file_path})exceptExceptionase:# 其他异常情况给出提示print(f警告处理文件{file_path}时出错{str(e)})# 按文件大小降序排序lambda x: x[1] 表示按列表第二个元素排序reverseTrue表示降序file_sizes.sort(keylambdax:x[1],reverseTrue)returnfile_sizes# 测试代码可直接运行测试当前目录下的文件if__name____main__:# 测试当前目录./ 表示当前目录新手不用改test_folder./# 调用函数获取结果resultcalculate_file_sizes(test_folder)# 打印结果print(文件大小排序结果从大到小)forfile_path,sizeinresult:print(f{file_path}-{size}MB)关键解释小白必看temperature0.1技术类需求写代码、查bug一定要设为低数值0.1-0.3保证AI输出的代码精准、规范不会天马行空如果是创意类需求比如写文案可以设为0.7-0.9。提示词里明确了“角色Python基础老师、任务文件大小计算、边界情况文件夹不存在、无权限、输出格式只输出代码”所以AI的输出直接可用不用二次修改。国内同学替换API如果用文心一言只需把“OpenAI”相关代码替换为文心一言的调用逻辑提示词不变比如# 文心一言替换示例需先安装依赖pip install baidu-aipfromaipimportAipNlp clientAipNlp(appId,apiKey,secretKey)# 替换为你的文心一言appId、apiKey、secretKey# 后续调用逻辑稍作修改提示词完全不变案例2进阶版——结构化输出JSON格式方便程序处理很多时候我们需要AI输出的数据能直接被程序解析比如做项目、写作业这时候强制AI输出JSON格式就很重要这也是我踩过的一个坑之前没指定格式AI输出的文本没法直接解析。需求让AI分析一段用户评论提取“情感倾向、核心诉求、建议解决方案”并以JSON格式输出方便后续Python程序解析处理。完整代码可直接复制运行importosimportjson# 用于解析JSON格式fromdotenvimportload_dotenvfromopenaiimportOpenAI# 加载环境变量初始化客户端load_dotenv()clientOpenAI()# 待分析的用户评论可以替换成任意评论比如APP反馈、商品评价user_comment 这个APP太卡了打开要等30秒而且支付功能经常闪退我昨天付款的时候卡了5分钟最后还扣款失败了。 希望你们能优化一下性能修复支付的bug不然真的没法用了。 # 进阶提示词强制JSON输出避免格式错乱defget_analysis_prompt(comment):promptf 你是一位专业的用户体验分析师擅长分析用户评论并提取核心信息输出精准、简洁。 请分析以下用户评论{comment}具体要求 1. 情感倾向只能是“负面”“正面”“中性”中的一个不能有其他表述 2. 核心诉求提取用户最核心的2-3个问题每个诉求不超过20字用列表形式呈现 3. 建议解决方案针对每个核心诉求给出具体、可落地的解决方案用列表形式呈现 4. 输出格式严格按照以下JSON格式输出不要添加任何多余内容包括解释、空格、换行否则会导致解析失败 {{ sentiment: 情感倾向, core_demands: [诉求1, 诉求2], solutions: [方案1, 方案2] }} returnprompt# 调用API并解析JSON关键处理格式错误避免程序崩溃defanalyze_comment(prompt):try:responseclient.chat.completions.create(modelgpt-3.5-turbo,messages[{role:user,content:prompt}],temperature0.0,# 结构化输出JSON/表格必须设为0保证格式绝对正确)# 提取AI输出的内容并解析为JSON格式resultresponse.choices[0].message.contentreturnjson.loads(result)# 解析JSON返回字典exceptjson.JSONDecodeError:# 踩坑提醒如果AI输出格式错误会触发这个异常返回错误提示return{error:AI输出格式不符合要求请检查提示词中的格式约束}exceptExceptionase:return{error:f分析失败{str(e)}}# 主函数执行评论分析if__name____main__:promptget_analysis_prompt(user_comment)analysis_resultanalyze_comment(prompt)# 打印分析结果格式化输出更易读print(用户评论分析结果JSON格式)print(json.dumps(analysis_result,ensure_asciiFalse,indent2))运行结果亲测可用{sentiment:负面,core_demands:[APP打开卡顿启动速度慢,支付功能闪退扣款失败],solutions:[优化APP启动流程压缩资源包提升启动速度,修复支付模块BUG增加支付异常兜底和退款机制]}关键解释小白必看temperature0.0结构化输出JSON、表格必须设为0避免AI乱加多余内容比如换行、解释导致JSON解析失败这是我之前踩过的大坑一定要注意。提示词里直接给出了JSON模板明确了每个字段的要求AI不会偏离格式解析起来更顺畅。加入了异常捕获JSONDecodeError防止AI输出格式错误导致程序崩溃新手也能轻松排查问题。案例3高手版——少样本学习Few-shot复杂需求必用如果需求比较复杂比如“给用户问题分类”光靠文字描述规则AI容易理解错这时候给1-2个示例AI能瞬间get到你的意图这也是提示词工程的“杀手锏”。需求让AI识别用户问题的类型分为“账号问题、功能问题、支付问题、其他问题”四类直接输出分类结果方便后续做智能客服相关作业/项目。完整代码可直接复制运行importosfromdotenvimportload_dotenvfromopenaiimportOpenAI# 加载环境变量初始化客户端load_dotenv()clientOpenAI()# 少样本提示词给示例让AI学习比纯文字描述规则更有效defget_few_shot_prompt(user_question):promptf 你是一位智能客服分类师需要将用户问题分为以下4个类别严格按照类别名称输出不能自创类别 - 账号问题登录、注册、密码找回、账号封禁、账号绑定相关问题 - 功能问题APP/软件功能使用、功能故障、功能建议相关问题 - 支付问题充值、扣款、退款、支付失败、提现相关问题 - 其他问题不属于以上三类的所有问题 示例一定要参考示例的分类逻辑 1. 用户问题我的密码忘了怎么找回 → 分类账号问题 2. 用户问题APP的搜索功能用不了一直加载失败 → 分类功能问题 3. 用户问题昨天充值的钱没到账怎么回事 → 分类支付问题 4. 用户问题你们的客服电话是多少 → 分类其他问题 请分析以下用户问题只输出分类结果比如“账号问题”不要输出任何多余内容否则会影响程序解析 用户问题{user_question}returnprompt# 测试不同的用户问题验证效果deftest_few_shot():# 准备3个测试问题覆盖不同类别test_questions[我的账号被封了能解封吗,提现的时候提示系统错误怎么办,你们的软件支持Windows11系统吗]# 遍历测试问题逐个分类forquestionintest_questions:promptget_few_shot_prompt(question)responseclient.chat.completions.create(modelgpt-3.5-turbo,messages[{role:user,content:prompt}],temperature0.0# 分类需求设为0保证精准)# 打印结果print(f用户问题{question})print(f分类结果{response.choices[0].message.content})print(-*30)# 分隔线更易读# 主函数执行测试if__name____main__:test_few_shot()运行结果亲测可用用户问题我的账号被封了能解封吗 分类结果账号问题 ------------------------------ 用户问题提现的时候提示系统错误怎么办 分类结果支付问题 ------------------------------ 用户问题你们的软件支持Windows11系统吗 分类结果其他问题关键解释小白必看少样本学习的核心不用写复杂的规则描述给1-5个示例覆盖核心场景AI就能模仿示例的逻辑进行分类比纯文字描述更高效、更精准。示例数量不用多1-5个足够新手不用准备太多示例重点是示例要贴合你的需求。提示词里明确“只输出分类结果”避免AI输出多余内容方便后续程序处理比如做智能客服的自动分流。四、小白避坑指南我踩过的5个致命错误必看这5个错误是我刚开始学习提示词工程时反复踩的坑浪费了很多时间大家一定要避开1. 提示词太简短需求模糊❌ 错误做法只说“帮我写代码”“帮我分析评论”不说需求、约束、格式。✅ 正确做法按“角色任务格式约束”四要素写提示词越具体越好。2. 不设角色AI输出质量低❌ 错误做法不给AI贴标签默认AI是“通用助手”输出的内容太笼统不适合技术类需求。✅ 正确做法给AI设明确的角色比如“Python基础老师”“测试工程师”输出会更精准。3. 结构化输出不控温❌ 错误做法让AI输出JSON/表格时temperature设为0.5以上导致AI乱加内容格式错乱解析失败。✅ 正确做法结构化输出JSON、表格temperature必须设为0保证格式绝对正确。4. 忽略边界条件❌ 错误做法让AI写代码时不提“文件夹不存在”“无访问权限”“空数据”等边界情况生成的代码全是坑运行就报错。✅ 正确做法在提示词里明确写出需要处理的边界条件AI生成的代码才能直接用。5. 追求“炫技”死记硬背模板❌ 错误做法一开始就背各种复杂的提示词模板却不知道底层逻辑换个场景就不会用。✅ 正确做法先吃透“角色任务格式约束”四要素再结合自己的需求调整模板只是参考不用死记硬背。五、小白专属提示词模板直接套用不用动脑我总结了一个万能模板不管是写代码、分析文本、分类还是做其他需求按这个模板写就能避开80%的坑直接套用即可你是一位【角色】擅长【技能】输出内容【风格比如“通俗易懂、注释详细”“精准简洁”】。 请完成以下任务【详细描述需求越具体越好拆分成1、2、3点】 约束条件【列出所有限制比如“Python3.8兼容”“不使用第三方库”“输出不超过200字”】 输出格式【明确输出格式比如“函数注释测试用例”“JSON格式”“只输出分类结果”】 可选复杂需求用示例【1-2个示例帮助AI理解】六、总结小白必看作为一名大二计算机专业的学生我想说提示词工程真的不难不用怕自己是小白也不用怕踩坑只要掌握核心逻辑多实战、多调整就能快速上手。最后再强调3个核心点记牢就能少走弯路提示词工程的核心不是“背模板”而是“把需求说清楚”结构化、明确化是关键新手入门先掌握“角色任务格式约束”四要素再进阶学习少样本、思维链等技巧所有技巧最终要落地到代码里控制temperature、强制输出格式是保证AI输出可用的关键。我也是从踩坑过来的知道小白学习AI技术的迷茫希望这篇文章能帮助到更多和我一样的计算机专业学生、AI新手少走弯路快速掌握提示词工程真正用好AI这个工具。如果大家有具体的场景想做提示词优化比如写作业、做小项目可以在评论区留需求我会尽力帮大家解答一起进步✨ 最后麻烦大家点赞收藏后续我会持续更新AI新手实战教程感谢支持