ITPub博客

首页 > 人工智能 > 人工智能 > ChatGPT是如何帮助我写代码的?

ChatGPT是如何帮助我写代码的?

人工智能 作者:人工智能洞察站 时间:2023-06-05 13:37:14 0 删除 编辑

来源:分布式实验室

现在,AI 发展如火如荼。我在社交媒体上看到的内容都是关于使用 ChatGPT 插件能做些什么新鲜事,或者展示由生成式 AI 创造的新照片。这些都相当酷,我对此感到很兴奋。

科技界似乎正全力投身于这场 AI 的淘金热潮中。现在每天都会涌现出新的软件、功能和增强功能,我们很快发现自己处于一个 “成败存亡” 的关键时刻。我们是要全面拥抱这些新发展,看看会带来哪些变化?还是选择无视它们,希望它们消失?抑或我们可以找到一种折中方案?

如果我们看一下上面那张人工智能采用曲线图,我估计我们仍然处于早期采用者阶段的初期。很多人在网上对此议论纷纷,但实际上在生产中使用的人并不多。

AI 时代即将到来,它无处不在。我们不会特别注意到它存在,它将被默认为已经存在,并使软件更好用。

不过对我来说,情况并非如此。我已经全身心投入其中,它已经完全改变了我规划、设计和实施软件的方式。虽然我不再是企业架构师,但我独自管理着我的网站,它背后有大量的软件和服务可以自动化一切。

现在我想分享一下,在我拥有极其强大的 AI 技术后,我是如何进行应用程序设计的。

#01

前言

在我开始之前,我们需要谈论一个我见过很多次的谬误,它会影响技术和设计决策(并最终偏离创新的方向)。

不存在完美的软件。你越早接受 “差不多就好” 的观念,你和你的客户就会越快乐。

在进行任何设计时,不要以为你正在构建完美的软件。即使你将其设计得 “完美”,在实施过程中你可能会经历多次迭代,最终导致完全改变。

不可能让每个人都满意。人们不需要 “完美的软件”,他们需要的是能解决问题的东西。

有了这个想法,我知道 AI 并不完美。它会出现一些小问题,偶尔会让我措手不及,但这没关系。如果我能以一种创新的方式解决问题,并且能够在 80% 的情况下做到正确,那我就已经为成功做好了准备。

既然我们已经明确了这一点,让我们来谈谈随着 AI 的快速普及,我们所面临的一些新可能性。

#02

新的可能性

ChatGPT 和其他生成式 AI 服务具有令人惊叹的准人类能力。以前通常需要向人类询问的问题,现在可以通过 AI 来回答。如果你愿意接受这些服务提供的答案(这是个很大的假设),那么你将打开许多以前需要人类交互才能实现的新可能性。

数据转换

当我发布博客文章时,我希望能够为我的博客创建社交媒体帖子。以前我总是手动完成这个任务,但如果有机会的话,我完全可以交给虚拟助手去完成。我有博客文章的数据,但我缺乏我目标受众喜欢的关键词、结构和格式。虽然我做这个已经有一段时间了,有一个大致的想法,但不是完美的。

然而,ChatGPT 可以做到。它知道如何从我的文章中提取信息,并根据特定的目标受众进行转化。它对市场细分有着出色的了解,我只需要询问,就可以将我的数据转换为特定受众喜欢的形式。

“针对美国的 Serverless 开发人员,为我的内容创建一条推文。”

如果我想针对其他目标进行推广,我可以要求它提供不同的变体,比如 “为我的博客文章创建一条针对西班牙的 .NET 工程师的西班牙语 LinkedIn 帖子。”

生成的回应可以直接通过 Twitter API 发送。

数据生成

这可能是我们已经知道的最常见的用法。给 ChatGPT 一个提示,让它生成数据、电子邮件或 PDF 文档。但它有如此广泛的应用领域,值得明确指出。

我曾在博客中介绍了我如何构建一个健身应用程序,每天为我生成锻炼计划。我有一个 Lambda 函数,它会随机决定每天要使用哪个肌肉群组和健身设备,并为 ChatGPT 生成一个提示。然后 ChatGPT 会为我生成完整的锻炼计划,包括热身和放松运动,然后将其保存到数据库中。

在生成式 AI 之前,这样的实现将是一场噩梦。我需要一个练习数据库,并找到一种方法来根据不同类型的锻炼进行调整。然后,我还需要设计逻辑来对练习进行伪随机化和结构化。这将是一个耗时几周,结果可能还不尽如人意的过程。

现在,我花了 3 个小时构建了一个 Step Function 工作流程,用它查询 ChatGPT 并为我完成所有繁重的工作。相比自己构建,借助 AI 的力量我节省了数周的时间。

这种应用不仅仅局限于锻炼计划,你还可以生成故事,根据提供的模式构建完整的模拟数据集,或者根据厨房里的食材创造菜谱。

