这是小卷对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,更复杂的编程案例

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

AI编程:如何编写提示词的更多相关文章

  1. AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...

  2. 免费Midjourney AI绘画Prompt提示词平台合集

    Midjourney AI绘图最关键的地方在于Prompt提示词写的好,一个好的提示词可以让AI模型创造出更优质的绘图,以下是8个免费的Midjourney Prompt提示词辅助平台. ​ 编辑切换 ...

  3. Midjourney 提示词工具(10 个国内外最好最推荐的)

    Midjourney,是一个革命性的基于人工智能的艺术生成器,可以从被称为提示的简单文本描述中生成令人惊叹的图像.Midjourney已经迅速成为艺术家.设计师和营销人员的首选工具(包括像我这样根本不 ...

  4. 我们距离AI编程还有多远?

    近几年来,人工智能的信息以不同形式霸占着我们的眼球,我们知道AlphaGo.微软小冰.Sophia,了解过自动驾驶.无人机.智能家居等,深知人工智能是在记忆力.学习力.运算力方面都远超人类的存在,但人 ...

  5. Semantic Kernel 知多少 | 开启面向AI编程新篇章

    引言 在ChatGPT 火热的当下, 即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻.当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT ...

  6. Semantic Kernel 入门系列:🥑突破提示词的限制

    无尽的上下文 LLM的语言理解和掌握能力在知识内容的解读和总结方面提供了强大的能力. 但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答. 因此如何给LLM ...

  7. 编程精粹--编写高质量C语言代码(3):自己设计并使用断言(二)

    接着上一遍文章<<编程精粹--编写高质量C语言代码(2):自己设计并使用断言(一)>>,继续学习怎样自己设计并使用断言,来更加easy,更加不费力地自己主动寻找出程序中的错误. ...

  8. 编程精粹--编写高质量C语言代码(4):为子系统设防(一)

    通常,子系统都要对事实上现细节进行隐藏,在进行细节隐藏的同一时候.子系统为用户提供了一些关键入口点. 程序猿通过调用这些关键的入口点来实现与子系统的通信.因此假设在程序中使用这种子系统而且在其调用点加 ...

  9. Shell编程——脚本编写思路与过程

    Linux系统Shell编程——脚本编写思路与过程 “ 前段时间有小伙伴问我一些问题,涉及到shell脚本的编写问题,事后,我深入思考了下,实际生产环境的确也会经常用到,因此如何写这个脚本?它的思路在 ...

  10. SublimeCodeIntel 所有代码提示和补全插件 All Autocomplete 插件搜索所有打开的文件来寻找匹配的提示词

    SublimeCodeIntelSublimeCodeIntel 作为一个代码提示和补全插件,支持 JavaScript.Mason.XBL.XUL.RHTML.SCSS.Python.HTML.Ru ...

随机推荐

  1. VS中使用Qt方法详解

    相信大家都知道在 Qt Creator 中可以使用 MSVC 编译工具对 Qt 项目进行编译.若有人比较习惯于使用 Visual Studio,或某些项目必须使用 Visual Studio,也可以在 ...

  2. Redis中的分布式锁(步步为营)

    分布式锁 概述 分布式锁指的是,所有服务中的所有线程都去获取同一把锁,但只有一个线程可以成功的获得锁,其他没有获得锁的线程必须全部等待,直到持有锁的线程释放锁. 分布式锁是可以跨越多个实例,多个进程的 ...

  3. Clickhouse之集群操作

    查看集群: 在任意一台机上,使用 /usr/bin/clickhouse-client --host localhost --port 9000 连接本地服务器 select * from `syst ...

  4. JPEG格式研究——(4)反量化、逆ZigZag变化和IDCT变换

    反量化 反量化其实很简单,将霍夫曼解码出来的数据乘上对应的量化表就好了 通过当前色度选择出SOF中的Component,其中的Tqi指出了这一色度所需的量化表id Component的结构如下: 名称 ...

  5. 使用SharpCompress压缩,tar.gz

    之前我们介绍了如何用SharpZipLib来打.tar.gz压缩包. 但是这个压缩软件有两个问题,一是代码比较多,压缩起来没有那么方便:二是压缩的.tar.gz在linux上解压时会有警告,需要跳过这 ...

  6. ZJSU五月多校合训

    强度焦虑制造者 具体而言,zszz3在每个游戏版本中都会推出一名新角色,或加强一名旧角色.玩家必须将这名新角色或 被加强的旧角色编入队伍,否则就会落后于版本. 而编队数量是有限的,这意味着玩家可能不得 ...

  7. Codeforces Round 856 (Div2)

    Counting Factorizations 任何一个正整数 \(m\) 都可以被唯一的分解为 \(p_1^{e_1} \cdot p_2^{e_2} \ldots p_k^{e_k}\) 的形式. ...

  8. Filter内存马

    概述 最近感冒了,不想BB太多,直接开始调试吧,先写个Filter来调试 Filter代码 新建一个FilterShell类,代码如下: 一个类如果想要成为Filter则需要继承Filter,然后重写 ...

  9. 编译器-FIRST集合(补充:左递归)

    上一篇中实现的First函数没有考虑左递归,在这对此说明和实现 1.立即左递归 A -> Ab|a 1.两步或两步以上产生的左递归 A -> Bc|a B -> Ab|d 前面的实现 ...

  10. 前后端数据传递之form-data

    前情 最近在项目开发中,跟服务端连调发现接口一直报错,服务端一直提示是数据没有传,而通过浏览器控制台发现数据是有传的. 坑 服务通过postman自测是OK的.经过和服务端一起定位发现服务端只接收以f ...