AI个人学习
和实操指南

GitHub 推出 GitHub Spark (预览版),用自然语言描述快速构建“微应用”

GitHub 宣布了一款名为 GitHub Spark 的重大新产品——允许用户仅通过自然语言描述来构建和分享微应用,极大地降低了软件开发的门槛。用户不需要具备深厚的编程知识,系统会自动处理所有技术细节,并实时展示应用构建的过程,并构建“微应用”或“Spark”的新 AI 工具。要构建微应用,用户从初始提示开始,然后 Spark 会在几秒钟内展示实时预览。然后,用户可以通过与机器人来回互动来微调它。

 

GitHub Spark


我们能否通过使用 AI 和全托管的运行时环境,使任何人都能为自己创建或改编软件?

构建和共享个性化微型应用(“sparks”)

作为开发者,我们热衷于自定义自己的环境,构建适合我们独特偏好和工作流的工具。这不仅提升了生产力和操作的舒适度,还让我们的日常工作更加个人化。而当一件事变得个性化时,通常会更加有趣。

然而,尽管我们会投入时间来管理 dotfiles、编写自动化脚本或配置编辑器设置,但我们有多少次放弃了制作自己应用的想法呢?并不是因为我们不能构建它们,而是因为它们看起来过于短暂、特定或耗时,不值得优先考虑。😩

这正是当今软件的一个讽刺之处:我们桌上和口袋里的电脑非常强大,却并没有那么“个性化”。相反,我们依赖的往往是由他人设计的通用工具,因为创建专属应用的复杂性太高。

这就引发了两个有趣的问题:我们如何让个性化软件像个性化开发环境一样简单?然后,如何使我们身边的人也能轻松实现这种个性化?不仅因为这是必要的——而是因为这可能会很有趣🙌

 

介绍 GitHub Spark

GitHub Spark 是一个 AI 驱动的工具,用于创建和共享微型应用(“sparks”),可以根据您的需求和偏好进行量身定制,且能直接在桌面和移动设备上使用。无需编写或部署任何代码。

它通过三部分紧密集成的组件实现了这一点:

  1. 一个 基于自然语言的编辑器,可以轻松描述您的想法,并随时间进行完善
  2. 一个 托管的运行时环境,用于托管您的 sparks,并提供数据存储、主题设置和大语言模型(LLM)的访问
  3. 一个支持 PWA 的控制面板,让您可以随时随地管理和启动您的 sparks

此外,GitHub Spark 允许您与他人共享您的 sparks,并控制他们是否拥有只读或读写权限。用户可以选择收藏该 spark——直接使用或 remix 它,以进一步适应他们的偏好。毕竟……个性化!

现在让我们看看它是如何工作的 🎬

 

什么是“微应用”?

GitHub Spark 订阅了Unix 哲学,它主张软件可以专注于一件事,并做到极致——特别是为你服务,只在有用的那段时间内存在。因此,“微”并不指应用价值的大小,而是指其功能复杂度的设计初衷。

例如,以下是 GitHub Spark 团队在开发 GitHub Spark 的过程中制作(并使用!)的一些 sparks。这些应用涵盖生活管理工具、学习辅助工具、有趣的动画和新闻客户端等。但它们都有一个共同点:它们的外观和感觉完全符合创建者的意图。不多不少,刚刚好 ❤️

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-1

一个儿童零用钱追踪应用,可以选择只读模式或读写模式(供家长使用),并使用大语言模型生成达成存款目标时的庆祝消息

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-2

一个六岁孩子构思并制作的动画车辆世界

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-3

用于跟踪每周卡拉OK之夜的应用,并显示每位受邀嘉宾的状态

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-4

一个地图应用,可按城市名称搜索,并使用大语言模型生成该城市的有趣总结描述。由十岁学生为学校项目创建并使用

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-5 一个自定义的 HackerNews 客户端,显示前 20 条帖子,并使用大语言模型总结评论线程(非常有用!)。这是团队每天的 HN 驱动器

在以上背景下,让我们深入讨论 GitHub Spark 的主要组件的“是什么?”和“为什么?”👍

 

基于自然语言的工具链

在创建应用程序时,你需要清楚地知道自己想要什么。不仅是一个大概的想法,还需要确切的功能集、详细的交互行为以及整体的外观和体验。不幸的是,这可能会变得相当复杂,甚至让一些人望而却步。这正是我们希望解决的问题!

GitHub Spark 缓解了这一问题,允许你从一个简单的想法开始(例如“一个用于记录孩子零花钱的应用”),然后通过“辅助探索”逐步增加复杂度。特别是,它的自然语言编辑器旨在使向前推进变得轻松且充满乐趣,主要通过以下四项核心迭代功能实现:

  1. 交互式预览
  2. 修订变体
  3. 自动历史记录
  4. 模型选择

 

交互式预览

当你在 GitHub Spark 中输入自然语言表达式时,它不仅生成代码,还会立即运行并通过交互式预览显示。这种“以应用为中心的反馈循环”允许你指定的细节可以多也可以少,然后随着视觉化地逐步理解你的意图进行迭代(“嗯,我想我这里需要一个切换按钮!”)。

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-6

 

修订变体

