【Prompt Engineering】摸索出的一些小套路
prompt 优化方法
🔹 1. 通用结构模板
模块化的Prompt
:Prompt 划分成边界清晰的模块,不同模块间都应有明确的分隔符
以下是通用 Prompt 的推荐结构:
[角色设定] + [任务描述] + [输出格式要求] + [补充上下文]
- 角色设定:你是谁,你具有什么能力
- 任务描述:你要做什么
- 输出格式:输出应具备哪些结构或样式
- 补充上下文:提供背景信息、数据或参考材料
例如:
你是一个资深 Python 程序员。请根据以下描述编写一个函数,用于统计文本中的单词频率,输出格式为 JSON。
🔹 2. 提示词增强技巧(Prompt Engineering)
Few-shot 学习
Few-shot Learning 就是通过给模型提供一组输入输出示例
,让它模仿这种任务格式和风格。
大模型具有强大的上下文学习能力,这种特性意味着,如果能提供一些例子,模型就能捕捉到:输入与输出之间的关系、输出风格、语言习惯、甚至某些隐藏规则。
示例越典型,模型理解越精准
编写模板
【任务说明】
输入:示例输入1
输出:示例输出1输入:示例输入2
输出:示例输出2
示例
新闻分类任务
你是一个新闻分类器,请根据新闻内容判断类别(财经、体育、娱乐、科技)。输入:苹果公司发布了新款iPhone,并表示将加大在AI方面的投入。
输出:科技输入:中国男篮在昨晚的比赛中击败对手,晋级决赛。
输出:体育输入:《流浪地球2》票房突破30亿,导演表示将推出新作。
输出:娱乐
🛠️适用场景
需要特定输出格式的情景
应用方向 | Few-shot 用法 |
---|---|
文本分类 | 情感、话题、意图识别等 |
格式转换 | JSON ↔ Markdown、摘要生成 |
内容创作 | 模仿特定写作风格 |
数据提取 | 从文档中提取结构化信息 |
🔬与其他方式对比
方法 | 特点 | 举例数量 | 优点 | 缺点 |
---|---|---|---|---|
Zero-shot | 无示例,仅靠任务描述 | 0 | 最简单 | 容易理解错任务 |
One-shot | 提供1个示例 | 1 | 增强上下文理解 | 效果不稳定 |
Few-shot | 提供2-5个示例 | 2-5 | 效果好,灵活性强 | Prompt可能变长 |
Fine-tune | 用训练数据真正训练模型 | 多 | 最精准 | 成本高、慢、需部署 |
Chain of Thought(思维链提示)
是一种引导逐步思考
、逐步推理
的提示方法,不直接要求模型给出答案,而是要求说出过程,再给出结论。
大模型擅长“语言生成”,但不一定能一步到位给出正确的结论,通过提示“一步一步来” 可以增强逻辑性、降低错误率、提高复杂任务的推理能力。
✅ 别直接说答案!
✅ 先说出为什么、怎么做,一步步来。
编写模板
【任务说明】
问题:{你的问题}
请一步一步地思考:
示例
数学应用题
问题:如果一个苹果2元,一个橘子3元,我买了2个苹果和3个橘子,一共花了多少钱?
请一步一步思考:1. 每个苹果2元,买了2个苹果,所以花了 2 × 2 = 4 元;
2. 每个橘子3元,买了3个橘子,所以花了 3 × 3 = 9 元;
3. 总共花了 4 + 9 = 13 元。答案:13元
🛠️ 适用场景
场景 | CoT用途 |
---|---|
数学题 | 引导步骤推导 |
阅读理解 | 逐句分析推断 |
内容生成 | 分段创作流程 |
自我反思提示(Let’s Verify Prompting)
让模型对自己刚刚生成的答案进行检查
、验证
、修改或反思。让语言模型从“生产者”变成“审查者”。
模型本身不具备“信心机制”和“错误感知”,回答完后就认为自己做完了。所以通过“回头看一眼”的方法,可以得到更合理的回答。
✅ 本质上就是告诉模型:
“你别急着结束,自己再检查一下你刚才说的有没有问题。”
编写模板
问题:{问题内容}第一步:请先尝试解答:
...第二步:现在请检查你的推理步骤,看看是否有错误或可以优化的地方:
...最终确认答案是:
...
简单直接一些,可以直接加上下面一段话
请先回答问题,然后重新检查你的回答,指出是否有错误,并给出最终确认的答案。你刚才的答案是否完全正确?请仔细复查你的每一步推理过程,并指出可能的错误或模糊之处。
示例
结合思维链版本
问题:一个班有30个学生,其中12人是女生。男生人数是多少?第一步,尝试解答:
总人数是30人,其中女生是12人,所以男生人数是 30 - 12 = 18 人。
初步答案:18人。第二步,检查这个推理是否有问题:
步骤合理,30减去12确实等于18,逻辑也符合题意。最终确认答案是:18人。
Multi-Constraint Prompting (多任务约束)
在prompt中同时引入多个明确的目标、要求、或限制条件
,促使模型在多个“任务”之间权衡、协调并满足所有约束。
在实际应用中,需求往往是复杂的、叠加的,而不是单一任务。比如:希望模型不仅“答题”,还要符合输出风格、控制长度、避免某些词。
可以理解为:
“不是只问一个问题,而是让它同时考虑多个要求,像一个带着多重 KPI 的任务指令。”
编写模板
请你完成以下任务,满足所有的约束条件:任务目标:{主任务说明}
约束条件:
1. {约束1,例如“输出不得超过150字”}
2. {约束2,例如“必须使用比喻或类比”}
3. {约束3,例如“风格需保持幽默与轻松”}
...请确保你输出的内容严格满足以上所有要求。
直接简单的写法
请写一个不超过150字的励志小故事,使用比喻手法,并保持语气轻松幽默。
示例
请写一个关于时间管理的小建议,要求:
1. 不超过50字
2. 使用类比或比喻
3. 风格要轻松幽默,适合年轻人阅读
Tree of Thought (ToT) Prompting(思维树提示)
“Tree of Thought (ToT) Prompting”(思维树提示)是一种高级的提示词设计方法,它模仿人类“多路径思考”过程,而非简单的一步一步思考, 让大语言模型(如 GPT-4)以树状结构展开推理过程,在每一步探索多个可能选项,并在后续进行评估和选择,从而得到更优结果。
✨ 在每一步产生多个候选思路
➕ 每条思路继续展开多个可能的后续步骤
🧠 最终选择或组合最优路径。
编写结构
你将尝试解决一个复杂问题。请遵循以下步骤:
1. 在每一步,列出多个可能的思路/选项(例如3个)。
2. 对每个思路进行简要分析。
3. 选择最优思路继续展开下一步(或保留多个分支并继续)。
4. 重复该过程,直到达到最终结论。
5. 最后总结整体推理路径和结论。
示例
你是一个资深商业顾问,现在要为一家 AI 教育平台设计盈利模式。请使用思维树法进行推理:1. 第一步:列出3种可能的商业模式(如订阅、按次计费、企业授权等),并简要说明优劣。
2. 第二步:对每种模式展开3个实施方式(例如定价层级、用户类型、平台结构)。
3. 对比不同分支的可行性、市场潜力、风险,选择1-2个最优路径继续深入。
4. 最后总结推荐的盈利方案,并说明你是如何一步步筛选和推理得到的。请以逻辑树的方式展示每一步推理过程。
🔬适用场景
场景 | 用法 |
---|---|
🧩复杂决策问题 | 多路径推理、策略评估 |
✍️内容创作(多构思) | 多主题发展、情节探索 |
💼产品/商业策略分析 | 多方案评估与选择 |
🔎科学研究与假设推演 | 提出多个假设并进行逐步验证 |
总结
技巧名称 | 核心作用 | 是否适合组合使用 | 关键词提示 |
---|---|---|---|
Few-shot 示例 | 提高任务理解与风格模仿 | ✅ | “输入/输出示例”、“模仿格式” |
Chain of Thought | 引导逻辑推理、减少错误率 | ✅ | “一步一步思考”、“推导过程” |
Let’s Verify | 自我校验与增强鲁棒性 | ✅ | “请检查是否正确”、“是否存在错误” |
Multi-Constraint | 处理多重要求或风格限制 | ✅ | “请满足以下所有条件” |
Tree of Thought | 多路径探索与评估最优解 | ⚠️(适合单独用) | “请列出多个方案”、“分析优劣” |
相关文章:
【Prompt Engineering】摸索出的一些小套路
prompt 优化方法 🔹 1. 通用结构模板 模块化的Prompt:Prompt 划分成边界清晰的模块,不同模块间都应有明确的分隔符 以下是通用 Prompt 的推荐结构: [角色设定] [任务描述] [输出格式要求] [补充上下文]角色设定:…...
CSS强制div单行显示不换行
在CSS中,要让<div>的内容强制单行显示且不换行,可通过以下属性组合实现: 核心解决方案: css 复制 下载 div {white-space: nowrap; /* 禁止文本换行 */overflow: hidden; /* 隐藏溢出内容 */text-overflow: e…...
js的时间循环的讲解
JavaScript 事件循环(Event Loop)是其运行时的核心机制,负责处理异步操作,确保单线程的 JavaScript 能够高效地处理并发任务。下面从多个角度详细解析事件循环机制: 1. 核心概念 (1)执行栈(Call Stack) 定义:JavaScript 是单线程的,所有同步任务都在执行栈中依次执…...

Flutter实现不规则瀑布流布局拖拽重排序
因为业务,所以需要用flutter去实现一种不规则图形的瀑布流,但是同时需要支持拖拽并重新排序。效果类似如下。 查询过现有的插件,要么是仅支持同样大小的组件进行排序,要么就是动画效果不是很满意,有点死板,…...

【第4章 图像与视频】4.1 图像的绘制
文章目录 前言在 Canvas 之中绘制图像drawImage() 方法的用法 前言 drawImage() 方法可以将一幅图像的整体或某个部分绘制到 canvas 内的任何位置上,并且允许开发者在绘制过程中对图像进行缩放。也可以将图像绘制在离屏 canvas 中,这样的话就可以对图像…...
苹果应用开发详细教程(2025最新版)
苹果应用开发详细教程(2025最新版) 第一阶段:开发环境搭建 硬件准备 Mac电脑(macOS Monterey 12或更高版本)iPhone/iPad(真机调试建议iOS 16+)软件安装 # 通过App Store安装Xcode xcode-select --installXcode 15+(包含Swift 5.9编译器)安装CocoaPods(依赖管理工具)…...

G25-05-31Rust开源项目日报 Top10
根据Github Trendings的统计,今日(2025-05-31统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10TypeScript项目1Pake: 利用 Rust 轻松构建轻量级多端桌面应用 创建周期:491 天开发语言:Rust协议类型:MIT LicenseStar数量:2095…...
2025年主流编程语言全面分析与学习指南
文章目录 2025年主流编程语言全面分析与学习指南目录简介Python优势局限性学习路径适合人群 JavaScript优势局限性学习路径适合人群 Java优势局限性学习路径适合人群 C优势局限性学习路径适合人群 Rust优势局限性学习路径适合人群 Swift优势局限性学习路径适合人群 Go优势局限性…...

window安装nginx
步骤1:下载Nginx for Windows 访问Nginx官网下载页面:https://nginx.org/en/download.html 在Stable version(稳定版)下找到Windows版本,点击下载.zip文件(如 nginx-1.28.0.zip) 步…...

ArcGIS Pro裁剪影像
方法1: 工具箱中,数据管理工具-栅格-栅格处理-裁剪栅格 注意:勾选上使用输入要素裁剪几何 方法2: 按掩膜提取工具裁剪栅格:在工具箱中,Spatial Analyst工具-提取分析-按掩膜提取...

[智能算法]蚁群算法原理与TSP问题示例
目录 编辑 一、生物行为启发的智能优化算法 1.1 自然界的群体智能现象 1.2 人工蚁群算法核心思想 二、算法在组合优化中的应用演进 2.1 经典TSP问题建模 2.2 算法流程优化 三、TSP问题实战:Python实现与可视化 3.1 算法核心类设计 3.2 参数敏感性实验 3.3 可视化…...
Vue-4-前端框架Vue基础入门之Vue的常用操作
文章目录 1 VUE1.1 文件结构1.2 定义和显示变量1.2.1 ref函数1.2.2 reactive函数1.3 定义方法1.3.1 方式一1.3.2 方式二1.3.3 方式三1.4 循环遍历1.5 watch1.5.1 监听ref1.5.2 监听reactive1.6 生命周期函数1.7 配置文件2 问题及解决2.1 lack permissions2.2 npm run dev! Miss…...
ubuntu国内镜像源手动配置
备份当前源列表 打开终端,执行以下命令备份当前的源列表: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 编辑源列表文件 使用文本编辑器编辑/etc/apt/sources.list文件,例如使用nano: sudo vim /etc/apt/sou…...
21-CS61B-lab6:java文件操作以及持久化一见
文件操作 这里的文件操作主要通过File类,Serializable的派生类等实现 拥有路径path(相对路径/绝对路径),创建File对象 File newFile new File(path); 获得当前工作目录File File CWD new File(System.getProperty("user.dir")); 通过S…...
⚡️ Linux 系统安装与配置 Git
⚡️ Linux 系统安装与配置 Git 📘 1. Git 简介 Git 是目前世界上最流行的分布式版本控制系统,他能高效地处理从小型到大型项目的版本管理需求,是现代软件开发流程中的核心工具之一。 在企业环境中,大多数公司通常会在 Linux 服…...
SpringBoot 自动装配原理深度解析:从源码到实践
SpringBoot 自动装配原理深度解析:从源码到实践 SpringBoot 作为现代 Java 开发的事实标准,其核心优势之一是 “约定大于配置” 的自动装配机制。本文将从源码层面深入解析 SpringBoot 自动装配的实现原理,并通过代码示例展示其工作流程。 …...

【Go语言】Fyne GUI 库使用指南 (面向有经验开发者)
引言 Fyne 是一个使用 Go 语言编写的、易于使用的跨平台 GUI 工具包和应用程序 API。它旨在通过单一代码库构建在桌面和移动设备上运行的应用程序。本文档面向有一定 Go 语言开发经验的开发者,将详细介绍 Fyne 最新版的核心功能,包括基础组件、布局系统…...
Nginx Lua模块(OpenResty)实战:动态化、智能化你的Nginx,实现复杂Web逻辑 (2025)
更多服务器知识,尽在hostol.com 嘿,各位Nginx的“铁杆粉丝”和“配置大师”们!咱们都知道,Nginx以其超凡的性能、稳定性和丰富的模块化功能,在Web服务器、反向代理、负载均衡等领域独步青云,简直是服务器软…...

openssl 怎么生成吊销列表
mkdir test cd test # 根据 /usr/lib/ssl/openssl.cnf 配置文件中目录结构可知有个demoCA目录,目录下有各种文件。 mkdir ./demoCA ./demoCA/newcerts ./demoCA/private sudo chmod 777 -R ./demoCA/ echo 01 > ./demoCA/serial touch ./demoCA/index.txt # /usr…...
Go语言包的组织与导入 -《Go语言实战指南》
在 Go 语言中,包(Package) 是管理代码模块化、复用性与可维护性的核心单位。本章将讲解如何组织包结构、如何导入其他包、以及项目中的最佳实践。 一、什么是包? • 每个 .go 文件都属于某个包(通过 package 声明&…...

springboot-响应接收与ioc容器控制反转、Di依赖注入
1.想将服务器中的数据返回给客户端,需要在controller类上加注解:ResponseBody; 这个注解其实在前面已经使用过,RestController其实就包含两个注解: Controller ResponseBody 返回值如果是实体对象/集合,将会转换为j…...
CSP使用严格设置
文章目录 说明示例 说明 日期:2025年6月2日。 内容安全政策(MPS)是一个额外的安全层,有助于检测和缓解某些类型的攻击。包括(但不限于)跨站点脚本(XSS)和数据注入攻击。这些攻击用…...

Spring代理工厂类ProxyFactory作用以及实现原理
代理工厂类ProxyFactory AdvisedSupport(代理配置信息类)ProxyFactory(代理工厂类)小结测试 源码见:mini-spring 在 AOP(面向切面编程)中,Spring 支持两种常见的代理机制:…...
SpringBoot使用MQTT协议简述
在 Spring Boot 中使用 MQTT 协议连接硬件设备,可以通过以下步骤实现。这里以 Eclipse Paho MQTT 客户端为例: 1. 添加 Maven 依赖 <dependencies><!-- Spring Boot Starter --><dependency><groupId>org.springframework.boo…...
【GraphQL】深入解析 Apollo Client:从架构到实践的一站式 GraphQL 解决方案
深入解析 Apollo Client:从架构到实践的一站式 GraphQL 解决方案 1. 引言 GraphQL 作为现代 API 开发的核心技术,其灵活性和高效性正在重塑数据交互模式。Apollo Client 作为 GraphQL 生态中最受欢迎的客户端库,凭借强大的缓存机制、框架集…...

集成电路制造设备防震基座选型指南:为稳定护航-江苏泊苏系统集成有限公司
集成电路制造设备防震基座选型指南:为稳定护航 在集成电路制造这一精密复杂的领域,每一个环节都如同精密仪器中的微小齿轮,一丝偏差都可能导致严重后果。制造设备的稳定运行更是重中之重,而防震基座作为守护设备稳定的第一道防线…...

华为OD机试真题——阿里巴巴找黄金宝箱(II)(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…...
Vue中 toRaw 和 markRaw 的使用
背景 针对一些特殊的需求,在项目里,需要将响应式数据变为普通原始类型数据,这种情况是有的 在 Vue 中,能够将普通数据类型的数据变为响应式数据,也能将响应式类型数据变为普通类型数据,用于提升数据的性能…...

探索DeepSeek提示词:关键策略与实用场景
在人工智能飞速发展的时代,DeepSeek作为一款备受关注的AI工具,其强大的功能为用户提供了高效便捷的服务。然而,要充分发挥DeepSeek的潜力,掌握提示词的使用策略至关重要。本文将深入探讨DeepSeek提示词的关键策略,并结…...

海底三维可视化平台
1. 摘要 本文作者为视觉分析构建了一个真实海底的“虚拟世界”。在3D环境中导入底部轮廓。在该模型中,通过地震反射获得的海床地层剖面被数字化为离散点,并用克里金算法进行插值,以在每个地层中产生均匀的网格。然后在每一层构建 Delaunay三…...