当前位置: 首页 > news >正文

通过自然语言表达你的想法。GitHub Spark让任何人都能使用人工智能,为自己创建软件...

52308ec1f8a06b185661fb0e4777a4e5.png

我们能否让任何人都能使用人工智能,为自己创建软件?尽管开发者喜欢定制自己的开发环境以提高效率和趣味性,但创建个性化应用程序的复杂性常常阻止他们这样做。

如何使个性化软件的创建变得像定制开发环境一样简单?并让更多人能够轻松实现这种个性化。


shadow:

我今天仔细学习了Github最新发布的Spark介绍。Spark 不是用来生成代码的工具,而是用来生成应用的工具。并且,倡导生成解决问题的“微应用”,微应用聚焦解决单一的问题,而不是大而全,并且是个性化的问题

在Spark的功能上,有非常多值得学习的新的人机交互的方式和功能点。我把重点信息都做了加粗,分享给大家:

731de353e5b265faf1e954e224b5dcb4.gif

GitHub Spark 简介

GitHub Spark 是一款由人工智能驱动的工具,用于创建和共享微应用(sparks),这些微应用可以根据您的确切需求和偏好进行定制,并可直接从您的桌面和移动设备上使用。无需编写或部署任何代码。

它通过3个主要功能实现:

  1. 基于 NL 的编辑器,可轻松描述您的想法,然后随着时间的推移不断完善它们

  2. 托管运行时的环境,用于托管您的 Spark,并让其访问数据存储、主题和 LLM
  3. 支持 PWA 的管理后台,让你可以从任何地方管理和启动你的 spark

此外,GitHub Spark 还允许您与他人共享您的 spark,并控制他们的只读或读写权限。然后,他们可以选择收藏 spark ,并直接使用它, 或重新混合它(fork?),以进一步适应他们的偏好。

非常……个性化!

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

什么是“微应用程序”?

GitHub Spark 遵循Unix的应用哲学,软件应该专注于完成一个特定的任务,并且要做到最好。这个任务应特别满足用户的需求,无论其使用时长如何。换句话说,软件应简单、专注、高效地解决一个问题即使这个问题是短暂的或小众的。

(Unix的应用哲学强调软件应专注于做好一件事,通过简单、模块化和可组合的设计来实现高效和灵活的解决方案)

所以“微”并不是指应用程序的价值大小,而是指其功能复杂性的大小。

灵感/案例

以下是使用 GitHub Spark 制作应用的一些灵感。这些灵感包括生活管理工具、学习辅助工具、搞笑动画和新闻客户端。但它们的共同点是:它们的外观和感觉完全符合创作者的期望。不多也不少 ❤️

371f555d9f6a8e680816ec6fd845bb09.png

儿童零花钱追踪器,可以以只读或读写模式(父母)使用,并在达到收入目标时使用 LLM 生成庆祝信息。

20a07d51886e60ebe82dcd32532314a5.png

一个六岁孩子想象并创造的动画:汽车世界。

a5f60786a19dcdcc55f1903b92e82eba.png

一款用于追踪每周卡拉 OK 之夜以及每位受邀嘉宾状态的应用程序。

7edee977bef2a1bf225a6d41e243df18.png

由一名 10 岁的孩子在学校创建和使用的一款地图应用,允许按名称搜索城市,然后使用 LLM 生成有趣的 tldr 描述。

