跳至主要内容

负责任地使用 GitHub Spark

通过了解 GitHub Spark 的目的、功能和局限性,学习如何负责任地使用它。

注意

GitHub Spark 正处于公开预览阶段,可能会有更改。

关于 GitHub Spark

Spark 是一个由 Copilot 提供动力的平台,用于创建和分享应用(“sparks”),这些应用可以根据个人需求进行定制,并可在桌面和移动设备上无缝访问——无需用户编写或部署代码。

Spark 提供以自然语言为中心的开发环境,用于创建应用,并提供一个完全托管的运行时环境,能够随您的 spark 需求进行扩展。Spark 消除了手动管理基础设施或拼接多个工具的需求,让您专注于构建。

输入处理

注意

Spark 目前使用 Claude Sonnet 4。此模型可能会更换。

Spark 中的输入提示会先由 Copilot 进行预处理,结合您当前 Spark 输入的上下文信息,并发送到您开发环境内的基于大型语言模型的代理。包括的上下文信息有来自您的 spark 的信息,例如当前应用的代码、在 Spark 界面中提供的之前的提示,以及来自 spark 开发环境的任何错误日志。

该系统仅设计用于根据提交的提示生成代码,无法进行对话交互。提交的提示首选使用英文。

语言模型分析

提示随后会通过大型语言模型,该模型是一种在大量文本数据上训练的神经网络。语言模型分析输入提示,以帮助代理推理任务并利用必要的工具。

代理执行

运行在您开发环境中的代理接受您的提示和附加的上下文传入,并决定如何更新您的 spark 以满足您的请求。该代理能够通过编写代码、运行命令和读取执行输出等方式操作您的开发环境。代理采取的所有操作均旨在确保生成功能完整、准确的代码来执行您的提示。代理唯一的输出就是您的应用代码。

Spark 框架

Spark 代理已接受使用 Spark 提供的框架和 SDK 的训练,这些框架和 SDK 确保现代化设计和安全部署,并无缝集成到 Spark 的运行时组件中。设计框架旨在灵活且模块化,使您能够轻松修改主题以匹配所需的外观和感觉。Spark 的运行时集成通过 SDK 提供,使用网页部署的最佳实践,以确保安全、可扩展的部署。

为您的 spark 添加推理能力

Spark 的 SDK 原生集成 GitHub Models,允许您在 spark 中加入模型推理。如果 Spark 判断您的应用需要推理能力,它将使用 Spark SDK 将其添加。

Spark 为您提供创建、修改和测试将用于这些推理能力的提示的工具。Spark 不会测试您在应用中创建的提示,因此您必须确保所包含的功能按预期工作。有关 GitHub Models 负责任使用的更多信息,请参见 GitHub Models 负责任的使用

Spark 的使用案例

构建和部署全栈 Web 应用程序

您可以使用 Spark 通过自然语言为您构建全栈 Web 应用程序。Spark 的集成运行时环境允许您将这些应用部署到公共互联网。您可以根据 GitHub 账户的可见性为这些已部署的应用定义权限,使其对公众、特定 GitHub 成员、您的团队或组织成员,或仅对您本人可见。Sparks 可以是任何东西——从棋盘游戏得分跟踪器到完整的软件即服务产品——然而您部署的任何内容均受 GitHub 的 用户生成内容条款 约束。

原型化想法

Spark 帮助开发者、设计师、产品经理或其他构建者快速原型化想法,而无需从头构建应用或制作复杂的模型。这些原型可以部署以便共享,也可以保持未发布状态,让构建者即时看到他们的设想。

提升 Spark 性能

Spark 可以构建各种应用,并随着新需求的出现逐步增加复杂度。为提升性能并解决 Spark 的一些局限性,您可以采纳多种最佳实践。有关 Spark 限制的更多信息,请参见 Spark 的局限性

保持提示具体且聚焦主题

Spark 旨在构建并迭代您的 spark。您对预期行为和交互的描述越具体,Spark 输出的质量就越高。加入相关上下文,如特定场景、模型或规范,可帮助 Spark 理解您的意图,从而提升输出效果。

Spark 还会将先前提示的上下文纳入每一次后续修订中。提交离题的提示可能会影响后续修订的性能。因此,请尽量让提示与您正在构建的应用保持相关。

适当使用目标编辑

Spark 中的目标编辑允许您指定应用中的元素,精细调整样式、内容或行为。这些目标编辑是约束编辑范围并向 Spark 表达意图的极佳方式。尽可能使用目标编辑(而非全局提示),可以获得更精确的更改,并在 Spark 生成新修订时减少对应用的副作用。

验证 Spark 的输出

虽然 Spark 是一款功能强大的工具,但它仍可能出现错误。这些错误可能是对您目标的误解,也可能是生成的 spark 中的简单语法错误。您应始终使用 Spark 提供的应用预览来验证 spark 在不同场景下的行为是否符合预期。如果您具备代码能力,最好也检查生成的代码是否符合您的代码质量标准。

GitHub Spark 的局限性

对用户意图的解释

Spark 并不总是正确解释您的意图。您应始终使用 Spark 提供的预览来确认 spark 的行为准确无误。

范围有限

Spark 受 Copilot 支持,因而已在大量代码和相关应用上进行训练。然而,它在处理复杂或真正新颖的应用时仍可能遇到困难。Spark 在常见/个人化的应用场景(例如生产力工具、学习辅导、生活管理实用工具)以及使用英文自然语言指令时表现最佳。

公开代码

Spark 可能会生成与公开可用代码相匹配或接近匹配的代码,即使 “匹配公开代码的建议” 策略设置为 “阻止”。参见 作为个人订阅者管理 GitHub Copilot 策略

如果发生此情况,Copilot 将不会提供指向原始代码来源的代码引用。参见 查找与 GitHub Copilot 建议匹配的公开代码

安全限制

尽管 Spark 的运行时遵循应用部署的最佳实践,但它以概率方式生成代码,这可能会引入漏洞,尤其是当这些漏洞在训练集应用中常见时。构建处理个人或敏感数据的应用时应谨慎,并始终彻底审查和测试生成的应用。

用户在使用任何 AI 服务和解决方案时,需要评估可能的特定法律和监管义务,这些服务可能并不适用于所有行业或场景。此外,AI 服务或解决方案并非设计用于且不得以适用服务条款和相关行为准则禁止的方式使用。

冒犯性内容

Spark 内置防护,防止有害、仇恨或冒犯性内容。请将任何冒犯性内容的示例报告至 copilot-safety@github.com。请附上您的 spark URL,以便我们识别该 spark。

您可以通过反馈报告问题或非法内容,或将 spark 举报为滥用或垃圾信息。参见 报告滥用或垃圾信息 和 GitHub 的 内容移除政策

进一步阅读

© . This site is unofficial and not affiliated with GitHub, Inc.