AI编程:如何编写提示词

这是小卷对AI编程工具学习的第2篇文章,今天讲讲如何编写AI编程的提示词,并结合实际功能需求案例来进行开发

1.编写提示词的技巧

好的提示词应该是:目标清晰明确,具有针对性,能引导模型理解问题

下面是两条提示词的对比:

1)请帮我实现一个数组排序算法

2)请帮我用冒泡排序算法,使用Python语言实现对输入数组的从大到小的排序

很显然,第2种提示词更能准确的描述需求,也能让AI输出更准确的回答。

实际编程时,提示词主要关注角色、背景、任务、要求这些部分就行

角色:给大模型设定一个角色,赋予角色后能更好理解任务。如:程序员、产品经理、测试等

背景:给大模型提供所需的背景知识。比如用的编程框架、语言。要在提示词中都输入,不要认为大模型知道所有事情

任务:就是大模型需要做什么任务,应该是明确、具体、清晰的

要求:必要时,可以提些其他要求,比如输出完整的代码、json格式的数据这些

只要是能解决需求的提示词,就是有价值的提示词

2.编程常用提示词

Cursor官方给我们已经提供了一些提示词学习,网站在下面:

https://cursor.directory/

网站提供的都是英文提示词,下面列出一些中文提示词示例

2.1 AI辅助代码生成

你是一名资深的Python编程工程师,给下面需求写代码:

编程语言:Python

代码目的:实现一个简单的GUI计数器

代码功能:实现两数的加减乘除运算

编码要求:采用面向对象的编程,GUI使用Tkinter

2.2 AI辅助代码优化

你是一位软件开发人员,根据下面需求整理优化代码:

目标:提高代码可读性,发现潜在错误和问题,降低维护成本,提高开发效率

代码内容:贴上实际代码

2.3 AI辅助代码注释

你是一名文档编写专家,请针对以下代码编写相应的文档和注释

代码内容:贴上实际代码

2.4 AI辅助解决Bug

你是一名Bug修复专家,请找出以下代码中的Bug并修复

代码:贴上实际代码

目标:确保代码正常运行

问题:贴上实际报错问题

3. 开发小游戏

以贪吃蛇的小游戏为例,使用Cursor生成一个Python编写的贪吃蛇游戏。

提示词如下:

你是一名Python专家,请编写一段代码:

项目名称:贪吃蛇游戏

# 要求

1.输出完整的贪吃蛇代码

2.果实为黄色,蛇身为黑色

3.增加积分功能,每吃到一个果实加一分,在游戏面板右上角展示

在这里插入图片描述

对于生成的Python文件,我们使用PyCharm工具运行,或者直接命令行执行python snake_game.py运行代码就能看到效果了

在这里插入图片描述

4. 开发谷歌浏览器插件

在AI工具出现之前,我们开发谷歌浏览器插件需要学习JS、HTML的前端知识,还需要了解谷歌插件开发规范,才能开发出一个能用的插件。

现在有了Cursor这类AI编程工具,只需要简简单单的提需求就能完成插件的制作和开发了。

下面是实际开发示例,在网页上生成一个二维码,扫码可以跳转到当前页面的一个插件。

开始之前可以先新创建个文件夹,用于存生成的多个前端代码文件

提示词如下:

帮我实现一个Chrome浏览器的插件,具体功能有:

1.打开任意网页时,在左下角显示网页的logo图标,点击图标会展示为网页的二维码

2.二维码大小是256*256,白底

#注意

  • 使用v3版本的manifest.json
  • 请注意中文的格式编码问题

在这里插入图片描述

可以看到,如何安装插件的步骤都给出来了,我们按照使用说明,加载写好的浏览器插件

在这里插入图片描述

可以看到有错误,我们点开之后,把里面的错误发给Cursor修复,修复完成再次测试,经过反复修改测试大概5分钟后,终于可以看到实际效果了

在这里插入图片描述

至此,普通小白也能完成专业前端程序员才能做的浏览器插件开发工作了

5.小结

上一篇文章讲了Cursor的基本使用教程,这篇结合两个案例讲了Cursor生成小游戏和浏览器插件的步骤,下一篇准备讲讲接入大模型API,更复杂的编程案例

我是卷福同学,记得给我点个关注吧!

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

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

相关文章

【B站保姆级视频教程:Jetson配置YOLOv11环境(五)Miniconda安装与配置】

B站同步视频教程:https://www.bilibili.com/video/BV1MwFDeyEYC/ 文章目录 0. Anaconda vs Miniconda in Jetson1. 下载Miniconda32. 安装Miniconda33. 换源3.1 conda 换源3.2 pip 换源 4. 创建环境5. 设置默认启动环境 0. Anaconda vs Miniconda in Jetson Jetson…

仿真设计|基于51单片机的无线投票系统仿真

目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现(protues8.7) 程序(Keil5) 全部内容 资料获取 具体实现功能 (1)投票系统分为发送端和接收端。 (2)发送端通过按…

玩转大语言模型——使用langchain和Ollama本地部署大语言模型

系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用GraphRAGOllama构建知识图谱 玩转大语言模型——完美解决Gra…

(动态规划基础 打家劫舍)leetcode 198

已知h2和h1&#xff0c;用已知推出未知 推是求答案&#xff0c;回溯是给答案 这里图片给出dfs暴力&#xff0c;再进行记录答案完成记忆化搜索&#xff0c;再转为dp数组 #include<iostream> #include<vector> #include<algorithm> //nums:2,1,1,2 //dp:2,2,…

origin如何在已经画好的图上修改数据且不改变原图像的画风和格式

