5分钟搞懂误码率:从比特到帧的错误放大效应(附实用计算工具)

核心内容摘要

KKManager:开源Mod管理工具的高效管理实战指南
降AI工具对不同格式文件的支持:Word/PDF/LaTeX哪个好

FLUX.小红书极致真实V2应用场景:电商种草图、博主封面、社交配图生成

《提示工程不是玄学架构师带你拆解它在新兴技术里的实战奥秘》备选标题《提示工程架构师亲授新兴技术中的prompt设计“底层逻辑”》《从Agent到AIGC提示工程在AI新兴技术里的正确打开方式》《别再乱试prompt看提示工程如何赋能大模型、多模态等新技术》《提示工程实战手册拆解它在10个新兴技术场景中的应用》引言你真的懂提示工程吗上周和一个AI产品经理聊天他吐槽“我写的prompt要么输出不对要么模型‘答非所问’——比如让它‘生成旅游计划’它直接列了景点完全不管天气让它‘画一只猫’出来的是‘外星猫’……”你是不是也有类似的困惑提示工程不是“猜谜语”也不是“堆砌关键词”——它是“与AI的沟通艺术”核心是「用模型能理解的方式传递你真正的需求」。

更关键的是提示工程已经成为AI新兴技术的“枢纽”——大模型Agent需要它规划任务AIGC需要它生成高质量内容多模态AI需要它连接文本与图像甚至代码生成也需要它精准控制输出。

本文不是“prompt模板合集”而是从架构师视角拆解提示工程在新兴技术中的“应用逻辑”你会明白“为什么有些prompt有效有些无效”掌握在大模型Agent、AIGC、多模态等场景下的prompt设计思路学会用“结构化思维”写prompt告别“碰运气”式尝试。

读完本文你能从“只会用ChatGPT聊天”进阶到“用提示工程驱动AI完成复杂任务”。

准备工作你需要这些基础

知识储备了解大模型基本常识比如ChatGPT是生成式模型基于统计预测下一个词用过至少一款大模型工具ChatGPT、Claude、文心一言均可懂Python基础能读简单的代码本文示例用Python。

环境与工具安装Python

8推荐

10安装依赖库pip install openai langchain python-dotenv pillow申请OpenAI API密钥用于调用大模型免费额度足够测试准备一张测试图片比如猫、狗的照片用于多模态示例。

核心内容提示工程在新兴技术中的实战拆解在讲具体应用前先补一节提示工程基础课——这是后续所有场景的“地基”。

前置提示工程的4个核心原则提示工程的本质是「给模型足够的“线索”让它生成符合预期的输出」。

不管什么场景都要遵守这4个原则原则解释反例 vs 正例清晰具体避免模糊词汇明确“需求边界”反例“写个短文”正例“写一篇500字的温馨故事主角是一只橘猫讲它和主人的第一次相遇”结构化用列表、分点、格式要求降低模型“理解成本”反例“帮我做旅游计划”正例“

查北京未来3天天气

根据天气安排每天活动

输出格式day1-活动时间

注意事项”对齐能力不要让模型做它不擅长的事比如让ChatGPT生成图像不如用DALL·E反例“用ChatGPT画一只猫”正例“用DALL·E生成‘橘猫在沙发上打盹’的图片风格是水彩画”反馈迭代根据输出调整prompt比如模型输出太长就加“限制在300字以内”反例“写个旅游计划”→输出太长正例“写个3天旅游计划每段不超过50字”

场景1大模型Agent——让AI学会“自主做事”什么是大模型AgentAgent是「能自主完成复杂任务的AI系统」——比如“帮我订机票查酒店做旅游计划”它会像人一样规划先做什么→执行调用工具查天气→反思计划符合天气吗→调整雨天换室内活动。

提示工程的作用引导Agent的“思考逻辑”Agent的核心是「用prompt定义“任务流程”」——你要告诉它做什么用什么工具怎么检查结果实战写一个“旅游计划Agent”我们用LangChain大模型开发框架实现一个Agent功能是查天气→生成旅游计划→检查合理性。

步骤1定义工具模拟先写两个“工具函数”——模拟查天气和生成计划#

模拟查天气工具defget_weather(city:str)-str:查询指定城市未来3天天气returnf{city}未来3天天气Day1晴

℃、Day2多云

℃、Day3小雨

℃#

模拟生成旅游计划工具defgenerate_tour_plan(city:str,weather:str)-str:根据天气生成3天旅游计划planf[{city}3天计划]\nplanfDay1晴故宫天坛穿舒服的鞋\nplanfDay2多云颐和园圆明园带防晒\nplanfDay3小雨国家博物馆南锣鼓巷带伞\nreturnplan步骤2设计Agent的Prompt关键是把“任务流程”写进prompt让Agent知道“先做什么再做什么”fromlangchain.promptsimportPromptTemplate# Agent的核心Promptagent_promptPromptTemplate(input_variables[input,agent_scratchpad,tools],template你是专业的旅游计划助手请严格按以下步骤工作

首先用【WeatherTool】查询用户指定城市的未来3天天气必填步骤

把天气结果传入【TourPlanTool】生成旅游计划

检查计划是否符合天气比如雨天不能安排户外活动不符合就调整

最终输出先写天气再写计划格式清晰。

可用工具{tools} 工具说明要认真看 你之前的思考过程{agent_scratchpad} 用户需求{input} 现在开始执行任务先想“第一步该调用什么工具”)步骤3初始化Agent并测试用LangChain的initialize_agent把工具和prompt结合fromlangchain.agentsimportinitialize_agent,Toolfromlangchain.llmsimportOpenAIimportosfromdotenvimportload_dotenv# 加载API密钥提前把密钥写在.env文件里OPENAI_API_KEY你的密钥load_dotenv()llmOpenAI(temperature

1,openai_api_keyos.getenv(OPENAI_API_KEY))# 把工具包装成LangChain的Tool对象tools[Tool(nameWeatherTool,funcget_weather,description查询城市未来3天天气输入参数city城市名),Tool(nameTourPlanTool,funclambdacity,weather:generate_tour_plan(city,weather),description生成旅游计划输入参数city城市名、weather天气信息)]# 初始化Agentagentinitialize_agent(tools,llm,agentzero-shot-react-description,# 用“零样本”方式让Agent理解工具verboseTrue,# 打印思考过程方便调试promptagent_prompt)# 测试让Agent做北京的旅游计划resultagent.run(帮我做北京的3天旅游计划)print(最终结果\n,result)运行效果Verbose模式下的思考过程 Entering new AgentExecutor chain... 我需要先查北京的天气所以调用WeatherTool参数是city北京。

Action: WeatherTool Action Input: 北京 调用WeatherTool返回北京未来3天天气Day1晴

℃、Day2多云

℃、Day3小雨

℃ 现在有了天气接下来调用TourPlanTool参数是city北京weather北京未来3天天气Day1晴

℃、Day2多云

℃、Day3小雨

℃ Action: TourPlanTool Action Input: 北京, 北京未来3天天气Day1晴

℃、Day2多云

℃、Day3小雨

℃ 调用TourPlanTool返回[北京3天计划]...略 检查计划Day3是小雨安排了国家博物馆室内和南锣鼓巷带伞符合天气。

不需要调整。

最终输出 北京未来3天天气Day1晴

℃、Day2多云

℃、Day3小雨

℃ [北京3天计划] Day1晴故宫天坛穿舒服的鞋 Day2多云颐和园圆明园带防晒 Day3小雨国家博物馆南锣鼓巷带伞 Exiting chain.关键

总结Agent的prompt要“管3件事”任务流程先查天气→再做计划→再检查工具约束明确工具的用途和参数比如WeatherTool需要city结果要求输出格式、检查规则比如雨天不安排户外。

