ChatGPT 提示词框架

在这里插入图片描述

作为一个资深安卓开发工程师,我们在日常开发中经常会用到 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.mzph.cn/diannao/70920.shtml

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

相关文章

面试基础---JVM 运行时数据区

深入理解 JVM 运行时数据区&#xff1a;从源码到实践 在现代互联网大厂的开发环境中&#xff0c;Java 依然是主流语言之一&#xff0c;而 Java 虚拟机&#xff08;JVM&#xff09;作为 Java 程序运行的基础&#xff0c;其性能和稳定性直接关系到应用的表现。因此&#xff0c;深…

PostgreSQL 查看数据库及表中数据占用空间大小

1、应用场景 场景1&#xff1a;查看数据库占用空间大小 SELECT pg_size_pretty(pg_database_size(database_name));场景2&#xff1a;查看每张表占用空间大小 SELECTtable_schema || . || table_name AS table,#仅表数据pg_size_pretty(pg_relation_size(table_schema || . …

c++中打印任意类型任意长度数组的各种方式

目录 一、代码 二、详细解释 1. print 函数模板 2. array_size 函数模板 3. print1 函数模板 4. print2 函数模板 5. my_begin 和 my_end 函数模板 6. print3 函数模板 7. main 函数 总结 一、代码 如下代码给出了5种方式打印任意类型任意长度的数组。这段代码定义了…

ubuntu下r8125网卡重启丢失修复案例一则

刚装的一台服务器&#xff0c;ubuntu24.04&#xff0c;主板网卡是r8125&#xff0c;安装服务后会莫名其妙丢失驱动 按照官网的方法下载最新8125驱动包&#xff1a; Realtek 然后卸载驱动 rmmod r8125 然后在驱动包里安装&#xff08;幸好我之前装了build-essential&#x…

[Python学习日记-84] 进程理论

[Python学习日记-84] 进程理论 简介 进程的概念 并发与并行的区别 进程并发的实现 简介 进程理论是计算机科学中一种重要的概念&#xff0c;用来描述操作系统中执行的程序实例。在操作系统中&#xff0c;每个程序的执行被称为一个进程。进程理论研究进程的创建、调度、通信…

云创智城YunCharge 新能源二轮、四轮充电解决方案(云快充、万马爱充、中电联、OCPP1.6J等多个私有单车、汽车充电协议)之新能源充电行业系统说明书

云创智城YunCharge 新能源充电行业系统说明书 ⚡官方文档 ⚡官网地址 1. 引言 随着全球环境保护和能源危机的加剧&#xff0c;新能源汽车行业得到了快速发展&#xff0c;充电基础设施建设也随之蓬勃发展。新能源充电行业系统旨在提供高效、便捷的充电服务&#xff0c;满足电…

OpenWebUI配置异常的外部模型导致页面无法打开

一、使用Ollama关闭OpenAI OpenWebUI自带OpenAI的API设置&#xff0c;且默认是打开的&#xff0c;默认情况下&#xff0c;启动后&#xff0c;会不断的去连https://api.openai.com/v1&#xff0c;但是无法连上&#xff0c;会报错&#xff0c;但是不会影响页面&#xff0c;能正常…

RuntimeWarning: invalid value encountered in scalar power在进行标量的幂运算时遇到了无效值

year_profit ((profit / initial_cash) ** (1 / yy) - 1) * 100 RuntimeWarning: invalid value encountered in scalar power 这个警告表示在执行标量幂运算 ((profit / initial_cash) ** (1 / yy) - 1) * 100 时遇到了无效值。常见的引发原因及解决办法如下&#xff1a; ###…

计算机毕业设计 ——jspssm506Springboot 的旧物置换网站

&#x1f4d8; 博主小档案&#xff1a; 花花&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 花花在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于java、python等技术。近年来&#xff0c;花花更…

Kafka消费者相关

Kafka生产者相关-CSDN博客 消费者消费数据基本流程 package com.hrui;import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; import org.apache…

【软考-架构】备战2025软考

