5 种 可帮助开发人员提高工作效率的 AI 工具
推荐:使用NSDT场景编辑器助你快速搭建 3D 应用场景
如果没有完整的团队,学习新功能或修复旧问题可能会占用不成比例的时间——可能是数小时的搜索、阅读文档和观看教学视频。幸运的是,人工智能的进步大大加快了这一过程。
每个人都立即想到的 AI 巨头是 ChatGPT,它不知何故自 2022 年 <> 月以来才可用。可能感觉它已经很久了,因为人工智能极大地改变了谦虚的开发人员的日常生活。
然而,ChatGPT 是相当通用的。人工智能真正闪耀的地方在于为解决开发世界中的特定问题而存在的专用工具。
有很多工具符合此描述,但让我们继续看一下其中的五个工具,并了解它们的用途。跳跃前进:
Phind
bloop.ai
Codeium
ColPat
RegExGPT
在本文末尾,您可以查看总结所有五个 AI 开发工具用例的表格,以更好地了解每个工具如何适应您的工作流程。
如果您打算为开发人员利用这些或任何其他 AI 工具,请务必通读我的小警告,以了解一些要记住的注意事项。否则,让我们开始吧!
Phind
从我们的列表中开始的是 Phind,这是一个承诺成为搜索引擎的工具,但为开发人员量身定制。虽然像 ChatGPT 这样更通用的工具几乎可以解决任何问题,但 Phind 是专门为开发人员量身定制的。
有趣的是,“搜索引擎”的这个位置意味着 Phind 的回应通常由两部分组成:
对您的特定问题进行非常详细和有见地的回答
通过搜索检索到的相关链接
通常,您会在询问 AI 问题和浏览搜索结果之间来回切换,以拨入您想要的内容。
使用 AI 解决编程问题的一件更烦人的事情是,当 AI 模型不太确定答案时,它可能会开始虚张声势。因此,它可能会给你看似合理的答案,但根本不起作用。
这是令人沮丧的,因为你可以在应该工作的事情上投入大量时间,只是在一段时间后发现人工智能基本上已经把你引入歧途。对于您的生产力来说,可能没有什么比追逐那些一开始就行不通的东西更糟糕的了。
让我们以 Phind 为例,询问它如何使用 Rust 连接到 Windows 上的蓝牙低功耗(BLE)设备。这是一个有趣的问题,因为, 虽然蓝牙无处不在, 找到有关如何搜索和连接到 BLE 设备的示例非常困难.
在 Phind 中使用“在 Windows in Rust 中查找并连接到 BLE 设备”作为输入会导致以下结果:
在左侧,我们得到一个使用该包的 Codeium 示例,这是用于此包的正确包。btleplug
在右侧,我们还获得了搜索结果,因此我们可以快速跳转到板条箱的货物页面。这意味着我们可以在有关如何使用 Codeium 的示例和文档本身之间快速跳转。btleplug
相比之下,向 ChatGPT 询问相同的问题告诉我们使用比 Windows 更旧且不支持 Windows 的 crate。所以 Phind 在这种情况下肯定产生了更好的结果。rumblebtleplug
截至 2023 年 <> 月,Phind 是免费的,没有订阅选项,这是一个很好的奖励。
总之,以下是 Phind 的与众不同之处:
非常适合编码问题
搜索结果显示在生成的答案旁边 — 很好的附加上下文
似乎给出了比 ChatGPT 更好的编码答案
自由
bloop.ai
在不同的时候,我有理由将各种 GitHub 存储库克隆到我的计算机上。通常,我这样做是为了尝试修复某个错误或了解给定的存储库如何解决某个问题。
每当我这样做时,总会在开始时有一个时期,我必须了解存储库的结构以及在哪里可以找到我正在寻找的代码。这种“入职”可能需要几分钟到几小时的时间。
bloop.ai 希望加快这一进程。您可以克隆整个 GitHub 项目,然后询问有关存储库 bloop.ai 问题。在这种情况下,我克隆了存储库,并询问了 BLE 扫描如何适用于 Windows 设备:btleplug
这实际上是一个相当困难的问题。有问题的库支持四个不同的平台,因此 bloop.ai 必须找到特定于 Windows 的代码。
此外,由于代码是在接口后面抽象的——为了规范化 API 表面,无论你在哪个平台上——bloop.ai 还必须找到实际的平台实现。btleplug
bloop.ai 对个人也是免费的。要使用它,您必须:
下载应用程序
安装它
登记
将其与您的 GitHub 帐户连接
完成此操作后,您可以根据自己的喜好克隆和检查存储库。
bloop.ai 真正帮助提高生产力的另一种方式是在开发人员离开组织的背景下。
我继承了代码库,这些代码库是其他开发人员专业知识的产物,要理解应用程序如何组合在一起并不容易。能够将存储库加载到 AI 辅助工具中,然后用问题敲打它肯定会消除大量的试验和错误。
最后,桌面应用程序看起来很棒。高度的抛光使该应用程序使用起来很愉快。
以下是使 bloop.ai 对开发人员而言出色的原因的摘要:
了解现有代码库,而不会浪费几天时间
内联聊天使您可以轻松地在您需要的地方获得答案
该应用程序非常漂亮
Codeium
您可能听说过其他 AI 辅助编程工具,例如 GitHub Copilot。Codeium 的工作方式与此非常相似,在您编写代码时在代码库中提供上下文建议。这令人印象深刻。
例如,如果你在 Rust 中编写一个函数,比如 ,Codeium 插件会建议一个函数来做到这一点:calculate_fibonacci_sequence()
在上面的例子中,我只是写了函数名,Codium 提出了一个可以满足这个需求的函数。虽然 ChatGPT 甚至 Phind 可能需要几分钟来建议答案,但 Codeium 只花了几秒钟就推出了一个可以在大部分时间工作的功能。
Codeium 的建议并不总是完美的,但它通常比自己从头开始编写整个函数更快。
这对您的生产力非常有用,因为您不必搜索如何实现给定的功能。有时,只需为您的函数指定您希望它执行的操作的名称就足以让 Codeium 填写其余部分。
Codeium 真正闪耀的地方在于编辑器支持。虽然 VS Code 是当今许多 Rust 开发人员的事实标准,但我很高兴地发现 CLion 和许多其他 JetBrains IDE 的原生支持。支持的编辑器列表令人印象深刻 - 看看它:
除此之外,Codeium 团队还传达了一条非常引人注目的信息,即为什么 Codeium for Individual(个人版)现在和将来都是免费的,这个工具似乎是这个领域的一个很棒的产品。
总之,Codeium 提供:
实时、近乎即时的代码建议
极其广泛的 IDE 支持
ColPat (Color Palette & Design Tool)
你可以制作世界上最好的应用程序,但如果它看起来很痛苦,或者它甚至只是丑陋,人们将很难参与其中。寻找看起来不错的互补色和主题有时需要训练有素的眼睛——或者大量的试验和错误。
幸运的是,ColPat 提供了一种为您的网站或应用程序创建主题和颜色的简单方法:
只有两个 ColPat 的工具——来自图像的调色板和来自颜色的调色板——专门标识为使用人工智能来准备结果。否则,似乎这一切都发生在本地;通过浏览源存储库,尚不清楚 AI 实际上如何参与生成调色板,或者是否参与生成。
但是,ColPat 仍然是一个很棒的工具,它绝对可以帮助您为您的网站或应用程序生成互补的配色方案。
总之,科尔帕特是:
非常适合快速确定应用的精美设计
可能实际上不是人工智能辅助的,但仍然运行良好
RegExGPT
在开发生涯的某个时刻,您需要从更大的文本字符串中过滤文本。造成这种情况的潜在原因有很多——也许您正在尝试将数据从一种类型转换为另一种类型,或者您正在尝试自动化某些内容。
在你职业生涯的早期,你可能会满足于拆分一些字符串和处理字符数。但最终,您可能会最终使用正则表达式。
正则表达式在软件开发中无处不在,因为它们非常强大。但是,它们并不容易阅读。
例如,谷歌提供了一些例子,展示了一些实现特定目的的正则表达式,但它们并不是你所说的很容易解释的。在像 StackOverflow 这样的网站上也有复杂的帖子,他们发现语法非常神秘。
例如,此正则表达式获取以 、 和 结尾的匹配电子邮件地址:yahoohotmailgmail
(\W|^)[\w.\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)
还有其他网站,如正则表达式 101,可以让您提供一些输入,然后使用您的正则表达式,直到它完成您想要它做的事情。
传统上,这种方法 - 提供输入,然后尝试制作查询,直到你得到你想要的东西 - 是你实现其中许多目标的方式。当然,这是在访问了大约每个关于 ColPat 如何工作的 StackOverflow 问题之后。这可能是一个耗时的过程。
幸运的是,我们可以通过使用 RegExGPT 快进很多这个过程。无需猜测 ColPat,您可以简单地提供字符串以及您希望从中获得的值。
对于更复杂的查询,您还可以提供自然语言提示 - 例如,“我想要逗号分隔数组中的第三个值” - RegExGPT 将泵出一个 RegEx,该 RegEx 完全可以执行您希望它执行的操作。
例如,冒着召唤 Zalgo 的风险,我可以使用 RegEx 从 HTML 锚点选项卡中读取:href
RegExGPT 给出了这个有用的回复:
在 Chrome 开发人员控制台中旋转时,我们可以看到结果符合预期:
正则表达式从未如此简单!
总之,您可以使用正则表达式 GPT 来:
让 AI 为您编写神秘的正则表达式
彻底测试生成的表达式!流氓正则表达式查询可能会造成相当大的伤害
AI 开发人员工具的摘要表
那么,当您遇到特定问题时,您应该使用什么工具?
小告诫
有了所有的人工智能辅助工具,尝试解决开发问题突然变得容易多了。但是很多这些技术都是基于 GPT-3.5 或 GPT4 的。这些语言模型是一个巨大的飞跃,对广泛的应用程序很有帮助。
但是,截至目前,有时向 AI 模型提出问题可能会导致 AI 模型不知道。当这种情况发生时,模型不会告诉你它不知道,而是经常试图虚张声势地通过答案。这些在技术上被称为幻觉。
这可能有两个问题。对于初学者来说,你可能会得到错误的信息,听起来合理,但完全错误。
随后,因为它听起来很有道理,你可能会花相当多的时间试图让人工智能解决方案工作,然后才意识到它永远不会奏效。这是浪费时间,不利于您的生产力,这就是我们首先在这里的全部意义。
如果你的 AI 解决方案不适合你,不要害怕快速失败并尝试其他提示。
其次,考虑一下当你问工作场所的某个人如何解决某个问题时会发生什么。如果这个“解决方案”引入了一个更大的问题,你就有人回去问代码出了什么问题。对于基于 GPT 的解决方案,情况并非如此。
例如,假设您使用 GPT 辅助语言模型生成了正则表达式查询。如果该正则表达式在小型测试中为您工作一次,但在生产中对更大的数据集失败,那完全取决于您。
没有高级开发人员会接受,“但是 AI 建议了特定的正则表达式查询!”作为中断之类的借口。当然,为人工智能编写的代码可能引入的问题部署补丁也会损害您的工作效率。
底线是这样的:人工智能绝对可以在各种情况下帮助你,并提供令人难以置信的帮助。但只有您作为开发人员才能认可给定的解决方案。
无论您是在编写代码还是 AI 在帮助您编写代码,质量始终很重要。使用单元测试和自动化测试来证明您的代码工作现在比以往任何时候都更加重要。
结论
现在是成为开发人员的好时机,人工智能为开发人员多年来面临的许多问题提供了解决方案。无论您是在编写新代码,尝试理解现有的代码库,还是只是想要一个新的调色板,都可以使用一种工具。
明智地使用这些工具将相当于节省许多时间,毫无疑问,我们将继续看到这个空间的戏剧性发展。如果您找到了另一个对您有所帮助的 AI 驱动的工具,请务必在评论中告诉我们!
在几分钟内设置 LogRocket 的现代错误跟踪:
访问 https://logrocket.com/signup/ 以获取应用 ID
通过 npm 或脚本标签安装 LogRocket。 必须调用客户端,而不是服务器端
LogRocket.init()
npm:
$ npm i --save logrocket
// Code:
import LogRocket from 'logrocket';LogRocket.init('app/id');
script tag
Add to your HTML:<script src="https://cdn.lr-ingest.com/LogRocket.min.js"></script><script>window.LogRocket && window.LogRocket.init('app/id');</script>
(可选)安装插件以与您的堆栈进行更深入的集成:
冗余中间件
NgRx 中间件
Vuex 插件
版权声明: 本文为 InfoQ 作者【3D建模设计】的原创文章。
原文链接:【http://xie.infoq.cn/article/1748704814753d3b5e8623c72】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论