赞
踩
这是头哥侃码的第287篇原创
随着人工智能技术的不断发展,我们的生活日益与智能助手紧密相连。其中,ChatGPT作为一种强大的语言模型,为我们提供了更智能、更便捷的沟通方式。无论是在学习、工作还是日常生活中,ChatGPT都可以逐渐成为我们的得力助手。
所以,当你问ChatGPT,我们应该如何在生活中去看待它时,它会回答:
说这些,其实就是想表达一个点。那就是工具的意义在于实践,在于上手。对于普通人来说,AI的崛起,我们没必要考虑一些太深层的东西。只要将其能在我们自己的生活中,发挥出来一些作用,那就是皆大欢喜的状态。
而说到如何使用ChatGPT,每个人的应用场景也各不相同。像我的话,主要是应用于一些技术场景,比如单元测试和Code Review环节。
正确使用ChatGPT等AI工具,可以大幅提高工作效率,这点对于很多角色都适用。当你完全习惯这些工具后,你会发现它们基本可以完全替代比如百度或者Stack Overflow。
所以今天的这篇文章,就简单分享一下我在工作中对AI工具的一些应用细节。希望这些内容对大家能有所参考。
1
工具有很多,不用非得逮着一个薅
在ChatGPT的快速发展下,各种AI辅助工具也因此应运而生。所以,除了针对ChatGPT开发的第三方应用或插件外,也有一些利用GPT相关模型的AI辅助工具同样也十分出色。
所以这里先跟大家啰嗦一下我常用的几种方式。
| 方式一:浏览器插件Sider
其实在我们日常的浏览器内,有很多支持GPT模型的AI工具。它们大多是免费使用,但存在次数限制。
比如插件Sider,它支持GPT-4,因此使用起来跟ChatGPT没有什么区别。而且你可以随时在Chrome或者Edge浏览器中搜索并进行安装。安装完成后,可直接在浏览器内进行调用。
Sider每天会有30条免费对话,如果想要增加次数,就需要付费支持。当然也可以通过自己的邀请码去邀请别人,还可以增加使用GPT-4模型的使用次数。
当然除了Sider之外,也还有多个插件与它的功能类似,比如Monica。总体来看,如果你每天只是对AI工具有轻量需求,那么这些浏览器插件绝对是非常合适的。
| 方式二:Cursor
日常中我使用较多的是Cursor,它免费且不需要注册,在国内网络环境下就可以轻松使用。
打开 https://www.cursor.so/ 网站,就可以直接下载、安装和注册账号。这里你可以用微软或Github账号快捷登录,说白了其实它就是一个类似VS Code的IDE。
在使用体验上,它的反馈速度飞快!还可以专门设置回答语言为“永久中文模式”,这个对于大家也还蛮方便的。
当然,由于它不是ChatGPT,所以在回答问题的准确性上还不是太稳定。目前使用下来,感觉它回答编码或者开发类问题比较靠谱,其他方面问题则效果欠佳。
| 工具三:Phind
除了Cursor,我平时使用最多的就是Phind了。在我看来,Phind是非常适合开发者使用的,从它的官网页面介绍就可以明显看出来。
Phind使用的是GPT-4模型,所以在回复的速度和正确性层面,不需要有所顾虑。
直接访问官网 https://www.phind.com/,无需注册就可以直接使用,但国内网络环境无法直接使用,借助其他工具解决即可。
Phind专门针对开发者进行了相关优化,因此对开发者使用非常友好。比如在一般的网页版AI产品中,只能注入2k字符,但是使用Phind可以输入6k字符。
以上这些工具在注册过程中都非常简单,不需要一些复杂的流程或者地区限制等。如果你想更快地使用上AI辅助工具,上述这些都是不错的选择。
当然,除了这几个工具外,还有大家很熟悉的NewBing、ChatGPT或者GitHub Copilot。关于这些的使用,在网上有很多相关介绍和分享,这里我就不多赘述了,如有需要大家可以自行搜索。
2
工具只是媒介,学会提问方能发挥AI最大价值
有了工具,并不代表就可以完整体会到AI的效果了。如何将AI价值发挥到最大化,还要靠使用者,也就是我们自己。
同样一个问题,提问的质量将会直接决定AI回答的质量。因此,学会提问(Prompt)才是你应用AI工具的最重要环节。
比如下面这两个Prompt的提问方式,绝对会得到不同的AI反馈结果。
因此,我们可以得出,想让AI输出更贴近你期望的答案,那就尽可能地去向它描述背景细节,所以在实践下来后,我个人比较推荐两种格式的Prompt,仅供各位参考。
| 格式一:角色-任务-要求-问题
该格式就像导演给演员讲戏一样,你需要给AI立人设,然后描述其要完成的任务,并罗列具体要求。最后提出问题,并限定其输出的格式。
总结而来,一个通用格式大概如下:
你是一个xxx。需要你完成xxx任务。你必须要xxx,请你以xxx的形式输出xxx。
| 格式二:万能模板
格式大概如下:
我想请你XXX(做某一件事),请问我应该如何向你提问才能得到最满意的答案,请提供全面、详细的建议,针对每一个建议请你提供具体的提问范例,注意这些范例都是关于如何向你提问获取做这件事的建议的,最后根据你所有的建议,再综合提供一个总的提问范例,注意这个范例必须同时体现你所有的建议。
当然,Prompt目前也已经成为一个专门的领域甚至是学科,很多大佬都为此专门进行了研究与输出,大家感兴趣的也可以参考:
https://www.promptingguide.ai/zh
https://github.com/f/awesome-chatgpt-prompts
3
AI融入工作,妥妥提高开发效率
有了工具,学会了如何使用Prompt,接下来就可以正式落实到实践中了。
目前我接触的工作环境,大多都是偏研发方向的实践场景。在我看来,AI辅助编程是一个创业风口,各种IDE插件很多,大家都可以自己进行研究或拓展。
比如像我们公司的专业研发人员,他们目前在开发过程中主要有以下三种方式来使用AI工具。
使用web页面:如前文提到的Phind。
IDE插件:如Github Copilot,一般的IDEA和VS Code都支持,不同编程语言支持的功能可能不同。
新的IDE:如前文提到的Cursor。
由于我自己本身不是专业研发,所以关于研发人员的一些使用场景这里就不啰嗦了,毕竟咱也不是专业人士。如果你想看看别人是如何在开发过程中使用AI工具,欢迎参考相关专业人士的分享。
接下来,我会针对我自己的使用场景,进行一些简要分享。
| 场景一:写单元测试
首先额外强调一点,在单元测试场景中借助AI工具辅助,只能在搭建UT代码框架的过程中起到作用。即根据代码生成要覆盖的分支及说明,所以使用AI工具辅助仅限于提高UT编写效率。最终还是要人工整理分支覆盖、解决编译错误、调整输入、完善Assert等过程。
在单元测试过程中,我一般会直接使用Phind,因为前面我也提到了,它的UT可解释性还是很不错的。Phind的使用过程需要自己手动复制代码,所以这个过程中,我一般会提前手写一个UT类(含import和依赖bean定义),然后再把生成的UT复制到页面中,以此来减少编译错误。
如果你觉得这种需要额外复制代码的比较麻烦,也可以直接使用IDE类型的工具,比如Cursor。这样就可以选中代码后,直接输入Prompt进行处理即可。
除了以上我提到的这些,关于单元测试过程中的AI工具选择,还有Diffblue Cover、Machinet(这两者都免费、国内可直接使用、能生成完整UT类)、Tabnine(Beta阶段)、 Bito(免费、国内可直接使用)等众多产品。选择更方便且更适合自己的产品即可。
| 场景二:CodeReview
在进行CodeReview时,我完全就是将其作为一个课代表的角色进行使用。
比如在代码解读与总结过程中,我会在看源码或者一些复杂的代码时,会直接使用AI工具进行一个粗略总结。
而在代码审查与优化环节,我则会在代码完成后,利用AI工具进行检查。毕竟机器有时还是比人更细心的。
这个过程中,我一般会采用IDE模式的AI工具进行,比如Cursor。因为它们使用起来会更方便,不需要去额外copy代码等环节。
在这段时间的实践过程中,我慢慢领悟到了AI的能力。毕竟Machine Learning是机器向人学习的过程,但或许我们也可以从AI的这些真实存在中,去观察、去体验它们所能创作的价值,那就足够了。
毕竟未来世界的发展速度,一天比一天快。
我们没有办法预言,能做到的就是享受当下。
-----------------------
为了方便进行探讨和交流,我为大家建立了一个「知识星球」,一起学习,一起进步。
关于这个「知识星球」,它是免费的,有问题想问,可以随时在星球中发起提问。
我平时工作忙,而且还要健身装逼,所以留给分享与知识沉淀的精力就这么多。对于星球内的输出,要么是我的亲身经历,要么是我利用午休时间把脑子里的东西临时拼凑下,这种方式更多是对我自己的一种鞭策,之所以分享到社交平台,无非图个热闹、交个朋友。
在这里,咱们 “侃”下ChatGPT、互联网、读书分享与前沿科技。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。