Important
- 这是根据 Microsoft 产品条款提供的预览功能。
- 预览功能可能功能受限,并且可能不会正式发布。 这些功能在正式发布之前可供使用,以便客户可以抢先体验并提供反馈。
- 你需要加入 Frontier 预览计划 才能抢先体验。 边界将你直接与Microsoft最新的 AI 创新联系起来。 Frontier 预览版受客户协议中现有预览条款的约束。 由于这些功能仍在开发中,其可用性和功能可能会随时间而变化。
什么是应用程序或平台卡?
Microsoft的应用程序和平台卡片旨在帮助你了解我们的 AI 技术的工作原理、应用程序所有者可以做出哪些选择来影响应用程序性能和行为,以及考虑整个应用程序(包括技术、人员和环境)的重要性。 为 AI 应用程序创建应用程序卡,为 AI 平台服务创建平台卡。 这些资源可以支持你自己的应用程序的开发或部署,并且可以与受它们影响的用户或利益干系人共享。
作为对负责任 AI 的承诺的一部分,Microsoft坚持 六项核心原则:公平、可靠性和安全、隐私和安全、包容性、透明度和问责制。 这些原则嵌入到负责任 AI Standard中,该Standard指导团队设计、构建和测试 AI 应用程序。 应用程序和平台卡通过在功能、预期用途和限制方面提供透明度,在实施这些原则方面起着关键作用。 为了进一步了解情况,鼓励读者探索Microsoft的 负责任 AI 透明度报告 和 Microsoft企业 AI 服务行为准则,其中概述了如何负责任地参与 AI。
Overview
Microsoft Copilot 中的 Code 选项卡是一个由 AI 驱动的智能体,可将您的描述转化为可运行的软件。 您用自然语言描述一个结果 — 例如仪表板、内部工具、静态网站、数据转换或脚本 — Copilot Code 便会构建它,在画布上显示实时预览,并与您一起迭代,直到其正常运行。 无需了解如何编写代码。 Copilot代码可以在自己的设备(本地)或云中的安全隔离环境中运行。
Copilot Code 专为拥有想法、数据和重复性工作流但不维护开发环境的信息工作者而设计。 它代表你编写和运行软件,在你允许它时使用你的 Microsoft 365 工作上下文,并在它执行超出所选项目文件夹范围的操作之前请求你的许可。
Copilot Code 作为Microsoft Copilot的一部分提供。 有关详细信息,请参阅Copilot代码概述。
关键术语
下表定义了与 Copilot Code 相关的关键术语。
| 术语 | Description |
|---|---|
| Agent | 基于自然语言说明,由 AI 提供支持的组件,代表用户自动执行任务。 Copilot Code 是一个用于构建和运行软件的智能体。 |
| 项目 | Copilot Code 构建的软件工件,以及构成该工件的文件。 项目保存在设备(本地)或云中,其对话与它相关联。 |
| 画布 | 对话旁边的视觉工作区,在其中可以看到工件的实时预览,并可以切换到代码视图以查看和编辑生成的文件。 |
| 地方发展 | Copilot Code 在您的设备上运行,并在您选择的项目文件夹内工作的模式。 |
| 云开发 | Copilot Code 在云端的安全、隔离环境中运行并保存您的项目的模式。 |
| 同意提示 | 一个对话框,其中Copilot代码在访问所选文件夹外部的位置、建立网络连接或运行命令之前请求你的权限。 提示是用通俗易懂的语言编写的。 |
| 插件 | 通过 Microsoft 365 App Store 分发的包,将 Copilot Code 连接到外部数据源和服务。 Copilot Code 使用 Cowork 中提供的相同插件。 |
| 工作上下文 | 您的 Microsoft 365 数据(文档、电子邮件、会议和日历),Copilot Code 可在获得您的授权并使用您的组织(工作)帐户的情况下,将其作为构建内容的上下文。 |
| GitHub连接 | 一个可选的 GitHub 帐户链接,允许 Copilot Code 处理代码库、回答有关您代码的问题并发起拉取请求。 |
| 自动化 | 通过“自动化”面板设置的定时任务,使代码按计划运行。 |
主要特性或功能
下面的主要特性和功能描述了代码 Copilot 旨在实现的功能。
| Feature | Description |
|---|---|
| 基于自然语言构建 | Copilot Code 将对某项成果的自然语言描述转换为可运行的软件产物,例如应用、仪表板、静态网站、数据转换、自动化或脚本。 |
| 澄清问题 | 在构建之前,Copilot Code 可能会提出几个问题来确认所需内容及其外观。 |
| 实时预览和代码视图 | 画布在构建时显示静态网站或 Web 应用的实时预览。 可以切换到代码视图以查看和编辑生成的文件,并选择画布上的元素以使下一个请求聚焦于该元素。 |
| 迭代与回滚 | 通过描述对话中的更改来优化结果。 可以随时还原到早期版本。 如果步骤失败,Copilot Code 会尝试恢复,并用通俗易懂的语言解释发生了什么。 |
| 本地或云执行 | Copilot Code 可以在你自己的设备上或云中安全且隔离的环境中运行你的项目。 |
| 引入文件和数据 | 可以上传或拖放文件(CSV、电子表格、图像、文档、PDF 和演示文稿)、粘贴文本,以及(对于本地项目),打开一个用于Copilot Code 要使用的现有文件夹。 |
| 工作上下文集成 | 在你允许的情况下,Copilot Code 使用 Microsoft 365 工作上下文(文档、电子邮件、会议和日历)作为其构建内容的上下文。 这将使用你的组织(工作)帐户。 |
| 插件和工具 | Copilot Code 使用 Cowork 中提供的相同插件来连接外部数据源和服务,以及 Web 搜索和图像生成等工具,受组织策略的约束。 |
| GitHub 集成 | 您可以选择连接 GitHub 帐户,以从存储库快速开始,询问有关代码的问题,创建分支和提交,打开草稿拉取请求并查看其状态,创建存储库,并在“我的工作”中跟踪问题、拉取请求和评审请求。 |
| Automations | 可以从自动化面板设置按计划运行的工作。 |
| 共享和导出 | 您可以将静态应用作为仅限您所在组织访问的链接分享,并将项目导出为 .zip 文件。 |
| 模型选择 | 您可以为项目选择 Copilot Code 使用的模型,或让 Copilot Code 自动选择。 |
| 同意控制 | Copilot Code 在访问所选项目文件夹外的位置、建立网络连接或运行命令之前,会请求你的权限。 同意提示是用通俗易懂的语言编写的。 |
作为代理 AI 应用程序,Copilot Code 展示了以下代理特征:
- 规划:Copilot 代码将自然语言说明分解为构建软件所需的步骤,并逐步执行这些步骤,并在执行过程中显示进度。
- 适应性:您可以在会话期间通过反馈引导 Copilot Code,它会据此调整处理方式,包括回滚到较早版本。
- 扩展性:Copilot Code 的功能可通过 Microsoft 365 App Store 中的插件、外部数据源连接器以及可选的 GitHub 连接进行扩展。
- 记忆(对话范围):在项目的聊天中,Copilot Code 维护跨步骤和消息的上下文。 会话期间授予的同意仅适用于该次会话。 上下文不会在不同的对话之间保留。
预期用途
Copilot Code 专为使用 Microsoft 365 的信息工作者设计,旨在帮助他们无需开发环境,即可将想法、数据和重复性工作流转化为可运行的软件。 用例的一些示例包括:
- 仪表板和数据视图: 生成一个仪表板,用于跟踪数据中的指标,例如按频道进行每周注册。
- 内部工具:为团队工作流(例如清单或审批跟踪器)创建跟踪器、表单或计算器。
- 静态网站和登陆页面: 构建简单的网站或登陆页面以测试想法。
- 数据转换和脚本: 将重复性的手动流程(例如从多个源重新生成报表)转换为可重用的脚本。
- 使用现有仓库:连接 GitHub 帐户以询问仓库、进行更改并打开草稿拉取请求(Pull Request)。
代理范围:Copilot Code 在Microsoft 365权限和所选项目文件夹的边界内运行。 它会生成并运行你指示它创建的软件,并在它访问所选文件夹之外的内容、建立网络连接或运行命令之前请求你的批准。 在未获得您的指示或批准的情况下,它不会执行这些操作。
Copilot Code 不适用于在没有人工审查的情况下需要保证准确性的用例,也不适用于在未经适当测试和缺乏人工监督的情况下,为后果严重或安全关键用途开发软件。
模型和训练数据
Copilot Code 利用 AI 模型驱动用户所见的体验。 可以从多个模型中进行选择,包括 Claude Opus 和 Claude Sonnet 变体,以及来自 Anthropic 的 Claude Haiku,以及由 Microsoft 托管和运营的 GPT 模型,或者让 Copilot Code 为你选择模型。 Anthropic 模型作为次级处理者提供给 Microsoft。 有关详细信息,请参阅Anthropic作为 Microsoft Online Services 的子处理器,以及了解 Microsoft Online Services 中的 AI 功能和模型。
通过 Microsoft Graph 访问的提示、响应和数据不用于训练基础 LLM,包括 Microsoft Copilot 使用的那些。 在云模式下,组织数据保留在 Microsoft 365 内,并且受组织现有的数据管理策略的约束;但是,在本地模式下,你的数据也可能存储在本地设备中,但需经管理员同意。 有关如何处理数据的详细信息,请参阅 Microsoft Copilot 的数据、隐私和安全性。
Performance
Copilot Code 旨在构建反映用户意图的可运行的软件。 根据 Copilot Code 是否生成满足请求的功能项目,以及是否在反馈上正确迭代,对性能进行评估。
支持的模态
- 输入: 来自用户的文本提示、粘贴的文本以及附加文件(CSV、电子表格、图像、文档、PDF 和演示文稿),每个文件最大为 200 MB。 对于本地项目,Copilot Code 还可以读取所选文件夹中的文件。
-
输出:画布上显示的可运行软件工件、生成的源代码、保存在您的设备或云端中的文件,以及(当您连接 GitHub 时)分支、提交和草稿拉取请求。 可以将静态应用共享为组织范围的链接,并将项目导出为
.zip文件。
Copilot Code 如何处理请求
- Copilot Code 接收所需结果的自然语言说明。
- Copilot 代码可能会提出澄清性问题,然后规划构建该产物所需的步骤。
- Copilot Code 编写并运行软件,并在画布上显示进度和实时预览。 可以切换到代码视图以查看生成的文件。
- 在 Copilot Code 访问所选文件夹以外的位置、建立网络连接或运行命令之前,它会以通俗易懂的语言征得您的批准。
- 查看结果,通过对话对其进行优化,然后保存、共享或导出项目。
可靠运行的条件
- Copilot 代码在你清楚地描述结果时表现最佳,包括结果是给谁用的以及它应使用的任何数据。
- Copilot Code 只能访问你的 Microsoft 365 帐户有权使用的数据和服务,并且对于本地项目,只能访问你选择的文件夹以及你批准的任何位置。
- 预览功能的支持情况取决于工件类型和您的设备。
- 对于具有许多相互依赖性的高度复杂项目,性能可能会降低。
多语言功能
- CCopilot Code 适用于所有Copilot支持的语言。 对其他语言的支持基于基础模型功能和 Microsoft 365 服务可用性。 有关受支持语言的详细信息,请参阅 Microsoft Copilot 支持的语言。
Limitations
了解 Copilot Code 的限制对于确定是否在安全有效的边界内使用至关重要。 虽然我们鼓励客户在其创新解决方案或应用程序中使用 Copilot Code,但请务必注意,Copilot Code 并非针对每种可能的方案而设计。 我们鼓励用户在选择用例时,参考 Microsoft 企业 AI 服务行为准则(适用于组织)或 Microsoft 服务协议中的“行为准则”部分(适用于个人),以及以下注意事项:
说明解释:Copilot代码可能错误地解释不明确或过于宽泛的描述,从而导致与你的意图不匹配的软件。 提供明确、具体的请求,以获得更好的结果。
生成的代码准确性: 应将 AI 生成的代码和产物视为草稿。 在依赖代码、共享代码或将其用于生产环境之前,先测试Copilot代码生成的内容。 Copilot Code 可能会生成不准确的结果,尤其是在源数据不完整或过时时。
Project复杂性:具有许多依赖项的复杂项目可能不会始终按预期生成。 监视进度、以小步迭代,并在需要时还原到早期版本。
预览支持:预览功能取决于工件类型和您的设备。 例如,无法在每个平台上预览某些项目。
权限边界:Copilot代码取决于现有Microsoft 365权限以及为本地项目选择的文件夹。 它无法访问你尚未授权其访问的数据、服务或位置。
平台和设备支持:Copilot Code 在适用于 Windows 和 Mac 的 Microsoft Copilot 桌面应用中运行,并可在 Web 上用于云开发。 此版本不提供移动应用,功能可用性可能因平台而异。
自定义技能和插件:插件和连接器由第三方发布者提供,Microsoft不进行验证。 仔细查看插件的输出,因为质量取决于发布它们的人员。
偏见、刻板印象和无根据的内容: 尽管有负责任的 AI 控制措施,但 AI 生成的内容和代码仍可能反映偏见、刻板印象或无根据的信息。 请在依赖它之前查看 Copilot 代码生成的内容。 有关Anthropic模型中 AI 生成的内容的已知限制的详细信息,请参阅Anthropic子处理器文档。
对个人的潜在重大身体或心理伤害: 避免对该系统的使用或误用,以免对个人造成重大身体或心理伤害。 例如,构建诊断患者或开药的软件可能会造成重大伤害。
对生活机会或法律地位的重大影响:请避免使用或滥用该系统,以免对生活机会或法律地位产生重大影响。 示例包括可能影响个人法律地位、法律权利或获得信用、教育、就业、医疗保健、住房、保险、社会福利福利、服务、机会或提供这些项目的条件的软件。
Evaluations
性能和安全评估通过检查生成的软件是否正确且正常运行等因素来评估 Copilot Code 是否可靠且安全地运行,同时确定生成有害内容或采取未经授权的操作的风险。 以下评估是在安全组件已到位的情况下进行的,安全 组件和缓解措施中也进行了介绍。
性能和质量评估
Copilot Code 的性能评估对于提高其在实际应用中的使用可靠性至关重要。 我们定期对以下方面进行性能评估:
- 生成的代码是否语法正确。
- 生成的项目功能是否满足用户的请求。
- 从用户体验角度看结果的质量
性能和质量评估方法
我们的评估数据是自定义构建的,用于评估安全与质量的关键领域的 AI 应用程序性能,模拟真实场景和风险。 首先,我们根据多学科研究和专家的意见,确定相关的评估关注点。 这些关注点转化为有针对性的评估目标,并指导制定评估指标。 为了安全起见,我们创建对抗提示来引发不需要的或边缘案例的响应,然后使用经过训练的 AI 辅助批注器对响应进行评分,以评估与Microsoft安全标准的一致性。 为确保质量,我们针对代码生成和智能体场景,设计了基于评估标准的提示。 数据集是从各种来源(包括合成数据集和公共数据集)中挑选的,用于模拟真实用户方案。 使用特选数据集,这两个评估都经过迭代优化和人工对齐,以提高指标有效性和可靠性。
Copilot代码是使用反映信息工作者如何构建软件的方案进行评估的,例如生成仪表板、内部工具、静态站点和数据转换。 评估者评估生成的代码是否正确并能够运行,产物是否满足请求,以及结果在同一任务的不同变体下是否仍然成立。 理想结果反映与要求匹配的功能软件;欠佳结果包括不运行的代码、缺少的功能或不符合意图的结果。
自定义评估
除了标准指标,Copilot Code 还使用特定于其代理式代码构建能力的自定义指标进行评估:
- 构建成功(即 Copilot Code 是否生成了可运行的工件)。
- 请求对齐(结果是否与用户的意向匹配)。
- 迭代准确性(Copilot代码是否已正确应用请求的更改和还原)。
风险和安全评估
评估与 AI 生成的内容和操作相关的潜在风险对于防范具有不同程度严重性的风险至关重要。 这包括评估 Copilot Code 对生成有害内容或代码的倾向,以及测试其是否易受越狱攻击和未经授权操作的影响。 进行了以下风险和安全评估:
- 仇恨和不公平
- 性行为
- 暴力
- 自残
- 受保护的材料
- 不安全或恶意代码生成
- 间接越狱
- 直接越狱
- 未经授权的操作执行
风险和安全评估方法
风险和安全评估使用对抗提示和自动分类器来评估潜在的危害。 测试将 LLM 评委评估与基于分类器的检测和需要的手动测试相结合。 针对 Copilot Code 执行能力的额外评估测试了:是否能操纵该智能体生成不安全的代码,或在未获得必要同意的情况下执行操作 — 如访问文件、建立网络连接或运行命令。 理想情况下,系统应将不安全的请求重定向或拒绝,并在不同提示变体之间保持同意边界的完整性。 欠佳的结果包括生成有害或不安全的内容,或者未经适当批准采取措施。
安全组件和缓解措施
当我们通过红队测试等过程识别潜在风险和滥用并对其进行评估时,我们制定了缓解措施来降低潜在的伤害。 以下列表介绍了其中一些缓解措施。 我们正在持续评估 Copilot Code,以提升产品性能并完善防护措施。
同意超出项目文件夹的操作。 Copilot Code 的主要安全机制是其同意模型。 选择要使用的文件夹时,Copilot Code 可以在该文件夹中读取和写入;访问任何其他位置、建立网络连接或运行命令需要获得您的明确批准。 同意提示是用通俗易懂的语言编写的。
代码执行的可配置隔离。 Copilot Code 在可配置的隔离和强制执行级别下运行生成的软件。 管理员可以为其组织配置强制级别。
权限边界。 Copilot Code 严格地在现有Microsoft 365权限和所选文件夹内运行。 它无法访问你尚未授权其访问的数据、服务或资源,这有助于防止特权升级。
基于对话范围的同意机制。 您在会话期间授予的同意仅适用于该会话,不会在不同的对话之间持续生效,从而限制了任何意外授权可能造成的风险范围。
基于 AI 的分类器和内容筛选。 Copilot Code 使用基于 AI 的分类器和内容筛选器来识别和阻止用户提示和生成的响应中的潜在有害内容,包括针对仇恨言论、暴力、性内容、自残和受保护材料的筛选器。
元提示。 系统说明指导 Copilot Code 的行为,以符合 Microsoft 的 AI 原则和用户期望,包括拒绝不当请求的说明,并避免生成不安全或恶意代码。
以用户为中心的设计和透明度。 Copilot Code 在运行时显示每个步骤并显示实时预览,使代理的操作透明,以便你能够识别它何时偏离预期方向。
可审核性。 Copilot 代码记录所执行的操作(生成的代码、运行的命令以及读取或写入的文件),这些日志可供 IT 管理员使用,从而提供从用户请求到相应操作及其结果的可跟踪性。
管理控制。 管理员可以启用或禁用 Copilot Code 和特定功能、在组织级别强制实施策略、限制 GitHub 帐户连接,以及设置每用户支出限制。 使用量按您的 Microsoft Copilot 授权额度计量。
反馈机制。 用户可以提交点赞或点踩反馈,并在点踩时填写评论,用于评估和改进 Copilot Code 的质量和安全性。
网络安全措施。 Copilot代码实施网络安全做法,包括加密数据传输、通过Microsoft Entra ID进行安全身份验证以及遵守Microsoft的安全开发生命周期。 在云模式下,组织数据保留在 Microsoft 365 内,并且受组织现有的数据管理策略的约束;但是,在本地模式下,在征得管理员同意的情况下,你的数据也可能存储在本地设备上。 定期进行安全审计和威胁模型审查,以识别和解决潜在漏洞。
部署和采用 Copilot Code 的最佳做法
负责任的 AI 是Microsoft与其客户之间的共同承诺。 虽然Microsoft以安全、公平和透明为核心构建 AI 应用程序和平台服务,但客户在在其自己的上下文中负责任地部署和使用这些技术方面起着关键作用。 为了支持这种合作关系,我们为部署人员和最终用户提供以下最佳做法,帮助客户有效地实现负责任的 AI。
部署者和最终用户应:
在将 Copilot Code 用于重大决策或敏感领域时,请谨慎并评估结果。 后果性决定是可能对某人获得教育、就业、金融平台、政府福利、医疗保健、住房、保险、法律平台或可能导致身体、心理或经济伤害的人产生法律或重大影响的决定。 敏感领域(如金融平台、医疗保健和住房)需要特别照顾,因为可能会对不同人群产生不成比例的影响。 在这些领域使用 AI 做出决策时,请确保受影响的利益干系人能够了解如何做出决策、对决策提出上诉,并更新任何相关的输入数据。
评估法律和法规注意事项。 客户在使用任何 AI 平台和解决方案时需要评估潜在的特定法律和法规义务,这些义务可能不适合在每个行业或方案中使用。 此外,AI 平台或解决方案并非为适用的服务条款和相关行为准则所禁止的用途而设计,也不得以这些条款和准则所禁止的方式使用。
部署人员应:
适当配置访问和控制。 使用可用的管理控制来管理哪些用户可以访问 Copilot Code、哪些功能可用、GitHub连接限制和每个用户支出限制。 在进行更广泛部署之前,请考虑先从试点组开始。
向用户普及同意模型的相关知识。 确保用户理解:他们有责任审查并批准 Copilot Code 访问、连接和运行的内容,并且应将 AI 生成的代码视为草稿,在使用前进行测试。
查看插件使用情况。 在提供插件之前评估插件。 了解每个插件访问的数据以及它可以执行的操作。
监视使用情况、审核日志和反馈。 查看审核日志和用户反馈,确定模式、常见问题或可能需要提供更多指导的领域。
最终用户应:
在适当的时候进行人工监督。 人工监督是与 AI 应用程序交互时的重要保障。 虽然我们不断改进 AI 应用程序,但 AI 仍可能会出错。 生成的输出可能不准确、不完整、有偏见、未对齐或与预期目标无关。 因此,查看并测试 Copilot代码生成的内容,并验证它是否符合预期和要求。
请注意过度依赖的风险。 当用户接受不正确的或不完整的 AI 输出时,就会出现对 AI 的过度依赖,这主要是因为错误可能难以检测到。 对于代码和软件,这一点尤为重要——在依赖其生成的内容、共享它或将其用于生产环境之前,先测试 Copilot Code 生成的内容。
在敏感域中使用 Code 时,请谨慎行事。 在构建其操作不可逆或后果极其严重的软件时,请采取额外预防措施,具体说明请参阅 Microsoft 企业 AI 服务行为准则(适用于组织)或 Microsoft 服务协议(适用于个人)中的“行为准则”部分。
提供清晰具体的说明。 包括有关所需结果、面向谁以及它应使用的任何数据的详细信息。 指令越具体,结果就越好。
仔细查看同意提示。 在批准访问某个位置、网络连接或命令之前,请确保您了解相关情况,并确认这是您有意进行的操作。
经常提供反馈。 使用拇指向上/向下按钮和注释来帮助逐步提升 Copilot Code 的性能。
详细了解 Copilot Code
有关其他指南或了解有关负责任地使用 Copilot Code 的详细信息,建议查看以下文档: