当前位置: 首页 > article >正文

提示词工程:这样跟AI说话,它才听你的!

哈提示词是什么简单来说提示词Prompt就是你向人工智能比如我发出的指令或问题。它是你用来描述“希望AI干什么”的那段文字。AI会根据你提供的提示词来生成相应的回答或内容。用一个比喻来理解把AI想象成一个什么都知道、什么都会做但必须听指令的实习生。提示词就是你给这个实习生下达的工作任务。如果你只说“干活吧”他会很迷茫不知道做什么。如果你说“帮我写一封邮件”他可能写出来但很笼统。如果你说“帮我写一封给客户的邮件主题是项目延期语气要诚恳并给出新的预计完成时间”他就能更好地完成任务。所以提示词的质量直接决定了AI回答的质量。“这个AI根本不好用给出的回答都是泛泛而谈”“为什么同一个问题别人能获得高质量答案而我只能得到平庸的结果”如果你曾有过这样的困惑问题可能不在于AI的能力而在于你与它对话的方式。今天我们就来揭开提示词工程的神秘面纱掌握与AI高效沟通的秘诀。为什么需要学习提示词工程想象一下你向一位助手交代任务“帮我写个PPT”和“帮我写一篇主题是春季健身注意事项的PPT风格轻松有趣面向20-35岁的上班族”——哪个指令能得到更符合预期的结果AI也是如此。提示词Prompt就是你与AI沟通的指令质量直接决定回答的质量。核心四步法让AI听懂你的话1. 明确角色你是谁在提问前先为AI设定一个专业角色。普通提问“告诉我如何学习英语”角色设定提问“假设你是一位有10年教学经验的英语教授为一名有一定基础但缺乏系统性的中文母语者设计一个6个月的英语提升计划”看角色设定让AI的回答更具专业性和针对性。2. 定义任务你要什么清晰、具体地描述你的需求避免模糊表述。模糊任务“帮我写销售文案”明确任务“为一款智能手环撰写朋友圈广告文案突出其心率监测和睡眠分析功能目标用户是关注健康的年轻人字数在150字以内”3. 补充细节在什么情况下提供背景信息、约束条件和具体要求。缺乏细节“总结这篇文章”丰富细节“用三个 bullet points 总结这篇关于人工智能的文章每点不超过20字面向完全不懂技术的小白读者”4. 指定输出要什么形式明确告诉AI你期望的回答格式。不指定格式“给我一些项目创意”指定格式“列出5个Python初学者可以在一周内完成的小项目创意每个包括项目名称、难度等级1-5星、所需技能和预期收获”接下来上实战import requests import json import time import pandas as pd # 全局配置 # 请根据你的聚合平台信息修改以下配置 BASE_URL https://api.gptbox.net/v1 # 替换为你的平台地址 API_KEY sk-xxxxx # 替换为你的API密钥 MODEL_NAME gpt-4-turbo # 指定要测试的模型名称 # def test_prompts(prompts, max_tokens500, temperature0.7): 测试不同提示词在指定模型上的效果 参数: prompts: 提示词列表 max_tokens: 最大生成长度 temperature: 温度参数 headers { Content-Type: application/json, Authorization: fBearer {API_KEY} } results [] print(f开始测试 {len(prompts)} 个提示词在模型 {MODEL_NAME} 上的效果) print( * 60) for i, prompt in enumerate(prompts, 1): print(f\n测试 {i}/{len(prompts)}: {prompt}) print(- * 40) payload { model: MODEL_NAME, messages: [{role: user, content: prompt}], max_tokens: max_tokens, temperature: temperature } try: start_time time.time() response requests.post( f{BASE_URL}/chat/completions, headersheaders, jsonpayload, timeout60 ) response_time time.time() - start_time if response.status_code 200: result response.json() content result[choices][0][message][content] usage result.get(usage, {}) print(f生成结果: {content[:200]}...) print(f响应时间: {response_time:.2f}秒) print(fToken使用: {usage.get(total_tokens, N/A)}) results.append({ 提示词: prompt, 生成内容: content, 响应时间(秒): response_time, 总token数: usage.get(total_tokens, 0), 提示token数: usage.get(prompt_tokens, 0), 生成token数: usage.get(completion_tokens, 0) }) else: print(f请求失败: HTTP {response.status_code} - {response.text}) results.append({ 提示词: prompt, 生成内容: f错误: HTTP {response.status_code}, 响应时间(秒): response_time, 总token数: 0, 提示token数: 0, 生成token数: 0 }) except Exception as e: print(f请求异常: {str(e)}) results.append({ 提示词: prompt, 生成内容: f异常: {str(e)}, 响应时间(秒): 0, 总token数: 0, 提示token数: 0, 生成token数: 0 }) # 添加延迟避免API限制 time.sleep(1) return results def save_results(results, filenameNone): 保存结果到文件 if filename is None: timestamp time.strftime(%Y%m%d-%H%M%S) filename fprompt_test_{MODEL_NAME}_{timestamp}.xlsx df pd.DataFrame(results) df.to_excel(filename, indexFalse) print(f\n结果已保存到: {filename}) return filename def main(): 主函数 # 检查配置 if BASE_URL https://your-aggregator-platform.com/api/v1 or API_KEY your-api-key-here: print(请先修改代码开头的全局配置 (BASE_URL 和 API_KEY)) return # 定义要测试的提示词 prompts [ # 基础提示词 写一篇关于人工智能的文章, # 具体指令 请以科普作者的身份用通俗易懂的语言写一篇关于人工智能发展现状的文章, # 角色扮演 假设你是一位科技杂志主编为普通读者撰写一篇关于人工智能的专题报道, # 结构化要求 写一篇关于人工智能的文章要求 1. 开头引人入胜 2. 主题对比分析传统编程与人工智能编程的异同点 3. 中间分析三个主要应用领域 4. 结尾给出未来展望 , ] # 执行测试 results test_prompts(prompts) # 保存结果 filename save_results(results) # 简单总结 print(\n * 60) print(测试总结:) print( * 60) success_count sum(1 for r in results if not r[生成内容].startswith((错误:, 异常:))) avg_time sum(r[响应时间(秒)] for r in results) / len(results) avg_tokens sum(r[总token数] for r in results) / len(results) print(f测试提示词数量: {len(prompts)}) print(f成功生成数量: {success_count}) print(f平均响应时间: {avg_time:.2f}秒) print(f平均Token使用: {avg_tokens:.0f}) # 显示每个提示词的生成内容长度 print(\n各提示词生成内容长度:) for i, result in enumerate(results, 1): status ✓ if not result[生成内容].startswith((错误:, 异常:)) else ✗ print(f{i}. {status} 长度:{len(result[生成内容]):4d} - {result[提示词]}...) if __name__ __main__: main()输出结果同样是让AI写文章但四个提示词得到的结果截然不同第一个泛泛而谈的科普文第二个生动有趣的科普文第三个专业深度的报道第四个结构清晰的专题分析结论只要需求提得好AI没有啥干不了进阶技巧成为提示词魔法师技巧1分步思考对于复杂问题让AI一步步推理“首先分析这个问题的主要难点然后提出解决思路最后给出具体方案”技巧2示例引导提供输入输出示例“参照这个格式输入‘会议安排’输出‘您好请提供会议时间、参与人员和主题我将为您安排’”技巧3反向验证“如果我想要相反的结果你会怎么做”这有助于检验AI理解的深度。常见陷阱与避免方法假设AI有背景知识总是提供必要的上下文一次性要求太多复杂任务拆分成多个步骤使用模糊词汇用“300字左右”代替“短一点”忽略迭代优化第一次不满意继续细化你的提示词结语提示词工程不是一朝一夕就能精通的魔法而是一项可通过练习不断提升的技能。每次与AI对话都是锻炼这一能力的机会。记住优质的输入决定优质的输出。掌握了与AI高效沟通的艺术你就拥有了驾驭智能时代的超级能力。现在就尝试用今天学到的方法去命令AI为你创造些惊喜吧是不是很简单创作不易码字更不易如果觉得这篇文章对你有帮助记得点个关注、在看或收藏给作者一点鼓励吧~

相关文章:

提示词工程:这样跟AI说话,它才听你的!

哈,提示词是什么?简单来说,提示词(Prompt) 就是你向人工智能(比如我)发出的指令或问题。它是你用来描述“希望AI干什么”的那段文字。AI会根据你提供的提示词,来生成相应的回答或内容…...

微电网二次控制:下垂控制与基于数据采样二次控制的奇妙融合

微电网二次控制,下垂控制,基于数据采样的二次控制,补偿了下垂控制的偏差,实现了有功均分,效果好在微电网的运行控制领域,下垂控制和基于数据采样的二次控制是两个关键的技术点,它们相互配合&…...

无人零售/五金厂必看!边缘设备Java+YOLOv11推理稳定性全攻略:崩溃率从15%降到0.1%,断点续检1秒恢复

今年帮深圳南山的无人零售创业公司和东莞长安的五金厂同时做了边缘设备Java+YOLOv11推理的稳定性升级——无人零售那边是100个瑞芯微RK3588货架盘点设备,之前的崩溃率15%/天,每天要重启3-5次,数据丢失10%+,断点续检难,每次重启要重新盘点所有10个货架(10分钟),效率低,…...

STM32串口双机模拟汽车电量里程项目:Protues仿真与源码解析

STM32单片机开发的串口双机模拟汽车电量里程项目,两个STM32单片机进行数据交互,模拟主控与驱动传感器发送数据,可以手动调节数据,并显示屏显示出来。 包括程序源码和protues仿真8.12版本。 程序源码注释详细。 非常适合开发人员&a…...

基于Matlab的螺丝轮廓识别:数字图像处理流程

基于matlab的螺丝轮廓识别,matlab数字图像处理。 对输入图像进行灰度化,滤波,平滑操作然后进行阈值化,分割成二值图像,之后对图像进行图像的形态学操作,最终使用边缘检测算法提取边缘,最终获得十…...

SpringBoot3实战集成mzt-biz-log,一行代码搞定业务日志记录

作为后端开发者,业务日志是线上问题排查、操作追溯和审计留痕的核心抓手。手写业务日志不仅重复代码量大,还容易出现记录不规范、关键信息漏记错记的问题,排查线上问题时往往效率极低。最近我在SpringBoot3项目中接入了mzt-biz-log这款轻量业…...

搞嵌入式开发的小伙伴应该都遇到过PID调参这个头疼的问题吧?今天咱们直接上干货,聊聊怎么在STM32上玩转PID自整定和温度控制。先扔个核心代码片段镇楼

基于STM32开发的PID自整定和PID温控和PWM输出程序源码,采用反馈法进行PID参数自动整定,得出系统临界值比例增益,自动计算调节,使系统进入正常状态。 程序源码注释详细typedef struct {float Kp;float Ki;float Kd;float integral_…...

智能指针相关

零、预备知识 右值: 表示不可寻址的临时数据值。 根据C11标准,右值分为纯右值(如字面量、表达式结果)和将亡值(即将销毁的对象)。 右值具有不可修改、无持久内存地址的特性 右值引用&&、移动语义…...

当立体车库遇上PLC仿真

西门子1200PLC立体车库 33立体车库 博图触摸屏仿真 不需要实物 自带人机界面,动画,可以仿真 还有接线图原理图 现在拥有自动出入仓库的功能 IO表已列出最近捣鼓了个挺有意思的项目——基于西门子1200PLC的33立体车库仿真。不用焊线接电机,纯…...

HTML基础教程(一)

目录 一、HTML基本概念 二、基础HTML (Tag) 三、Html常用格式 一、HTML基本概念 什么是HTML文件? HTML的英文全称是Hypertext Marked Language,中文叫做“超文本标记语言”。和一般文本的不同的是,一个HTML文件不…...

AI基石 | 对齐技术:从 RLHF 到 DPO —— 赋予大模型“三观”的终极进化

AI基石 | 对齐技术:从 RLHF 到 DPO —— 赋予大模型“三观”的终极进化 前言 如果 SFT(监督微调)后的模型是一个“懂事”的练习生,那么对齐后的模型就是一个“老练”的专家。 练习生虽然知道问答的格式,但依然存在两个…...

俄罗斯RT-2PM2“白杨-M“(Topol-M)洲际弹道导弹系统完整技术报告

Comprehensive Technical Report on Russias RT-2PM2 Topol-M Intercontinental Ballistic Missile System 报告日期:2026年3月11日 保密级别:公开来源情报(OSINT) 摘要(Executive Summary) RT-2PM2"…...

Java线程池面试题50道(含答案解析)

在Java后端开发面试中,线程池(ThreadPool) 是并发编程的重要考点之一。 在高并发系统中,合理使用线程池可以 提高系统性能、减少线程创建开销、避免资源耗尽。 很多互联网公司在面试Java工程师时都会重点考察: 线程池原…...

Clawdbot 杀红眼了,几天怒斩 80k+ Star!你真正的 AI 数字员工来了!!(附保姆级安装使用教程)

最近一款 AI 开源工具 Clawdbot 杀疯了,人送外号:大龙虾,短短几天时间,GitHub 上 Star 数量暴涨到 80k,因为名称与 Claude 相似,还被 Anthropic 公司警告被迫改名:Moltbot。 Moltbot 的核心是它…...

Python3.9环境配置太麻烦?试试这个Miniconda镜像,一键部署

Python3.9环境配置太麻烦?试试这个Miniconda镜像,一键部署 还在为配置Python开发环境而头疼吗?从源码编译安装,要解决一堆依赖问题;手动下载安装包,又担心版本冲突和路径混乱。特别是当你需要Python 3.9这…...

从原理到代码:深度解析Halcon中segment_contours_xld的Ramer算法实现

从原理到代码:深度解析Halcon中segment_contours_xld的Ramer算法实现 在机器视觉的工程实践中,我们常常需要将相机捕捉到的、由像素点构成的连续轮廓,转化为更高级、更易于理解和处理的几何基元,比如直线、圆弧或椭圆弧。这个过程…...

Keil5 vs Keil6:如何选择?附带Keil5中STM32开发环境搭建全攻略(含FreeRTOS移植准备)

Keil MDK 进化论:从经典到现代,如何为你的STM32项目选择最佳开发环境 作为一名在嵌入式领域摸爬滚打了多年的开发者,我至今还记得第一次打开Keil MDK时那种既兴奋又茫然的心情。那个经典的蓝色界面,几乎成了ARM Cortex-M开发的代名…...

第三期:基于立创·梁山派开发板的游戏机扩展板训练营全记录

第三期:基于立创梁山派开发板的游戏机扩展板训练营全记录 大家好,我是老张,一个在嵌入式行业摸爬滚打了十几年的工程师。最近,我作为导师完整地跟进了立创EDA举办的“梁山派游戏机扩展板训练营”第三期。看到很多朋友对如何从零开…...

OAuth2.0中state参数的深度应用:业务数据的安全传输与防CSRF实践

1. 不只是防CSRF:重新认识OAuth2.0的state参数 很多刚开始接触OAuth2.0的开发者,一看到state参数,第一反应就是“哦,防CSRF的”。这个理解没错,但只对了一半。在实际项目中,尤其是在需要深度集成的场景里&a…...

Ubuntu20.04下拯救者笔记本亮度调节失效?NVIDIA驱动加载顺序问题全解析

Ubuntu 20.04 下拯救者笔记本亮度调节失效?NVIDIA 驱动加载顺序问题全解析 最近在联想拯救者系列笔记本上安装 Ubuntu 20.04 的朋友,可能都遇到过同一个令人头疼的问题:屏幕亮度过高,刺眼得让人无法工作,而无论是系统设…...

SAR动目标检测系列:【5】多基线联合处理下的三维速度解耦

1. 从二维到三维:为什么我们需要多基线联合处理? 在上一篇文章里,我们聊透了如何利用单天线或者双天线SAR系统,去估计动目标的二维速度(也就是方位向和距离向的速度)。这就像你用手机拍一个移动的物体&…...

Flink实战:如何用KeyedProcessFunction实现温度异常检测(附完整代码)

从零构建实时温度异常检测系统:深入Flink KeyedProcessFunction核心实战 最近在帮一个做智慧农业的朋友处理温室大棚的监控数据,他们部署了上百个温湿度传感器,数据像潮水一样涌来。最头疼的不是数据量大,而是如何从这些实时流里快…...

KITTI 3D 数据可视化:从点云到鸟瞰图的实战解析

1. 从零开始:理解KITTI数据集与3D点云 大家好,我是老张,在自动驾驶这个行当里摸爬滚打了十来年,跟激光雷达和相机数据打了无数次交道。今天,我想跟你聊聊一个非常基础但又极其重要的技能:如何把KITTI数据集…...

内存马二:Filter

Filter内存马 源码学习 首先写一个普通的Filter了解一下重点数据的传递过程,断点到内部的一行,往上找。回到的是org.apache.catalina.core.ApplicationFilterChain#internalDoFilter,这部分找到filters找filters的赋值的地方,找到…...

uni-id-pages配置email

uniappuniclouduni-id-pages 配置邮箱教程 安装uni-id-pages插件下载插件并导入HbuilderX 修改/uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/verify/send-email-code.js文件内容,将测试代码注释,添加发送邮件代码 // -- 测试代码// awai…...

Android 休眠机制详解 ——WakeLock、Doze 模式与待机功耗优化实战

前言 待机功耗高、耗电快、手表 / 手机一觉醒来掉电很多,90% 都是 “休眠没睡进去”。 一、为什么要讲 Android 休眠? 对手机 / 手表 / IoT 设备来说: 亮屏 性能息屏待机 续航 功耗测试的核心,就是看设备能不能正常休眠、睡不睡…...

C++中的装饰器模式高级应用

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…...

LeetCode 3296.移山所需的最少秒数:优先队列

【LetMeFly】3296.移山所需的最少秒数:优先队列 力扣题目链接:https://leetcode.cn/problems/minimum-number-of-seconds-to-make-mountain-height-zero/ 给你一个整数 mountainHeight 表示山的高度。 同时给你一个整数数组 workerTimes,表…...

深入解析尺度空间理论及其在SIFT特征提取中的应用

1. 从“看画”说起:为什么我们需要尺度空间? 想象一下,你站在一幅巨大的油画前,比如梵高的《星空》。当你把鼻子都快贴到画布上时,你只能看到一小片区域,那里有清晰的、厚重的笔触和颜料的纹理。你后退一步…...

Spring Boot文件上传报错Failed to parse multipart servlet request的3种解决方案及适用场景

1. 问题重现:那个让人头疼的“Failed to parse multipart servlet request” 不知道你有没有遇到过这种情况:一个好好的Spring Boot文件上传功能,平时用着都挺顺溜,突然有一天,用户反馈说上传文件报错了。你赶紧去查日…...