当你创建或迭代 spark 时,可以选择生成一组变体。这将生成 3-6 个不同版本的请求,每个版本有细微但有意义的差异。由于你可能知道自己想要某个功能,但不确定它应该如何外观或行为,因此获取启发和扩展想法的建议可能会很有帮助,就像一个 AI 思维伙伴!

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-7

在不确定的修订请求上请求变体(“让 UI 看起来非常有趣”)

 

自动历史记录

当你迭代 spark 时,每次修订都会自动保存,并可以通过单击恢复。这使你可以在不必担心丢失任何进展的情况下探索想法(和变体)。更重要的是,不需要自己管理版本控制。这种方式支持“好奇心驱动开发”,你可以想到一个点子,然后试试看,而无需担心会对应用造成负面影响(例如弄乱应用)。

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-8

从协作的角度来看,历史记录也很吸引人,因为当有人与你共享 spark 时,它提供了一种“语义查看源代码”的形式。在创建 GitHub Spark 的过程中,我们发现彼此会自然地分享新想法,然后立即查看历史记录,看看他们是如何实现的。这几乎就像能够一窥他人思想的序列化过程。

 

模型选择

当你创建或修改 spark 时,可以从四个 AI 模型中选择:Claude Sonnet 3.5、GPT-4o、o1-preview 和 o1-mini。这样做的好处在于,如果没有得到预期的结果,可以撤销并使用完全不同的模型重试。此外,历史记录会跟踪每次修订所使用的模型,从而让你可以观察到 spark 随时间的演变。

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-9

在创建新 spark 时选择模型

 

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-10

在修订现有 spark 时选择模型

 

托管运行环境

我们将 GitHub Spark 称为“应用程序为中心”的工具(与“代码为中心”的工具相对)。并不是因为它不允许你查看或编辑代码(它确实可以!),而是因为它旨在创建供人们观看、体验和使用的应用程序,而不仅仅是生成代码,然后让你自己进行构建、部署、配置数据库等操作。

GitHub Spark 通过托管运行环境的四大核心功能实现这一点:

  1. 无需部署的托管
  2. 可自定义主题的设计系统
  3. 持久化数据存储
  4. 集成的模型提示

 

无需部署的托管

当你创建或修改 spark 时,更改会自动部署,并可在桌面、平板或移动设备(通过 PWA)上运行和安装。从这个意义上来说,GitHub Spark 有点像一个微型应用云,将创建、部署和使用软件的过程简化为一个动作:通过自然语言表达你的想法 🚀

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-12

查看 spark 仪表板并在手机上打开一个 spark

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-11

 

可自定义主题的设计系统

为了确保你的应用看起来美观,GitHub Spark 提供了一套内置的 UI 组件和可自定义主题的设计系统。因此,每次创建新应用时,表单控件、布局和图标等都默认显得十分精致。如果想进一步调整,你可以使用主题编辑器更改默认的强调色、边框半径、应用间距以及颜色主题(浅色/深色)。

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-14

修改 spark 主题属性前后的对比

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-13

 

持久化数据存储

无论你在制作待办清单、园艺规划器或井字游戏,大多数有趣的应用都需要存储数据。GitHub Spark 的运行时为你提供了托管的键值存储,并自动确定何时使用它。此外,GitHub Spark 提供了一个数据编辑器,让你轻松查看和编辑 spark 使用的数据。这样,你可以完全掌控应用的状态,而无需担心细节。

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-16

查看 spark 存储的数据并编辑特定键/值

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-15

 

集成的模型提示

GitHub Spark 运行时与 GitHub Models集成,允许你在 spark 中添加生成式 AI 功能,而无需具备 LLM 知识(例如,摘要生成、儿童睡前故事生成)。此外,它还提供了一个提示编辑器,让你查看 GitHub Spark 生成的提示,并在需要时进行调整——无需编辑代码。

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-18

查看 spark 使用的 AI 提示,并手动编辑其中一个

GitHub 推出 GitHub Spark ,用自然语言描述快速构建“微应用”-17

 

呼!内容真不少。不过,为了实现 GitHub Spark 的目标(将应用创建成本降为零),我们认为这样的工具链和运行环境是绝对必要的。我们相信用户会喜欢它的使用体验 🥰

 

接下来是什么?

作为一个技术预览,GitHub Spark 还处于非常早期的阶段,有很多待完成的事项。但在接下来的几个月里,我们期待从等待名单中邀请用户加入,并每周与他们密切互动 每周更新。如果你有兴趣加入我们的旅程,请查看 FAQ,并加入 GitHub Next 的 Discord 服务器 👋

如果你对我们未来的重点好奇,可以期待以下方向的探索:

  1. 扩展协作方式(例如,公共画廊、允许用户在 spark 的分支中执行语义合并、多用户模式)
  2. 扩展编辑器功能(例如,提供“X 光模式”,允许总结和调整应用的精确行为)
  3. 扩展运行时环境(例如,更多内置组件、更好的第三方服务集成、文件存储和向量搜索支持)
  4. 还有许多我们甚至还没想到的酷炫功能!
AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » GitHub 推出 GitHub Spark (预览版),用自然语言描述快速构建“微应用”

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们