AI 这个词很大,它能达到的高度也是目前难以望及的。我觉得作为普通人,想法和行动可以朴素一些:就是把手头的活,与 AI 结合好,一点点来。慢慢地,你会发现自己融入了这波技术洪流,并被它推至一个前所未有的世界。这件事确实让人兴奋。
上一篇文章聊了一下我对 AI 的感受与变化。这一篇就来分享一下我一个普通人在日常使用的 AI 工具以及一些提示词的小技巧。
注: 日常使用,完全主观,个人感受仅供参考。
日常使用的 AI 工具(均免费)
ChatGPT 3.5
- 官网:chat.openai.com/
- 使用频率:高
- 使用场景:debug、脚本编写、代码辅助、翻译等几乎全场景
作为最先出现的 AI 工具,也是我最常用的。在上述场景的使用体验上来说是个人感觉目前最好的工具。3.5 其实可以满足大部需求,暂时就没有用 4.0(主要还是穷)。
生成代码的功能非常强大,这两篇博客中的代码几乎都是 GPT 完成的。
Codeium
- 官网:codeium.com/
- 使用频率:高
- 使用场景:代码辅助
Copilot 的同类型代码辅助工具,支持多种语言,可以直接在常用的编辑器如 VSCode,neo vim 和 IDE 如 JetBrain 全家桶中使用。敲下几个单词,就能生成或者补全代码。
与 ChatGPT 一样,有免费版和付费版。目前使用的免费版已经足够强大,安利给同事后也得到了一致好评。最大的感受是 "它" 能读懂我的想法,生成的代码基本都是我想要的,有种比我更了解代码的错觉。定义常量或者枚举的时候也会自动补全,可以少敲许多代码。
除了代码辅助,还能帮助重构、解释代码块、生成 JSDoc 的功能。自从用上之后,就再也没有手敲过 JSDoc 了。(生产力的一大解放)
Kimi
- 官网:kimi.moonshot.cn/
- 使用频率:中
- 使用场景:搜索、文档问答、文章简牍
国产新秀。最早在一些文章中看到过月之暗面这家公司,但一直不了解他们的产品,直到在 B 站看到了推广。阅读文档或者文件这点很吸引我,毕竟看文档查 API 是日常工作之一。
之前做 DynamoDB 相关开发时把 AWS 的文档给它,然后用对话的方式"查询"文档。比起在网页上查找,这种获取取信息体验十分不错。同时限定数据源即保证回答范围,在需要细节时也可以让它给出原文或者地址再自己查看。
另外不需要魔法就能使用也很方便。目前工作中的使用频率逐渐上升中。
文心一言
- 官网:yiyan.baidu.com/
- 使用频率:低
- 使用场景:用不了魔法的时候、生成图片的时候
国产最早 AI,刚出时还挺期待的,毕竟百度坐拥国内最大搜索和贴吧。感觉应该能更适应中文环境。但实际体验上总感觉缺一口气,至少 Shell 脚本的生成质量还有待提高。
不需要魔法,偶尔魔法失效的时候会用一下。同时自带洛天依皮肤,倒是适合二次元宝宝。
免费版本也有生成图片、总结文档的功能。之前会用来总结一下 PDF,偶尔生成一下图片。
提示词技巧
分享完工具后,接下来就分享一下关于提示词的小技巧。AI 要想用得好,是需要在提示词上下一点功夫的。同样只是个人经验,不足之处还请帮助指正。
提示词工程
生成式 AI 最方便的一点就是通过自然语言对话的方式来获取答案,解决问题。不同的提问方式对结果的影响很大,问题中包含的细节越多,结果就更详细也更接近预期。在平时使用的过程中不妨多添加一些背景信息,看看效果是否会提升。
这里分享一个相关的网站:提示工程指南。里面内容很多,有些比较专业。从实用角度出发,我建议看一下提示工程简介这一章节即可。
带有细节的 AC
编写提示词的过程十分类似写 AC,都需要说把需求描述清楚。唯一不同的是提示词从自己出发,并且带有更多的细节。
我在编写提示词时,会加入技术背景、需求、具体的技术细节。比如实现"在 AWS 上实现图片上传到 S3 后用 Lambda 自动压缩的功能",我会这么编排:
text
我需要在 AWS 上实现,当图片上传到 S3 后通过 Lambda 进行压缩并替换原图片的功能。
Lambda 基于 Nodejs。需要使用最新 LTS 版本的 Nodejs,并且需要通过镜像的方式部署 Lambda。
S3 与 Lambda 之间的流量必须在 AWS 内部。压缩后的图片需要覆盖原来的图片。
AWS SDK 需要使用最新版本,其他依赖尽可能使用最新。
代码通过 TypeScript 实现。
现在请一步一步告诉我步骤并且实现代码。S3 的名称为 Test-bucket。Lambda 的名称为 Resize-img。
这样给出的结果就会比较详细,可以看一下 GPT 和 Kimi 的对比,回答得都很清楚。
对于结果还是建议 review 后使用,可以看到 GPT 指定的 Node LTS 版本过旧;Kimi 的示例代码中没有用 sharp
仅在后面提到。虽略有瑕疵,但仍然是极大地提高了工作效率。
另一点的感受就是,编排提示词的过程也是对需求重新梳理的过程。我们的视角也从开发者转变成了需求的提出者,视角的转变以及重新组织语言可以帮助我们梳理清楚需求以及发现之前遗漏的内容。
最后
上面分享的是我日常使用的工具,主要还是围绕开发这个场景。
如果大家还有好用的 AI 工具或者其他的使用场景以及好用的提示词技巧,也欢迎分享交流。
参考资料
本文由mdnice多平台发布