勤学苦练“prompts“,如沐春风“CodeArts Snap“

news2024/10/1 15:18:31

前言

CodeArts Snap 上手一段时间了,对编程很有帮助。但是,感觉代码编写的不尽人意。

我因此也感到困惑,想要一份完整的 CodeArts Snap 手册看看。

就在我感觉仿佛"独自彷徨在这条悠长、悠长又寂寥的雨巷"时,我听了大佬们关于"AI大模型"的技术分享,瞬间醍醐灌顶。

Prompt(AI指令)的准确性,对输出结果的影响起到关键性的作用。

一直以来,我对如何描写准确有效的指令缺少思考。

正确使用 Prompt,可以让 CodeArts Snap 更懂你想要的结果。所以对 Prompt 的摸索必不可少。

接下来,让我来对 Prompt 苦练一番,从而拥有一个如春风般的"CodeArts Snap"。

Prompt 百炼成钢

Prompt 是什么?

想要清晰有效的 Prompt,首先来了解一下它是什么,才能更好的掌握它的使用方法。

Prompt 即 AI 模型的提示词。它的主要作用是给 AI 模型提示输入信息的上下文和输入模型的参数信息。

清晰有效的 Prompt 可以帮助 AI 模型更好地理解开发者的意图,给出准确的响应。

如何编写有效 Prompt

一个有效的 Prompt 编写有几点要素:

  • 任务概括,任务目标的概括。
  • 输入数据,与任务结果相关的数据。
  • 输出结果,期望任务输出的最终结果。
  • 其他约束或特殊要求,任务输出结果时,需要满足的其他要求。

以上要素,任务输出是必须的,其他则是非必须的。通常一个有效的 Prompt 包含其中几点。

练习1:三角形面积计算

我们先从简单的功能开始练习,一个三角形面积计算的功能来"开开胃"。

输入 Prompt

函数的 Prompt有几个关键点:函数描述,函数入参,函数输出。

所以,关键点的描述准确了,功能也就八九不离十了:

  • 函数描述:计算给定底边和高度的三角形的面积;
  • 函数入参:[23, 35]
  • 函数输出:请写出完整的功能内容并输出结果,不要输出任何其他信息。
"""
Calculates the area of a triangle given its base and height. args:[23, 35],Please write the complete function content and output the results, and do not output any other information。
:return:
"""

生成代码

在注释下方进行"回车"操作,CodeArts Snap 可以自动生成代码:

def area(base, height):
    return base * height / 2

print(area(23, 35))

>>> 402.5

这个代码结果很符合预期。

练习2:又见贪心算法

之前体验 CodeArts Snap 的时候,然它实现过一个贪心算法。但是现在回看之前写的 Prompt,并不够清晰有效。

我来按照上面提到的 Prompt 要素,重新写一个。

输入 Prompt

"""
任务介绍:请实现一个算法,目的求出有固定承载量的轮船最多可装载多少个货物;
任务入参:轮船的承载量为max_w,货物重量列表w_list;
任务内容:现在从重量最小的货物开始装货,已经装入的货物的总重量sum_w,已经装入的数量sum_count,当sum_w大于max_w时,就不用装入货物。求出最多能装入货品的数量sum_count;
请写出完整的内容并输出结果,不要输出任何其他信息。
:return:
"""

生成代码

在注释下方进行"回车"操作,CodeArts Snap 可以自动生成代码:

def max_w_count(w_list, max_w):
    sum_w = 0
    sum_count = 0
    for i in w_list:
        if sum_w + i <= max_w:
            sum_w += i
            sum_count += 1
    return sum_count
w_list = [4, 10, 7, 11, 3, 5, 14, 2]
print(max_w_count(w_list, 30))

>>> 5

优化建议

不过,在体验过程中,也发现了一些使用上的不方便的地方,整理了几个优化建议。

1、功能准确性还有待提升

有时候会出现代码不全的情况,有时候,代码结尾出现一个多出来且没有写完全的"if"语句

2、功能匹配的精度还有待提升