例如我现在的.opju文件长这样 现在我换了数据集&#xff0c;我想修改这两个图表里对应的算法里的数据&#xff0c;但是我还想保留这图像现在的形式&#xff0c;可以尝试像下面这样做&#xff1a; 右击第一个图&#xff0c;出现下面&#xff0c;选择Book[sheet1] 选择工作簿 出…

[STM32 - 野火] - - - 固件库学习笔记 - - -十二.基本定时器

一、定时器简介 STM32 中的定时器&#xff08;TIM&#xff0c;Timer&#xff09;是其最重要的外设之一&#xff0c;广泛用于时间管理、事件计数和控制等应用。 1.1 基本功能 定时功能&#xff1a;TIM定时器可以对输入的时钟进行计数&#xff0c;并在计数值达到设定值时触发中…

Python从0到100(八十六):神经网络-ShuffleNet通道混合轻量级网络的深入介绍

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

04树 + 堆 + 优先队列 + 图(D1_树(D1_基本介绍))

目录 一、什么是树&#xff1f; 二、相关术语 根结点 边 叶子结点 兄弟结点 祖先结点 结点的大小 树的层 结点的深度 结点的高度 树的高度 斜树 一、什么是树&#xff1f; 树是一种类似于链表的数据结构&#xff0c;不过链表的结点是以线性方式简单地指向其后继结…

Rust语言进阶之文件处理:std::fs用法实例(九十九)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

flowable expression和json字符串中的双引号内容

前言 最近做项目&#xff0c;发现了一批特殊的数据&#xff0c;即特殊字符"&#xff0c;本身输入双引号也不是什么特殊的字符&#xff0c;毕竟在存储时就是正常字符&#xff0c;只不过在编码的时候需要转义&#xff0c;转义符是\&#xff0c;然而转义符\也是特殊字符&…

学习数据结构(5)单向链表的实现

&#xff08;1&#xff09;头部插入 &#xff08;2&#xff09;尾部删除 &#xff08;3&#xff09;头部删除 &#xff08;4&#xff09;查找 &#xff08;5&#xff09;在指定位置之前插入节点 &#xff08;6&#xff09;在指定位置之后插入节点 &#xff08;7&#xff09;删除…

14-8C++STL的queue容器

一、queue容器 (1)queue容器的简介 queue为队列容器&#xff0c;“先进先出”的容器 (2)queue对象的构造 queue<T>q; queue<int>que Int;//存放一个int的queue容器 queue<string>queString;//存放一个string的queue容器 (3)queue容器的push()与pop()方…

算法基础学习——快排与归并(附带java模版)

快速排序和归并排序是两种速度较快的排序方式&#xff0c;是最应该掌握的两种排序算法&#xff0c; &#xff08;一&#xff09;快速排序&#xff08;不稳定的&#xff09; 基本思想&#xff1a;分治 平均时间复杂度&#xff1a;O(nlogn) / 最慢O(n^2) / 最快O(n) 步骤&…

团体程序设计天梯赛-练习集——L1-028 判断素数

前言 一道10分的题目&#xff0c;相对来说比较简单&#xff0c;思考的时候要仔细且活跃&#xff0c;有时候在写代码的时候一些代码的出现很多余&#xff0c;并且会影响最后的结果 L1-028 判断素数 本题的目标很简单&#xff0c;就是判断一个给定的正整数是否素数。 输入格式…

安卓(android)订餐菜单【Android移动开发基础案例教程(第2版)黑马程序员】

一、实验目的&#xff08;如果代码有错漏&#xff0c;可查看源码&#xff09; 1.掌握Activity生命周的每个方法。 2.掌握Activity的创建、配置、启动和关闭。 3.掌握Intent和IntentFilter的使用。 4.掌握Activity之间的跳转方式、任务栈和四种启动模式。 5.掌握在Activity中添加…

阿里云 - RocketMQ入门

前言 云消息队列 RocketMQ 版产品具备异步通信的优势&#xff0c;主要应用于【异步解耦】、【流量削峰填谷】等场景对于同步链路&#xff0c;需要实时返回调用结果的场景&#xff0c;建议使用RPC调用方案阿里云官网地址RocketMQ官网地址 模型概述 生产者生产消息并发送至服务…

MySQL注入中load_file()函数的使用

前言 在Msql注入中&#xff0c;load_file()函数在获得webshell以及提权过程中起着十分重要的作用&#xff0c;常被用来读取各种配置文件 而load_file函数只有在满足两个条件的情况下才可以使用&#xff1a; 文件权限&#xff1a;chmod ax pathtofile 文件大小&#xff1a;必须…

HTML<hgroup>标签

例子&#xff1a; 使用hgroup元素标记标题和段落是相关的&#xff1a; <hgroup> <h2>Norway</h2> <p>The land with the midnight sun.</p> </hgroup> 定义和用法&#xff1a; 标签<hgroup>用于包围标题和一个或多个<p&g…

深度学习的应用

目录 一、机器视觉 1.1 应用场景 1.2 常见的计算机视觉任务 1.2.1 图像分类 1.2.2 目标检测 1.2.3 图像分割 二、自然语言处理 三、推荐系统 3.1 常用的推荐系统算法实现方案 四、图像分类实验补充 4.1 CIFAR-100 数据集实验 实验代码 4.2 CIFAR-10 实验代码 深…

Redis篇 Redis如何清理过期的key以及对应的解决方法

Redis设置Key过期时间 在 Redis 中&#xff0c;可以通过特定的命令为 Key 设置过期时间&#xff0c;使得 Key 在一定时间后自动删除&#xff0c;这对于管理缓存、验证码等临时数据非常有用。 解决方法 1. Redis过期删除策略 1.1 如何实现过期策略 对一个 key 设置了过期时间…