TL;DR(Too Long; Didn't Read)是对长篇内容的极简总结,通常只有一句话,旨在快速传达核心信息。

efc933169e313b2ad09a8f5cd4ccfb8e.png

一个自定义的 HackerNews 客户端,显示前 20 个帖子,并使用 LLM 总结评论(这真的很有用!)。这是某个团队的日常 HN 驱动程序。

GitHub Spark 主要功能👍


基于 NL 的工具链

创建应用时,您必须知道自己想要什么。不仅仅是总体思路,还有确切的功能、详细的交互行为以及整体外观和感觉。不幸的是,这可能会变得相当复杂,甚至可能让人不知所措,甚至中途放弃。这正是GitHub Spark 要解决的问题!

GitHub Spark 让你从一个简单的想法开始,例如 :“一个跟踪我孩子零花钱的应用程序”。

然后通过“辅助探索”让复杂性慢慢浮现。特别是,它基于 NL 的编辑器旨在让创建过程变得轻松有趣!

—— 四个核心功能:

交互式预览

修订版本

自动历史记录

模型选择



交互式预览

当您在 GitHub Spark 中输入 NL 表达式时,它不仅会生成代码,还会立即运行并通过交互式预览显示它。这种“以应用程序为中心的反馈循环”允许您根据需要,快速地调整细节,直观地了解您的意图时进行迭代:

“嗯,我想我想要在这里添加一个切换按钮!”

5814ee1a602a65eec1d1b8455d6baf22.png


修订版本

当您创建或迭代 spark 时,您可以选择请求一组变体。这将生成 3-6 个不同版本的请求,每个版本都有细微但有意义的差别

你可能知道自己想要某个功能,但不太清楚它的外观或行为,因此获得一些可以启发和扩展思维的想法会很有帮助。就像一个 AI 思想伙伴!

(和你一起在做头脑风暴

6561edd31d3a084862fc8f0d4d565d02.png要求对模棱两可的修订版本进行修改

自动历史记录

当你迭代 spark 时,每个修订都会自动保存,只需单击一下即可恢复。这样你就可以探索想法(和变体),而不必担心丢失任何进度。更重要的是,你无需自己管理版本控制。这可以实现一种“好奇心驱动的开发”,你可以先有一个想法,然后尝试一下,而不必担心会产生任何负面后果(例如弄乱你的应用程序)。

0800e414cd67230c33299fcc0c232c1a.png

从协作的角度来看,历史记录也非常引人注目,因为每当有人与您分享火花时,它都会提供一种“语义查看源代码”的形式。在创建 GitHub Spark 时,我们发现我们会自然而然地互相分享新想法,然后立即查看历史记录以了解他们是如何实现的。这几乎就像能够窥视他人的思想,并看到他们序列化的思维过程。

模型选择

创建或修改火花时,您可以从四个 AI 模型中选择一个:Claude Sonnet 3.5、GPT-4o、o1-preview 和 o1-mini。这很棒,因为它允许您尝试一个想法,如果您没有得到预期的结果,您可以撤消并使用完全不同的模型重试。此外,历史记录会跟踪您每次修订使用的模型,这让您可以看到火花随着时间的推移如何演变。

2a7d6093d7cc6c3ffa7af2aa837cd373.png

创建新 spark 时选择模型

31cfdc5ac69c1bfe7975fff666b1be4a.png

修改现有火花时选择模型



托管运行时环境

我们将 GitHub Spark 称为“以应用为中心”的工具(而不是“以代码为中心”的工具)。这并不是因为它不允许您查看或编辑代码(它可以!),而是因为它旨在创建可供查看、感受和使用的应用 — 而不是简单地生成代码,然后期望您使用它来执行某些操作(构建、部署、配置数据库等)。

它通过为其工具链添加一个托管运行时环境来实现这一点,该环境围绕四个核心功能构建:

免部署托管

主题化设计系统

持久数据存储

集成模型提示

免部署托管

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


主题化设计系统

为了确保您的应用外观和感觉良好,GitHub Spark 包含一组内置 UI 组件和一个可主题化的设计系统。因此,每当您创建新应用时,表单控件、布局和图标等内容看起来都应该是开箱即用的。如果您想进一步调整任何内容,可以使用主题编辑器更改默认的强调色、边框半径、应用间距和颜色主题(浅色/深色)。

持久数据存储

无论是制作待办事项列表、园艺规划器还是井字游戏,大多数有趣的应用都需要存储数据。GitHub Spark 运行时可以满足您的需求,它提供托管键值存储,并自动知道何时使用它。此外,GitHub Spark 还提供数据编辑器,让您轻松查看和编辑 Spark 正在使用的数据。这样,您就可以完全控制任何状态,而无需担心任何细节。

集成模型提示

GitHub Spark 运行时与GitHub Models集成,允许您向 Spark 添加生成式 AI 功能,而无需任何 LLM 知识(例如,总结文档、为儿童睡前应用生成故事)。此外,它还提供了一个提示编辑器,可让您查看 GitHub Spark 生成的提示,并允许您根据需要对其进行调整 - 而无需编辑任何代码。

639743a271bf93f8be7fc4c0c320466b.png

查看你的 spark 正在使用的 AI 提示,

然后手动编辑一个

呼!这可真不少。但为了让 GitHub Spark 实现愿景:

将应用程序创建成本降至零

我们觉得这个工具链和运行时是绝对必要的。而且我们认为用户会喜欢它的使用体验 🥰

另外我们还在探索以下方向:

扩展协作模式

例如公共画廊,允许用户对某人在其 spark 分叉中所做的更改进行语义合并、多人游戏

扩展编辑器界面

例如,提供“X射线模式”,允许总结和调整应用程序的精确行为。

X光模式,该模式允许用户:

1/ 总结应用的整体结构和组件:帮助用户了解应用的各个部分是如何组织和相互联系的。

2/ 调整应用的具体行为和交互:使用户能够精细地控制和修改应用的行为,确保其运行方式完全符合个人需求。

这种“X光模式”旨在为用户提供更深入的理解和更精细的控制,使他们能够更准确地调整和优化他们的微应用(sparks),从而更好地满足特定的使用场景和需求。

扩展运行环境

例如更多内置组件、更好地与第三方服务集成、实现文件存储和向量搜索

最后,Github提到了:

还有很多我们还没有想到的很酷的东西!

欢迎分享本文,

目前有130人

在Mixlab AI编程社区探索

个性化应用的无限可能~~

8f96f251ad6453bd625492960be590ab.jpeg

原文:

https://githubnext.com/projects/github-spark

相关文章:

通过自然语言表达你的想法。GitHub Spark让任何人都能使用人工智能,为自己创建软件...

我们能否让任何人都能使用人工智能,为自己创建软件?尽管开发者喜欢定制自己的开发环境以提高效率和趣味性,但创建个性化应用程序的复杂性常常阻止他们这样做。 如何使个性化软件的创建变得像定制开发环境一样简单?并让更多人能够轻松实现这种…...

c++的list类

本篇将讲述list类中的各种重要和常用函数(begin()、end()、rbegin()、rend()、empty()、size()、front(&#…...

uniapp数据缓存

利用uniapp做开发时,缓存数据是及其重要的,下面是同步缓存和异步缓存的使用 同步缓存 在执行同步缓存时会阻塞其他代码的执行 ① uni.setStorageSync(key, data) 设置缓存,如: uni.setStorageSync(name, 张三) ② uni.getSt…...

HarmonyOS-权限管理

一. 权限分类 1. system_grant system_grant 为系统授权,无需询问用户,常用的权限包括网络请求、获取网络信息、获取wifi信息、获取传感器数据等。 /* system_grant(系统授权)*/static readonly INTERNET ohos.permission.INTE…...

Github 2024-11-02 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-11-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目2Dart项目1RustDesk: 用Rust编写的开源远程桌面软件 创建周期:1218 天开发语言:Rust, Dart协议类型:GNU Affero Genera…...

修改HarmonyOS鸿蒙图标和名字,打包后安装到真机,应用图标丢失变成透明,修改名字也不生效,还是默认的labeL解决方案教程

HarmonyOS鸿蒙打包hap 安装应用到桌面没有图标,用hdc安装到真机,打包后应用图标丢失变成透明,名字也还是默认的label的bug,以下是解决方案 以下是修改方案: 1、修改应用名字: 2、修改应用图标&#xff1a…...

unreal engine5动画重定向

UE5系列文章目录 文章目录 UE5系列文章目录前言一、下载动画资源二、创建IK Rig(IK绑定) 前言 在Unreal Engine 5.4中,动画重定向(Animation Retargeting)和动作匹配(Motion Matching)是两种不…...

蓝桥杯练习笔记(二十-日期问题)

日期题常见于填空题,关键点涉及闰年的判断和星期几的判断 1.根据间隔天数计算日期 题目来源:CSDN算法技能树 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:…...

jenkins 构建报错 mvn: command not found

首先安装过 maven,并且配置过环境变量 win r ,输入 cmd 键入 mvn -v 出现上图输出,则证明安装成功。 原因 jenkins 没有 maven 配置全局属性, 导致无法找到 mvn 命令。 解决方案 找到全局属性,点击新增,配置 MAVEN_HOME 路…...

Vue computed watch

computed watch watch current prev...

【java】java的基本程序设计结构06-运算符

运算符 一、分类 算术运算符关系运算符位运算符逻辑运算符赋值运算符其他运算符 1.1 算术运算符 操作符描述例子加法 - 相加运算符两侧的值A B 等于 30-减法 - 左操作数减去右操作数A – B 等于 -10*乘法 - 相乘操作符两侧的值A * B等于200/除法 - 左操作数除以右操作数B /…...

数据建模圣经|数据模型资源手册卷3,数据建模最佳实践

简介 本书采用了类设计模式的方式对数据模型进行高度抽象总结,展现了常见的数据模型构建模型等模型的作用、层次、分类、地位、沟通方式,和业务规则。使用一个强大的数据模型模式的数据建模,评估特定与广义模型的优缺点,有助于你改…...

Kafka相关知识点(上)

为什么要使用消息队列? 使用消息队列的主要目的主要记住这几个关键词:解耦、异步、削峰填谷。 解耦: 在一个复杂的系统中,不同的模块或服务之间可能需要相互依赖,如果直接使用函数调用或者 API 调用的方式,会造成模块之间的耦合…...

network HCIE认证

#1 ip地址设置 ip add 192.168.1.1 255.255.255.0 ip add 192.168.1.2 255.255.255.0 #2 DHCP 交换机上配置 system-view //进入系统配置 dhcp enable int g0/0/1 //接入接口管理 dhcp select interface //配置dncp选择接口 #3 DNS域名系统 int g0/0/1 dhcp server dn…...

造纸粉体分散机、改性包覆机、改性打散机

包覆改性机在造纸填料中的应用是近年来造纸行业技术创新的一个重要方向。通过包覆改性,可以改善填料的表面性质,提升其在纸张中的留着率和分布均匀性,进而增强纸张的性能,降低生产成本。以下是包覆改性机在造纸填料中的具体应用及…...

npm入门教程1:npm简介

一、基本概述 定义:npm是一个开源的JavaScript包管理器,它允许开发者下载、安装、发布和管理Node.js包。地位:npm是Node.js生态系统中不可或缺的一部分,为开发者提供了丰富的第三方库和工具。起源:npm由Isaac Z. Schl…...

Vue3使用AntV | X6绘制流程图:开箱即用

x6官方地址X6图编辑引擎 | AntV 官方文档仔细地介绍了很多丰富的功能,这里的demo可以满足基本的使用,具体拓展还需要仔细看文档内容 先上效果图 1、安装 通过 npm 或 yarn 命令安装 X6。 # npm npm install antv/x6 --save# yarn yarn add antv/x6 …...

grpc 快速入门

gRPC 是一个现代的远程过程调用(RPC)框架,由 Google 开发。它使用 HTTP/2 作为传输协议,并采用 Protocol Buffers(protobuf)作为接口描述语言(IDL)。gRPC 提供高效的通信、语言无关性…...

layui 实现 城市联动

<div class"layuimini-container"><form id"app-form" class"layui-form layuimini-form"><div class"layui-form-item"><label class"layui-form-label">标题</label><div class"la…...

C++11标准模板(STL)- 常用数学函数 - 分类及比较 - 对给定的浮点值分类(std::fpclassify)

常用数学函数 对给定的浮点值分类 std::fpclassify 定义于头文件 <math.h> #define fpclassify(arg) /* implementation defined */ (C99 起) 归类浮点值 arg 到下列类别中&#xff1a;零、非正规、正规、无穷大、 NaN 或实现定义类别。该宏返回整数值。 忽略 FLT_EV…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...