场景2AIGC——让AI生成“符合预期的内容”AIGC生成式AI是当前最火的新兴技术之一比如用Stable Diffusion生成图像、用GPT-4生成文本。

而提示工程是AIGC的“内容开关”——你写的prompt直接决定输出质量。

1 图像生成用“结构化prompt”控制风格以DALL·E 3为例高质量图像prompt的结构是「主体属性环境风格细节」。

要素解释例子主体你要生成的核心对象比如“猫”“女孩”“一只橘猫”属性主体的特征颜色、动作、穿着“胖嘟嘟的、正趴在沙发上打盹”环境主体所在的场景比如“客厅”“赛博朋克街头”“阳光透过窗户洒进来的客厅”风格图像的艺术风格比如“水彩画”“赛博朋克”“电影感”“莫兰迪色系的水彩画风格”细节让图像更真实的小元素比如“猫的胡须清晰”“沙发上有针织毯”“猫的爪子搭在一个毛线球上沙发上有条纹针织毯”反例vs正例对比反例“生成一只猫的图片”→输出可能是“普通猫”正例“生成一只胖嘟嘟的橘猫正趴在阳光洒进来的客厅沙发上打盹莫兰迪色系水彩画风格猫的胡须清晰沙发上有条纹针织毯背景模糊突出主体”→输出是“有温度的艺术画”。

代码示例用DALL·E 3生成图像fromopenaiimportOpenAIimportosfromdotenvimportload_dotenv load_dotenv()clientOpenAI(api_keyos.getenv(OPENAI_API_KEY))defgenerate_image(prompt:str)-str:用DALL·E 3生成图像返回图片URLresponseclient.images.generate(modeldall-e-3,promptprompt,size1024x1024,qualitystandard,n1,)returnresponse.data[0].url# 测试正例promptgood_prompt一只胖嘟嘟的橘猫正趴在阳光洒进来的客厅沙发上打盹莫兰迪色系水彩画风格猫的胡须清晰沙发上有条纹针织毯背景模糊突出主体image_urlgenerate_image(good_prompt)print(生成的图像URL,image_url)

2 文本生成用“指令约束”控制输出比如让GPT-4生成“武侠小说片段”prompt要包含类型场景人物风格约束。

示例prompt请写一段武侠小说片段要求

类型传统武侠不是玄幻

场景江南水乡的深夜雨巷里

人物主角是穿青衫的少年叫“叶轻尘”反派是戴面具的黑衣人

风格像金庸的文字——简洁有力有画面感

约束片段结尾要留悬念比如黑衣人扔出一个令牌上面刻着“青龙门”。

输出结果节选雨丝像细针扎在青衫上。

叶轻尘握着剑剑鞘上的铜铃在雨里晃出细碎的响。

巷口的红灯笼突然灭了。

“叶少侠拿命来。

”黑衣人从屋檐上跃下面具上的青铜纹在黑暗里泛着冷光。

剑刃相交的脆响里叶轻尘的青衫被划破一道口子——黑衣人手里的刀比雨还快。

就在黑衣人要刺中他胸口时叶轻尘突然旋身剑鞘砸在黑衣人手腕上。

刀“当啷”落地。

黑衣人踉跄后退从怀里摸出个令牌扔在地上。

令牌滚到叶轻尘脚边上面刻着两个鎏金大字青龙门。

“你是青龙门的人”叶轻尘弯腰去捡令牌身后突然传来风声——一柄短刀正对着他的后心刺来。

关键

总结AIGC的prompt要“给够细节”不要让模型“猜”比如写“武侠小说”不如写“传统武侠像金庸的风格”用“约束”避免跑偏比如“不是玄幻”“结尾留悬念”多加“视觉化描述”比如“江南水乡的深夜雨巷里”比“一个巷子”更有画面感。