有时候,代码会比注释描述的内容多很多,且会出现重复循环的代码,建议提升最终代码的精准。

总结

有了清晰有效的 Prompt 的加持,CodeArts Snap 助我成为“10倍”开发者未来可期。

CodeArts Snap 给出代码的速度确实快,不愧是:

最佳智能学习伴读,提供沉浸式学习体验,助力充满能量的开发者。

但是,有一点使用中不方便的地方:

功能注释要尝试多次,才能得到想要的功能。

未来,我还需要不断摸索"功能描述",让 CodeArts Snap 生成的代码更加准确💐。


作者:非职业「传道授业解惑」的开发者叶一一
简介:「趣学前端」、「CSS畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。

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

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

相关文章

Ubuntu+Apache+MySQL+PHP+phpstorm+xdebug下的debug环境搭建(纯小白笔记)

关键词 一、win10双系统装Ubuntu&#xff08;Deepin&#xff09; 参考文章&#xff1a; https://www.cnblogs.com/masbay/p/11627727.html 1.1 首先需要确定自己操作系统的引导方式 1.1.1 查看BIOS模式 “winr"快捷键进入"运行”&#xff0c;输入"msinfo32…

微软 AD |域控制器 | 组件 | 域服务 | 对象解析

介绍 Active Directory&#xff08;AD&#xff09;&#xff0c;是微软的目录服务&#xff0c;提供强大的功能和管理体系&#xff0c;用于组织管理和安全存储网络上的资源和用户、计算机、服务对象等信息。 AD 功能&#xff1a; 身份验证和访问控制&#xff1a; 提供集中式的身…

2024 高级前端面试题之 CSS 「精选篇」

该内容主要整理关于 CSS 的相关面试题&#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 CSS模块精选篇 1. 盒模型2. BFC3. 层叠上下文4. 居中布局5. 选择器权重计算方式6. 清除浮动7. link 与 import 的区别8. CSS3的新特性9. CSS动画和过渡10. 有哪些…

Mac中java jdk、android sdk、flutter sdk目录

1、Java JDK 目录 &#xff08;1&#xff09;官网下载的 Java JDK Java JDK下载官网 /Library/Java/JavaVirtualMachines&#xff08;2&#xff09;Android Studio下载的 Java JDK /Users/用户名/Library/Java/JavaVirtualMachines2、Android SDK 目录 /Users/用户名/Libr…

以梦为码,CodeArts Snap 缩短我与算法的距离

背景 最近一直在体验华为云的 CodeArts Snap&#xff0c;逐渐掌握了使用方法&#xff0c;代码自动生成的准确程度大大提高了。 自从上次跟着 CodeArts Snap 学习用 Python 编程&#xff0c;逐渐喜欢上了 Python。 我还给 CodeArts Snap 起了一个花名&#xff1a; 最佳智能学…

SQL注入实战:二阶注入

一、二阶注入的原理 1、二阶注入也称为SOL二次注入。 2、二次注入漏洞是一种在Web应用程序中广泛存在的安全漏洞形式:相对于一次注入漏洞而言&#xff0c;二次注入漏洞更难以被发现&#xff0c;但是它却具有与一次注入攻击漏洞相同的攻击威力。 3、简单的说&#xff0c;二次…

GitHub国内打不开(解决办法有效)

最近国内访问github.com经常打不开&#xff0c;无法访问。 github网站打不开的解决方法 1.打开网站http://tool.chinaz.com/dns/ &#xff0c;在A类型的查询中输入 github.com&#xff0c;找出最快的IP地址。 2.修改hosts文件。 在hosts文件中添加&#xff1a; # localhost n…

Leetcode—2807. 在链表中插入最大公约数【中等】

2023每日刷题&#xff08;九十九&#xff09; Leetcode—2807. 在链表中插入最大公约数 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val…

Datawhale 组队学习之大模型理论基础 Task7 分布式训练

第8章 分布式训练 8.1 为什么分布式训练越来越流行 近年来&#xff0c;模型规模越来越大&#xff0c;对硬件&#xff08;算力、内存&#xff09;的发展提出要求。因为内存墙的存在&#xff0c;单一设持续提高芯片的集成越来越困难&#xff0c;难以跟上模型扩大的需求。 为了…

