ChatGPT 提示词框架

news2025/5/15 9:17:46

在这里插入图片描述

作为一个资深安卓开发工程师,我们在日常开发中经常会用到 ChatGPT 来提升开发效率,比如代码优化、bug 排查、生成单元测试等。
但要想真正发挥 ChatGPT 的潜力,我们需要掌握一些提示词(Prompt)的编写技巧,并且有一个良好的提示词框架。

本文将详细介绍 ChatGPT 提示词的框架,并结合 Kotlin 代码示例,帮助大家更高效地使用 ChatGPT。

1. 什么是提示词框架?

提示词框架(Prompt Framework)是一种结构化的方式,
通过给 ChatGPT 传递清晰、详细、具有上下文的信息,
让它能够更好地理解你的需求,并生成更符合预期的结果。

一个好的提示词框架通常包括以下几个部分:

  • 角色设定(Role):指定 ChatGPT 的身份,比如“你是一个资深的 Kotlin 开发工程师”。
  • 目标任务(Task):明确告诉 ChatGPT 你需要它做什么,比如“帮我优化这段代码的性能”。
  • 输入内容(Input):提供必要的上下文,比如需要优化的 Kotlin 代码。
  • 输出格式(Output Format):指定结果的呈现方式,比如“请用 markdown 语法返回”。
  • 示例(Examples):提供参考示例,让 ChatGPT 理解你想要的风格。

2. 提示词框架示例

下面我们用 Kotlin 代码来举个例子,看看如何用一个良好的提示词框架来让 ChatGPT 帮我们优化代码。

// 原始代码,性能较低
fun findDuplicates(list: List<Int>): List<Int> {
    val duplicates = mutableListOf<Int>()
    val set = mutableSetOf<Int>()
    for (item in list) {
        if (!set.add(item)) {
            duplicates.add(item)
        }
    }
    return duplicates
}

示例提示词:

你是一个资深的 Kotlin 开发工程师。
你的任务是优化下面的 Kotlin 代码,使其性能更优。
代码如下:

# ```kotlin
fun findDuplicates(list: List<Int>): List<Int> {
    val duplicates = mutableListOf<Int>()
    val set = mutableSetOf<Int>()
    for (item in list) {
        if (!set.add(item)) {
            duplicates.add(item)
        }
    }
    return duplicates
}
#  ```

请优化代码,并简要说明优化点。
代码请用 markdown 语法格式返回。

ChatGPT 可能的优化结果:

fun findDuplicates(list: List<Int>): List<Int> {
    return list.groupBy { it }
        .filter { it.value.size > 1 }
        .keys.toList()
}

优化点:

  • 使用 groupBy 按元素分组,避免手动维护 Set
  • 直接筛选出重复元素,提高代码可读性。

3. 提示词框架的优化技巧

在实际使用中,我们可以通过以下方式优化提示词:

  • 具体化任务:避免模糊描述,比如不要说“优化代码”,而要具体说明优化目标,如“优化性能”或“提高可读性”。
  • 提供示例:如果你想要 ChatGPT 以某种格式返回结果,最好提供示例,让它模仿。
  • 限制输出:如果你只想要代码,不想要解释,可以明确说明“只返回优化后的代码,不要附带解释”。
  • 调整温度:在 API 调用时,可以调整 temperature 参数,值越低(如 0.2),输出越精确;值越高(如 0.8),输出越有创意。

4. ChatGPT 提示词框架的应用场景

作为 Android 开发者,我们可以用提示词框架来完成很多任务,比如:

  • 代码优化:如上例所示,优化 Kotlin 代码。
  • Bug 排查:描述 bug 现象,让 ChatGPT 提供可能的原因和修复建议。
  • 学习新 API:让 ChatGPT 解释 Jetpack Compose、Kotlin Coroutines 等 API 的用法。
  • 单元测试生成:让 ChatGPT 帮你自动生成测试代码。
  • 代码重构建议:询问如何改善代码架构,如 MVVM、MVP 设计模式优化。

5. 结语

掌握 ChatGPT 的提示词框架,不仅可以提高开发效率,还能帮助我们更深入地理解代码优化的思路。
作为开发者,我们应该学会用 AI 作为辅助工具,而不是完全依赖它。

希望本文对你有所帮助!如果你有更好的提示词技巧,欢迎在评论区分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2307972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【构建工具】Gradle 8中Android BuildConfig的变化与开启方法

随着Gradle 8的发布&#xff0c;Android开发者需要注意一个重要变化&#xff1a;BuildConfig类的生成现在默认被关闭了&#xff01;&#xff01;&#xff01;。这个变化可能会影响许多依赖于BuildConfig的项目&#xff08;别问&#xff0c;问就是我也被影响了&#xff0c;多好用…

性能测试测试策略制定|知名软件测评机构经验分享

随着互联网产品的普及&#xff0c;产品面对的用户量级也越来越大&#xff0c;能抗住指数级增长的瞬间访问量以及交易量是保障购物体验是否顺畅的至关重要的一环&#xff0c;而我们的性能测试恰恰也是为此而存在的。 性能测试是什么呢&#xff1f;性能测试要怎么测呢&#xff1f…

SAP-ABAP:SAP数据库视图(Database View)详解-创建

在SAP系统中&#xff0c;数据库视图&#xff08;Database View&#xff09; 是一种基于物理数据库表的虚拟表&#xff0c;通过关联多个表&#xff08;使用INNER JOIN&#xff09;生成逻辑数据集。它存储在数据库中&#xff0c;但本身不存储数据&#xff0c;仅通过查询动态生成结…

BUG: 解决新版本SpringBoot3.4.3在创建项目时勾选lombok但无法使用的问题

前言 当使用Spring Boot 3.4.3创建新项目时&#xff0c;即使正确勾选Lombok依赖&#xff0c;编译时仍出现找不到符号的错误&#xff0c;但代码中Lombok注解的使用完全正确。 原因 Spring Boot 3.4.3在自动生成的pom.xml中新增了maven-compiler-plugin的配置&#xff0c;该插件…

登录次数限制

文章目录 一、应用场景与设计目的1. 应用场景2. 设计目的 二、功能设计1. 登录限制规则2. 解锁机制3. 适用维度 三、技术实现1. 数据存储2. 逻辑流程3. 实现代码示例4. 动态锁定时间 四、安全增强与扩展1. 防止用户名枚举2. 加入验证码3. 监控与报警4. 分布式支持 五、设计思考…

CMU15445(2023fall) Project #2 - Extendible Hash Index 匠心分析

胡未灭&#xff0c;鬓已秋&#xff0c;泪空流 此生谁料 心在天山 身老沧州 ——诉衷情 完整代码见&#xff1a; SnowLegend-star/CMU15445-2023fall: Having Conquered the Loftiest Peak, We Stand But a Step Away from Victory in This Stage. With unwavering determinati…

【Java面试】JVM汇总

目录 1.JVM为什么能跨平台&#xff1f; 2.JVM由哪些部分构成&#xff1f;每个部分起到什么作用&#xff1f; 3.什么是双亲委派&#xff1f;双亲委派的两大作用是什么&#xff1f; 举个例子&#x1f330;&#xff1a; 为什么要有这种“家族规矩”&#xff1f; 破坏双亲委派…

【SpringBoot】Spring 一站式解决方案:融合统一返回结果、异常处理与适配器模式

前言 ???本期讲解关于统一功能处理的详细介绍~~~ ??感兴趣的小伙伴看一看小编主页&#xff1a;-CSDN博客 ?? 你的点赞就是小编不断更新的最大动力 ??那么废话不多说直接开整吧~~ 目录 ???1.适配器模式? ??1.1适配器模式定义 ?编辑 ??1.2适配器模式角…

STM32基础篇(三)------滴答定时器

滴答定时器简介 SysTick定时器&#xff08;STK&#xff09; 处理器有一个24位系统定时器SysTick&#xff0c;它从重新加载值倒计时到零&#xff0c;在下一个时钟沿重新加载&#xff08;换行&#xff09;LOAD寄存器中的值&#xff0c;然后对后续时钟倒计时。当处理器暂停调试时&…

Sublime Text4安装、汉化

-------------2025-02-22可用---------------------- 官方网址下载&#xff1a;https://www.sublimetext.com 打开https://hexed.it 点击打开文件找到软件安装目录下的 ctrlf 查找 8079 0500 0f94 c2右边启用替换替换为:c641 0501 b200 90点击替换按钮 替换完成后 另存为本地…

CameraX学习1-关于预览、拍照、对焦

关于CameraX是否可以打开多种特殊摄像头&#xff0c;例如广角、长焦、景深等等 虽然CameraSelector只简单定义了前置后置&#xff0c;没具体指明摄像头&#xff0c;但是可以跟Camera2 API的CameraCharacteristics结合使用&#xff0c;获取对应的cameraid&#xff0c;再传入Came…

【愚公系列】《Python网络爬虫从入门到精通》033-DataFrame的数据排序

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

RBF神经网络+NSGAII多目标优化算法,工艺参数优化、工程设计优化(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.RBF神经网络NSGAII多目标优化算法&#xff08;Matlab完整源码和数据&#xff09; 多目标优化是指在优化问题中同时考虑多个目标的优化过程。在多目标优化中&#xff0c;通常存在多个冲突的目标&#xff0c;即改善一…

执行yum -y install npt 报错解决

Cannot find a valid baseurl for repo: base/7/x86_64 解决办法 一、检查网络连接 确保你的服务器可以访问互联网。你可以使用 ping 命令来测试&#xff1a; ping www.baidu.com 若能访问外网&#xff0c;则网络没问题&#xff0c;否则检查网络 二、修改CentOS-Base.rep…

Android Studio 新版本Gradle通过JitPack发布Maven仓库示例

发布本地仓库示例&#xff1a;https://blog.csdn.net/loutengyuan/article/details/145938967 以下是基于 Android Studio 24.2.2&#xff08;Gradle 8.10.2 AGP 8.8.0 JDK17&#xff09; 的通过JitPack发布Maven仓库示例&#xff0c;包含aar和jar的不同配置&#xff1a; 1.…

【官方配图】win10/win11 安装cuda 和 cudnn

文章目录 参考资料1.安装cuda toolkit1. 下载安装包2.安装验证 2. 安装cudnn下载cudnn安装包安装cudnn安装后的配置 参考资料 官方nvidia安装cuda官方nvidia安装cudnn 1.安装cuda toolkit 1. 下载安装包 下载地址 https://developer.nvidia.com/cuda-downloads?target_osW…

水滴tabbar canvas实现思路

废话不多说之间看效果图,只要解决了这个效果水滴tabbar就能做出来了 源码地址 一、核心实现步骤分解 布局结构搭建 使用 作为绘制容器 设置 width=600, height=200 基础尺寸 通过 JS 动态计算实际尺寸(适配高清屏) function initCanvas() {// 获取设备像素比(解决 Re…

神经网络 - 激活函数(Sigmoid 型函数)

激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力&#xff0c;激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单&#xff0…

2.5 运算符2

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的 2.5.3 赋值运算符 赋值运算符将值存储在左操作数指定的对象中。有两种赋值操作&#xff1a; 1、简单赋值&#xff0c;使用。其中第二…

DeepSeek + 自由职业 发现新大陆,从 0 到 1 全流程跑通商业 IP

DeepSeek 自由职业 发现新大陆&#xff0c;从 0 到 1 全流程跑通商业 IP 商业定位1. 商业定位分析提示词2. 私域引流策略提示词3. 变现模型计算器提示词4. 对标账号分析提示词5. 商业IP人设打造提示词6. 内容选题策略提示词7. 用户人群链分析提示词8. 内容布局与转化路径设计提…