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

前言

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畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。

如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。

相关推荐
Ares-Wang11 天前
网络》》常用设备 开启web登录
华为snap
猫头虎16 天前
openEuler异构算力体系下的GPU加速性能测试与优化研究
开源·github·aigc·ai编程·ai写作·gpu算力·华为snap
联系QQ87622396520 天前
PMSM伺服控制系统仿真:稳定跟踪给定位置的环境响应与性能分析
华为snap
虎头金猫23 天前
MateChat赋能电商行业智能导购:基于DevUI的技术实践
前端·前端框架·aigc·ai编程·ai写作·华为snap·devui
亚力山大抵1 年前
网络学习第四篇
网络·华为snap·静态路由配置·华为实验
JovaZou1 年前
Snap 发布新一代 AR 眼镜,有什么特别之处?
ai·ar·虚拟现实·华为snap·增强现实
清☆茶1 年前
IDEA中配置代理,解决Codearts Snap登陆不了的问题
华为snap
叶一一yyy2 年前
臻于至善,CodeArts Snap 二维绘图来一套不?
python·信息可视化·华为snap
叶一一yyy2 年前
以梦为码,CodeArts Snap 缩短我与算法的距离
算法·华为snap