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

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

相关推荐
JovaZou10 天前
Snap 发布新一代 AR 眼镜,有什么特别之处?
ai·ar·虚拟现实·华为snap·增强现实
清☆茶3 个月前
IDEA中配置代理,解决Codearts Snap登陆不了的问题
华为snap
叶一一yyy8 个月前
臻于至善,CodeArts Snap 二维绘图来一套不?
python·信息可视化·华为snap
叶一一yyy8 个月前
以梦为码,CodeArts Snap 缩短我与算法的距离
算法·华为snap
叶一一yyy8 个月前
念念不忘智能编程,必有回响CodeArts Snap
人工智能·华为snap
宾盛官方1 年前
HTML制作五子棋
c语言·人工智能·华为·html5·华为snap
华为云PaaS服务小智1 年前
华为云CodeArts Snap 智能编程助手PyCharm实验手册. 插件安装与使用指南
华为云·华为snap