场景3多模态AI——让AI“看懂图听懂话”多模态AI比如GPT-4V、LLaVA能处理文本图像语音等多种信息而提示工程的作用是「连接不同模态的信息」——比如让AI“看一张猫的图片然后生成儿歌”。

实战用GPT-4V做“图片→儿歌”任务我们需要写一个**“文本指令图像”**的prompt明确两个任务描述图片生成儿歌。

代码示例importbase64fromopenaiimportOpenAIimportosfromdotenvimportload_dotenv load_dotenv()clientOpenAI(api_keyos.getenv(OPENAI_API_KEY))defmulti_modal_prompt(image_path:str,text_instruction:str)-str: 多模态prompt输入图片文本指令返回模型输出 :param image_path: 图片本地路径 :param text_instruction: 文本指令 #

读取图片并转成base64GPT-4V需要withopen(image_path,rb)asimage_file:image_base64base

b64encode(image_file.read()).decode(utf-

#

调用GPT-4V APIresponseclient.chat.completions.create(modelgpt-4-vision-preview,messages[{role:user,content:[{type:text,text:text_instruction},{type:image_url,image_url:{url:fdata:image/jpeg;base64,{image_base64}}}]}],max_tokens300# 限制输出长度)returnresponse.choices[0].message.content# 测试用一张“橘猫趴在沙发上”的图片生成儿歌text_instruction请做两件事

描述这张图片的内容要具体比如猫的颜色、动作、环境

根据内容生成一首儿歌要求适合

岁小孩每句5个字押韵易唱。

image_pathorange_cat.jpg# 替换成你的图片路径resultmulti_modal_prompt(image_path,text_instruction)print(result)输出结果图片描述一只橘色的胖猫正趴在浅灰色的沙发上打盹身上的毛蓬松柔软眼睛闭得紧紧的前爪搭在一个粉色的毛线球上。

沙发旁边有一扇窗户阳光透过白色的窗帘洒进来落在猫的背上形成一片暖金色的光斑。

儿歌橘猫胖嘟嘟沙发当小床阳光抱它睡毛线球当糖。

呼噜呼噜响梦到小鱼汤关键

总结多模态prompt要“明确任务边界”把“多任务”拆成“单步骤”比如先描述图片再生成儿歌给每个任务加“约束”比如儿歌要“每句5个字押韵”图像部分要“清晰”用base64或高清URL避免模糊。

场景4代码生成——让AI写“能直接运行的代码”代码生成是开发者最常用的AI场景之一比如GitHub Copilot、CodeLlama而提示工程的核心是“让AI理解你的“代码需求细节”。

实战用GPT-4生成“处理CSV缺失值的Python函数”我们需要写一个**“功能输入输出逻辑细节”**的prompt。

示例prompt请写一个Python函数满足以下要求

功能处理CSV文件中的缺失值和异常值

输入CSV文件的本地路径str类型

输出处理后的pandas DataFrame返回值并打印“缺失值数量”和“异常值数量”

处理逻辑 a. 用pandas读取CSV文件 b. 数值型列缺失值用“均值”填充异常值用“中位数”替换异常值定义超过均值±3σ c. Categorical列非数值缺失值用“众数”填充

注意要处理可能的编码问题比如用encodingutf-8并且注释清晰。

生成的代码可直接运行importpandasaspdimportnumpyasnpdefprocess_csv_missing_values(csv_path:str)-pd.DataFrame: 处理CSV文件中的缺失值和异常值 :param csv_path: CSV文件本地路径 :return: 处理后的DataFrame #

读取CSV文件处理编码问题try:dfpd.read_csv(csv_path,encodingutf-

exceptUnicodeDecodeError:dfpd.read_csv(csv_path,encodinggbk)#

分离数值型列和Categorical列numeric_colsdf.select_dtypes(include[np.number]).columns categorical_colsdf.select_dtypes(exclude[np.number]).columns#

处理数值型列缺失值→均值异常值→中位数missing_numericdf[numeric_cols].isnull().sum().sum()# 数值型缺失值总数forcolinnumeric_cols:# 填充缺失值mean_valdf[col].mean()df[col].fillna(mean_val,inplaceTrue)# 处理异常值3σ原则std_valdf[col].std()upper_boundmean_val3*std_val lower_boundmean_val-3*std_val outliers(df[col]upper_bound)|(df[col]lower_bound)median_valdf[col].median()df[col].loc[outliers]median_val#

处理Categorical列缺失值→众数missing_categoricaldf[categorical_cols].isnull().sum().sum()# Categorical缺失值总数forcolincategorical_cols:mode_valdf[col].mode()[0]# 取第一个众数df[col].fillna(mode_val,inplaceTrue)#

打印统计信息total_missingmissing_numericmissing_categorical total_outliers(outliers.sum()).sum()ifoutliersinlocals()else0print(f总缺失值数量{total_missing})print(f总异常值数量{total_outliers})returndf# 测试替换成你的CSV路径df_processedprocess_csv_missing_values(data.csv)print(df_processed.head())关键

总结代码生成的prompt要“精准到细节”功能要具体不要写“处理CSV”要写“处理缺失值和异常值”输入输出要明确比如输入是“CSV路径”输出是“DataFrame”逻辑细节要全比如“数值型用均值填充”“异常值用3σ原则”注释要要求让生成的代码可读性高。

进阶探讨提示工程的“未来方向”

自动化提示工程用AI优化prompt你可以用LLM本身来优化prompt比如请帮我优化这个prompt“写一个处理CSV缺失值的Python函数”模型会返回更具体的prompt请写一个Python函数接收CSV文件路径返回处理后的DataFrame。

要求

用pandas读取

数值型列缺失值用均值填充异常值3σ用中位数替换

Categorical列缺失值用众数填充

打印缺失值和异常值数量。

提示工程与微调的区别维度提示工程微调目标教AI“怎么做事”比如“如何生成旅游计划”让AI“学会做事”比如“学会写武侠小说”灵活性灵活适合临时/多变任务固定适合长期/固定风格任务成本低不需要训练数据高需要大量训练数据耗算力适用场景每天生成不同的旅游计划生成特定风格的文本比如武侠小说

提示工程的“天花板”提示工程不是“万能的”——当任务需要**“模型记住特定知识”**比如你的公司内部文档时微调或RAG检索增强生成更有效。

比如如果你需要AI回答“公司的休假政策”可以用RAG把政策文档存入向量数据库让AI检索后回答如果你需要AI生成“符合公司品牌 tone 的文案”可以用微调用公司的文案训练模型。

总结提示工程的“底层逻辑”读到这里你应该明白提示工程不是“写prompt的技巧”而是“理解AI的思维方式匹配场景需求”的能力。

回顾本文的核心要点原则清晰、具体、结构化、反馈迭代场景应用大模型Agent用prompt引导任务流程AIGC用结构化prompt控制内容质量多模态AI用prompt连接不同模态代码生成用细节prompt控制代码逻辑关键思路先懂场景需求→再懂模型能力→最后设计prompt。

行动号召现在就去“练手”提示工程是“练出来的”——现在就选一个场景试一下用本文的Agent思路做一个“查股票生成投资建议”的Agent用AIGC的结构化prompt生成一张“赛博朋克风格的上海外滩”图片用代码生成的prompt让AI写一个“爬取知乎回答的Python函数”。

如果遇到问题欢迎在评论区留言——比如“我的prompt生成的图像总是模糊”“Agent不会调用工具”我会一一解答最后送你一句话“最好的prompt永远是‘用模型的语言讲你的需求’”。

开始你的提示工程实战吧

jmcomic3v2.0.9.-jmcomic3v2.0.9.最新版N.26.17.10-2265安卓网应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123