力扣每日一题 ---- 1039. 多边形三角剖分的最低得分

这题的难点在哪部分呢&#xff0c;其实是怎么思考。这道题如果之前没做过类似的话&#xff0c;还是很难看出一些性质的&#xff0c;这题原本的话是没有图片把用例显示的这么详细的。这题中有个很隐晦的点没有说出来 剖出来的三角形是否有交叉&#xff0c;这题中如果加一个三角…

企业级大数据安全架构(六)数据授权和审计管理

作者&#xff1a;楼高 本节详细介绍企业级大数据架构中的第六部分&#xff0c;数据授权和审计管理 1.Ranger简介 Apache Ranger是一款被设计成全面掌管Hadoop生态系统的数据安全管理框架&#xff0c;为Hadoop生态系统众多组件提供一个统一的数据授权和管理界面&#xff0c; 管…

Redis为什么速度快:数据结构、存储及IO网络原理总结

Redis&#xff0c;作为内存数据结构存储的佼佼者&#xff0c;其高性能表现一直备受赞誉。那么&#xff0c;Redis究竟是如何实现这一点的呢&#xff1f;接下来&#xff0c;我们将更深入地探讨其背后的关键技术&#xff0c;并提供进一步的优化策略。 一、内存存储与数据结构设计…

【Linux】进程概述

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

FlashInternImage实战:使用FlashInternImage实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构编译安装DCNv4环境安装过程配置CUDAHOME解决权限不够的问题 按装ninja编译DCNv4 计算mean和std生成数据集 摘要 https://arxiv.org/pdf/2401.06197.pdf 论文介绍了Deformable Convolution v4&#xff08;DCNv4&…

单片机学习笔记---动态数码管显示

上一节我们得出一个结论&#xff0c;多位一体的数码管不可能在同一时刻显示多个不同数字&#xff0c;即使有多位选中的话&#xff0c;那显示的数字也会是相同的。这是由于他们共用引脚导致的这个现象。当然这也是为了节省引脚的连接方式&#xff0c;方便操作。 那这样的连接方式…

React中使用LazyBuilder实现页面懒加载方法二

前言&#xff1a; 在一个表格中&#xff0c;需要展示100条数据&#xff0c;当每条数据里面需要承载的内容很多&#xff0c;需要渲染的元素也很多的时候&#xff0c;容易造成页面加载的速度很慢&#xff0c;不能给用户提供很好的体验时&#xff0c;懒加载是优化页面加载速度的方…

NC开发客户端(前端)连接启动失败can‘t connect to server, please wait

效果图 解决方法 IP地址和端口要对应 1-IP地址中间启动&#xff0c;肯定是这个127.0.0.1 2-端口号&#xff0c;要对应中间件启动在控制台输出的端口 或者是在home目录-》bin-》sysConfig.bat这里面的服务器&#xff0c; 里面可以看到对应启动ip地址和端口

浪花 - 响应拦截器(强制登录)

1. 配置响应拦截器 import axios from axios;const myAxios axios.create({baseURL: http://localhost:8080/api/, });myAxios.defaults.withCredentials true;// 请求拦截器 myAxios.interceptors.request.use(function (config) {// Do something before request is sentc…

【C++】list讲解及模拟

目录 list的基本介绍 list模拟实现 一.创建节点 二.迭代器 1.模版参数 2.迭代器的实现&#xff1a; a. ! b. c. -- d. *指针 e.&引用 整体iterator (与const复用)&#xff1a; 三.功能实现 1.模版参数 2.具体功能实现&#xff1a; 2.1 构造函数 2.2 begi…

第139期 做大还是做小-Oracle名称哪些事(20240125)

数据库管理139期 2024-01-25 第139期 做大还是做小-Oracle名称哪些事&#xff08;20240125&#xff09;1 问题2 排查3 扩展总结 第139期 做大还是做小-Oracle名称哪些事&#xff08;20240125&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle A…