前言
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畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞???? | 收藏⭐️ | 留言????。