跳至主要内容

ChatGPT Canvas:指南与示例

了解如何使用 OpenAI 的 ChatGPT Canvas,与 ChatGPT 协作完成写作和编码任务。
François Aubry
François Aubry

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

在“12 Days of OpenAI”活动的第四天,OpenAI 宣布对今年早些时候推出的一项功能进行了重大更新: ChatGPT Canvas。

在这篇博客中,我将带您了解什么是 ChatGPT Canvas,分步骤解释如何使用它,并通过示例展示如何发挥其最大作用。

什么是 ChatGPT Canvas?

想象一下,以更动态的方式与 ChatGPT 合作撰写博客文章或 Python 脚本。不再需要使用传统的聊天界面,从多次回复中拼接最终结果,而是直接在编辑器中工作。这就是 ChatGPT Canvas。

标准的 ChatGPT 界面在生成想法方面很有效,但对于需要反复编辑和协作的任务则显得受限。将这些想法打磨成精致内容通常需要在不同工具间切换,从而打断创作流程。

Canvas 在 ChatGPT 内提供了一个为增强写作与编码流程而设计的界面。它弥合了聊天与内容创作之间的鸿沟,让我们无需离开对话就能更轻松地组织和迭代想法。

ChatGPT Canvas 界面。左侧为 GPT 界面,右侧为编辑器。

右侧是文本编辑器,左侧是聊天界面,我们可以借助它让 ChatGPT 对文档进行修改,实质上将其作为 AI 合作者来帮助我们打磨和完善想法。

ChatGPT Canvas 的关键特性

  • 定向编辑:我们可以高亮特定部分以获取 AI 协助,轻松润色段落、扩展思路或补充细节。
  • 内联反馈: Canvas 能像人类合作者共同编辑文档时那样,提供内联建议与反馈。
  • 文本长度:我们可以要求缩短或扩展文本。
  • 阅读难度:我们可以指定从幼儿园到研究生的阅读水平,便于将语言调整为目标读者适配的难度。
  • 调试代码: Canvas 可帮助我们识别并修复代码中的错误。
  • 版本历史:Canvas 包含版本历史,允许我们恢复到之前的版本,确保不会丢失任何想法。

如何使用 ChatGPT Canvas

目前,ChatGPT Canvas 仅在 Web 和 Windows 上可用(Mac 用户可以通过浏览器访问 Canvas,但无法通过桌面应用使用)。对 Mac 桌面应用和移动平台(iOS、Android 以及移动网页)的支持即将推出。

要使用 ChatGPT Canvas:

  1. 访问 chatgpt.com。
  2. 在左上角的模型下拉菜单中选择 "GPT-4o with canvas" 选项(请注意,使用 Canvas 需要订阅)。

如何在 ChatGPT 界面中找到 ChatGPT Canvas

界面最初与传统聊天界面相同。输入提示词后,编辑器会打开,并用首次提示生成的内容进行填充。

在某些情况下,Canvas 界面不会自动触发。这时可以通过输入 "use canvas" 提示来手动激活。

初始提示会决定我们是在处理文本内容(如博客)还是编写代码。两种情况下的界面和可用命令会有所不同。

让我们先从探索与 ChatGPT Canvas 交互的两种主要方式开始(文本与代码模式均适用)。

  1. 在编辑器侧(右侧)选择文本。随后会弹出一个提示框,我们可以请求对选中部分进行修改。

在 ChatGPT Canvas 中选择要编辑的文本。

  1. 使用左侧的聊天界面。我们可以在其中提交提示,要求进行特定更改。

在 ChatGPT Canvas 中使用聊天来编辑文档。

版本控制与导出

ChatGPT Canvas 会跟踪我们所做的更改。我们可以使用右上角的箭头在不同版本间轻松切换(这些按钮只会在 ChatGPT 生成第二个版本后出现)。

ChatGPT Canvas 的版本与导出控件。

第一个按钮可用于显示当前版本与上一个版本之间的差异。

在 ChatGPT Canvas 中查看差异。

我发现这对理解命令的作用非常有用,也能通过观察 ChatGPT 提升的部分来学习如何改进我的写作。

最后一个按钮用于导出内容。目前仍较为基础,只支持复制,我们需要手动粘贴到目标位置。

文本专用工具

当 ChatGPT 判断初始提示是请求撰写文本文档时,它会以文本模式打开 Canvas 编辑器。包含文本与代码混合部分的内容也会使用该界面。

例如,本文展示的文本示例使用的初始提示为:

“请帮我写一篇介绍 pandas DataFrame 的文章。”

特定的编辑工具位于右下角。在处理文本文档时,我们会看到以下工具:

ChatGPT Canvas 的文本专用工具

  • 添加表情符号:在合适位置为文本添加表情。在我看来,这更像是个噱头,实际使用场景不多。
  • 最终润色:审阅整篇文档并进行最后修饰,使其达到可交付状态。会修正错别字、格式与结构。
  • 阅读难度:将文档的阅读水平从幼儿园调整到研究生水平。这非常有助于确保我们的内容语言适配目标受众。
  • 调整长度:通过概括部分内容来压缩文本,或通过补充更多细节来扩展文本。
  • 建议修改:提供修改建议但不自动应用。每条建议都会高亮相应文本并在旁边显示说明,类似其他协作文档编辑器。我们可以在文档中逐条采纳或忽略。

ChatGPT Canvas 的建议会以评论形式显示在侧边

  • 段落编辑:进入“建议修改”模式后,ChatGPT 会识别文本中的段落。将光标移动到段落上方会显示一个按钮,我们可以用它来针对该段落发起编辑。

使用 ChatGPT Canvas 编辑段落。

当我们点击某个命令时,它不会立即执行。图标会变成一个箭头,我们需要再次点击以执行。

在 ChatGPT Canvas 中确认执行命令

使用这些工具时,留意聊天窗口很重要,因为 ChatGPT 会在其中解释它所做的更改。这样便于快速了解修改了哪些内容。另一个查看更改的方式是使用我们上文提到的右上角差异按钮。

代码专用工具

当初始提示与编写脚本相关时,ChatGPT Canvas 会打开代码编辑器而非文本编辑器。为测试此功能,我们可以使用以下提示:

“编写一个使用 pandas 读取并分析 CSV 的 Python 脚本。”

我们可以通过编辑器中的行号辨别处于代码编辑模式。在这种情况下,可用的工具如下:

代码专用工具。

  • 添加注释:为代码添加相关注释,以便更好理解。
  • 添加日志:添加打印语句,用于显示 ChatGPT 认为相关的变量值。
  • 修复错误:尝试识别并修复 Bug。
  • 移植到其他语言:将代码转换为另一种编程语言。
  • 代码评审:审查代码并在侧边添加建议。

使用 ChatGPT Canvas 进行代码评审的示例。

在最新版本的 ChatGPT Canvas 中,我们可以直接在 Canvas 内运行 Python 代码。

在 Canvas 中运行 Python 代码

为协作训练 GPT-4o:幕后故事

为使 GPT-4o 能在 Canvas 界面中高效地充当协作伙伴,OpenAI 的研究团队重点培养了以下核心行为:

  • 在写作与编码任务中触发 Canvas。
  • 生成多样化的内容类型以满足用户需求。
  • 对特定文本或代码片段进行定向编辑。
  • 在必要时重写整个文档。
  • 提供内联批注,给出具体反馈与建议。

这项训练使用了新颖的合成数据生成技术,包括对来自其他 OpenAI 模型(如o1 模型)的输出进行蒸馏。这种方法无需依赖人工生成数据,即可快速提升写作质量与用户交互体验。

评估与挑战

OpenAI 使用了二十多项自动化的内部评估来衡量进展。然而,某些方面(如评论质量)由于难以自动评估,仍需要人工评估。

训练过程中面临多项挑战:

  • 定义何时触发 Canvas,确保在合适任务中打开,同时避免过度触发。
  • 调优模型的编辑行为,尤其是何时进行定向编辑、何时重写全部内容。
  • 生成高质量评论需要反复迭代与人工评估。

结论

在 ChatGPT Canvas 出现之前,使用 ChatGPT 处理文档或代码需要不断在编辑器与 ChatGPT 之间切换,将每条聊天消息中提出的更改复制过去。我们无法一次性处理整篇文档,ChatGPT 也难以轻松获取我们正在处理内容的完整上下文,或直接进行修改。

ChatGPT Canvas 大幅简化了与 ChatGPT 的协作,无论是撰写内容还是编写代码。对于撰写内容(如博客文章),它相当强大。

不过,作为一名软件工程师,我仍然觉得它在涉及大型项目的编码方面过于受限。像Cursor AI这类直接与代码编辑器集成的方案,由于能获取整个代码库的上下文,效果要好得多。我只会在编写不依赖其他代码的独立脚本或函数时使用 ChatGPT Canvas。

François Aubry

作者

François Aubry

全栈工程师,CheapGPT 创始人。我一直热爱教学。从学生时代起,我就积极寻找机会为同学提供辅导与帮助。这份热情促使我攻读博士学位,并在此期间担任助教,以支持我的学术追求。那些年里,我在传统课堂环境中收获了极大的成就感,既建立联系也促进学习。随着在线学习平台的兴起,我也看到了数字教育的变革潜力。事实上,我曾参与我们大学一款此类平台的建设。我致力于将传统教学理念与创新的数字方法相融合。我的热情在于打造既有吸引力、信息量充足,又能让当代学习者轻松获取的课程。

主题