现在,我可以通过合适的提示自动地生成有意义的数据。我从 “软件工程” 转向 “提示工程”。你不再需要庞大的元素数据库来满足定制的业务逻辑,只需向 ChatGPT 提供合适的提示,让它利用自身的知识即可完成。

#03

找准时机

确定何时发布内容、对事件做出反应或发送通知是非常困难的。理想的时间通常因情况而异,很少符合通用的配置。一个很好的例子是在检测到异常时通知值班工程师。你不希望在每个弹出的异常上都发送通知,因为这可能导致警报疲劳。

如果你定时将数据集传递给 AI,它可以识别异常并观察它们是否会自行解决,甚至可以推断出为什么首先出现异常。你可以为人工智能提供一些准则,只有在满足一定的条件时才发送警报,以此提高值班人员的效率,并基于人力降低总拥有成本(TCO)。

你还可以将 JSON 对象传递给 ChatGPT,并要求返回 JSON。让我们通过另一个例子来说明:员工通知。

现在许多人在家工作,很难在适合每个人的时间发送消息。因此,你可以使用 ChatGPT 来识别个人的活动趋势,以获取在统计学上高概率在线联系到他们的时间。想象一下以下的审计历史记录:

[
  {
    "timestamp": "2023-05-26T14:52:21Z",
    "event": "login"
  },
  {
    "timestamp": "2023-05-27T16:40:09Z",
    "event": "logout"
  },
  {
    "timestamp": "2023-05-28T07:55:13Z",
    "event": "login"
  },
  {
    "timestamp": "2023-05-28T19:30:10Z",
    "event": "logout"
  }
  // more audit events
]

你可以将审计历史记录提供给 ChatGPT,然后给它一个提示:

以 ISO-8601 格式返回一个具有最高概率在该人下次上线时联系到他们的 “sendAtTime” 属性的 JSON 对象。

这将获得以下回复:

{
  "sendAtTime": "2023-05-29T15:20:55Z"
}

而且你不需要构建一个完整的通知系统!你只需传入审计历史记录,并请求生成 AI 根据趋势找到下次他们上线的时间。现在你可以快速构建一个 Step Function 工作流程,加载审计历史记录,使用 Lambda 函数查询 ChatGPT,然后设置一次性的 EventBridge 计划。

这样,之前需要花费数周仔细计划和努力才能完成的工作,现在可以轻松完成。

#04

如何改变开发方式

通过前面的所有示例,一整套新的用例得以实现。我不再专注于构建平凡无奇的跟踪 CRUD 操作的系统。我们已经有了数百个解决这个问题的例子。

相反,我现在以人工推理为导向来处理软件。我思考如何通过向 ChatGPT 提问来尽量减少我的代码量。我曾多次表示,代码是一种负担。只要有机会减少代码量,我就会毫不犹豫地去做。以前,我可能会直接将 API Gateway 与不同的 AWS 服务进行连接,从而通过跳过 Lambda 函数的编写来减少代码量。

但现在,我可能甚至不需要一个端点来实现我想要的功能。这些可以自动实现。

在开发中,我采用 “我可以自动化什么,我可以从哪里获取反馈,以及何时应该采取行动” 的方法来处理数据的创建。以我的博客为例说明。

我的所有文章都在 GitHub 中保存为 Markdown 文件。当我将一篇新文章推送到主分支时,一系列活动就会自动发生:

  • 将内容在其他博客平台上进行交叉发布
  • 对文章进行摘要和分析,并收集相关的统计数据
  • 合成文本转语音的录音,并将其保存到文章中
  • 创建作家分析,包括写作技能水平、语调、专业领域和主题等方面
  • 根据内容识别目标受众以及相关受众
  • 为已识别的受众撰写社交媒体帖子,总结文章内容
  • 根据目标受众的最佳时间安排社交媒体帖子的发布计划

现在,尽管其中一些功能尚不存在,但借助生成式 AI 的出现,这些功能将得以实现。如果你看一下这些操作,ChatGPT 基本上已经成为了一个自动化的营销团队。识别与文章产生共鸣的受众,知道如何与他们联系,并在他们上线时向他们发送量身定制的消息,这些都是营销任务,而且是非常困难的任务!

但是,由于我开始采用全新的软件开发方法,这一切都成为可能。我不再关注 “如何构建一个能够执行 X、Y 或 Z 任务的系统”,而是弄清楚我需要向 AI 提出什么问题来代替我完成这些任务。

这真的是一个改变游戏规则的时刻,考虑到所有因素,这种方法的投资回报率非常高,而且成本非常低廉。是的,答案并不总是完美的,但我可以接受这一点。坦率地说,当我自己构建解决方案时,它也从来不是完美的。但是,我将完成时间缩短了 100 倍,这绝对物超所值。

Happy coding!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70027828/viewspace-2956715/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-03-16

  • 博文量
    435
  • 访问量
    308486