如何使用 ChatGPT Canvas
目前,ChatGPT Canvas 仅在 Web 和 Windows 上可用(Mac 用户可以通过浏览器访问 Canvas,但无法通过桌面应用使用)。对 Mac 桌面应用和移动平台(iOS、Android 以及移动网页)的支持即将推出。
要使用 ChatGPT Canvas:
- 访问 chatgpt.com。
- 在左上角的模型下拉菜单中选择 "GPT-4o with canvas" 选项(请注意,使用 Canvas 需要订阅)。

界面最初与传统聊天界面相同。输入提示词后,编辑器会打开,并用首次提示生成的内容进行填充。
在某些情况下,Canvas 界面不会自动触发。这时可以通过输入 "use canvas" 提示来手动激活。
初始提示会决定我们是在处理文本内容(如博客)还是编写代码。两种情况下的界面和可用命令会有所不同。
让我们先从探索与 ChatGPT Canvas 交互的两种主要方式开始(文本与代码模式均适用)。
- 在编辑器侧(右侧)选择文本。随后会弹出一个提示框,我们可以请求对选中部分进行修改。

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

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

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

我发现这对理解命令的作用非常有用,也能通过观察 ChatGPT 提升的部分来学习如何改进我的写作。
最后一个按钮用于导出内容。目前仍较为基础,只支持复制,我们需要手动粘贴到目标位置。
文本专用工具
当 ChatGPT 判断初始提示是请求撰写文本文档时,它会以文本模式打开 Canvas 编辑器。包含文本与代码混合部分的内容也会使用该界面。
例如,本文展示的文本示例使用的初始提示为:
“请帮我写一篇介绍 pandas DataFrame 的文章。”
特定的编辑工具位于右下角。在处理文本文档时,我们会看到以下工具:

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

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

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

使用这些工具时,留意聊天窗口很重要,因为 ChatGPT 会在其中解释它所做的更改。这样便于快速了解修改了哪些内容。另一个查看更改的方式是使用我们上文提到的右上角差异按钮。
代码专用工具
当初始提示与编写脚本相关时,ChatGPT Canvas 会打开代码编辑器而非文本编辑器。为测试此功能,我们可以使用以下提示:
“编写一个使用 pandas 读取并分析 CSV 的 Python 脚本。”
我们可以通过编辑器中的行号辨别处于代码编辑模式。在这种情况下,可用的工具如下:

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

在最新版本的 ChatGPT Canvas 中,我们可以直接在 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。

在“12 Days of OpenAI”活动的第四天,OpenAI 宣布对今年早些时候推出的一项功能进行了重大更新: ChatGPT Canvas。
在这篇博客中,我将带您了解什么是 ChatGPT Canvas,分步骤解释如何使用它,并通过示例展示如何发挥其最大作用。
什么是 ChatGPT Canvas?
想象一下,以更动态的方式与 ChatGPT 合作撰写博客文章或 Python 脚本。不再需要使用传统的聊天界面,从多次回复中拼接最终结果,而是直接在编辑器中工作。这就是 ChatGPT Canvas。
标准的 ChatGPT 界面在生成想法方面很有效,但对于需要反复编辑和协作的任务则显得受限。将这些想法打磨成精致内容通常需要在不同工具间切换,从而打断创作流程。
Canvas 在 ChatGPT 内提供了一个为增强写作与编码流程而设计的界面。它弥合了聊天与内容创作之间的鸿沟,让我们无需离开对话就能更轻松地组织和迭代想法。
右侧是文本编辑器,左侧是聊天界面,我们可以借助它让 ChatGPT 对文档进行修改,实质上将其作为 AI 合作者来帮助我们打磨和完善想法。
ChatGPT Canvas 的关键特性