新老教材对比 科目1&#xff08;信息系统综合&#xff09;考点详解 科目2&#xff08;系统架构设计案例&#xff09;考点详解 科目3&#xff08;系统架构设计论文&#xff09;考点详解 趋于越来越具体 学习方法推荐 第一阶段 – 基础知识阶段 建议一个半月&#xff1b; 先过…

MMW-1碳棒磨损机设计

摘 要 为了更好的测量在一定压力下碳棒的磨损量&#xff0c;提高碳棒磨损量的测量精度&#xff0c;本文设计了一种MMW-1碳棒磨损机&#xff0c;该碳棒磨损机属于柱盘式摩擦磨损试验机的一种。该机器主要用于做和碳棒有关的摩擦磨损试验&#xff0c;可以更准确的获得相关的参数…

网络运维学习笔记(DeepSeek优化版)005网工初级(HCIA-Datacom与CCNA-EI)链路层发现协议与VLAN技术

文章目录 一、链路层发现协议1.1 思科CDP协议1.2 华为LLDP协议 二、VLAN&#xff08;Virtual Local Area Network&#xff0c;虚拟局域网&#xff09;技术详解2.1 基本概念2.2 技术特性2.3 接口工作原理2.3.1 Access模式2.3.2 Trunk模式 2.4 厂商配置对比思科配置华为配置 2.5 …

SOME/IP-SD -- 协议英文原文讲解5

前言 SOME/IP协议越来越多的用于汽车电子行业中&#xff0c;关于协议详细完全的中文资料却没有&#xff0c;所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块&#xff1a; 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.5 S…

APNG格式图片文件大小优化方案 转WEBP

文章目录 原因过程相关下载相关文档后记 原因 页面上有个特效动画&#xff0c;PNG文件&#xff0c;APNG格式&#xff0c;13M大小&#xff0c;太占用内容了&#xff0c;要优化一下。 过程 直接上命令吧 ffmpeg -i input.apng -vf "formatrgba" -loop 0 output.web…

个人电脑小参数GPT预训练、SFT、RLHF、蒸馏、CoT、Lora过程实践——MiniMind图文版教程

最近看到Github上开源了一个小模型的repo&#xff0c;是真正拉低LLM的学习门槛&#xff0c;让每个人都能从理解每一行代码&#xff0c; 从零开始亲手训练一个极小的语言模型。开源地址&#xff1a; GitHub - jingyaogong/minimind: &#x1f680;&#x1f680; 「大模型」2小时…

PHP Zip 文件处理指南

PHP Zip 文件处理指南 引言 ZIP文件是一种流行的压缩格式&#xff0c;广泛用于文件压缩和归档。PHP作为一门强大的服务器端脚本语言&#xff0c;提供了丰富的类和方法来处理ZIP文件。本文将详细介绍PHP中ZIP文件的处理方法&#xff0c;包括创建、添加文件、提取文件以及压缩和…

Java使用ZXing库生成带有Logo的二维码图片,并去除白边动态伸缩上传到阿里云OSS

文章目录 引言二维码基本原理1、二维码概述2、QR Code结构3、错误纠正级别 QR Code生成技术1、ZXing库2、生成二维码的步骤 图像处理技术1、嵌入Logo2. 去除白边 阿里云OSS基本概念1、OSS概述2. 主要功能3. 基本概念 实战演示1、依赖库2、类结构3、生成普通二维码4. 去除白边5、…

AI工具箱最新使用教程

先克隆项目 电脑需要先安装 git &#xff0c;安装的画看这个 Git安装教程&#xff08;超详细&#xff09;。 git镜像 git clone https://github.com/Escaflowne1985/MyToolsWebBackendUser.gitgitee镜像 git clone https://gitee.com/escaflowne/MyToolsWebBackendUser.git…

Android-创建mipmap-anydpi-v26的Logo

利用 Android Studio 自动创建 创建新项目&#xff1a;打开 Android Studio&#xff0c;点击 “Start a new Android Studio project” 创建新项目。在创建项目的过程中&#xff0c;当设置Target SDK Version为 26 或更高版本时&#xff0c;Android Studio 会在项目的res目录下…