### 0 前言

与 ChatGPT 一起写作和编程的新方式:

图片展示了一款垂直工具栏,包含五个按列排列的图标,背景为柔和的粉彩色调。顶部起第三个图标是一本打开的书,其旁边有标签标注为“阅读等级”。

image

我们推出了 Canvas,这是一个用于写作和编程项目的新界面,能够超越简单的聊天功能。Canvas 会在单独的窗口中打开,允许您与 ChatGPT 合作完成项目。这款早期测试版引入了一种新型协作方式——不仅通过对话,还可以并肩创建和完善想法。

Canvas 基于 GPT-4o 构建,用户可在测试阶段通过模型选择器手动选择。从今天开始,我们将向 ChatGPT Plus 和团队用户全球推出 Canvas。企业和教育用户将在下周获得访问权限。我们还计划在测试版结束后向所有 ChatGPT 免费用户开放 Canvas。

1 与 ChatGPT 更好协作

每天都有用户利用 ChatGPT 帮助完成 writing 和编程任务。虽然聊天界面操作简便,适合许多任务,但在需要编辑和修订的项目中,它有所局限。Canvas 为这类工作提供了全新界面。

借助 Canvas,ChatGPT 能更好地理解您试图完成的任务的上下文。您可以高亮特定部分,明确告诉 ChatGPT 需要关注的内容。像一名文案编辑或代码审阅者一样,它可以根据整个项目提供内联反馈和建议。

在 Canvas 中,您掌控项目。您可以直接编辑文本或代码,并通过快捷菜单要求 ChatGPT 调整写作长度、调试代码,以及快速执行其他有用操作。您还可以通过 Canvas 的后退按钮恢复您工作的先前版本。

当 ChatGPT 检测到 Canvas 能发挥作用的场景时,会自动打开 Canvas。您也可以在提示中加入“使用 Canvas”来启动该功能,并将其用于现有项目。

写作快捷方式包括:

  • 建议编辑:ChatGPT 提供内联建议和反馈
  • 调整长度:将文档长度调整为更短或更长
  • 改变阅读等级:调整阅读等级,从幼儿园到研究生水平
  • 添加最终润色:检查语法、清晰度和一致性
  • 添加表情符号:添加相关表情符号以增强效果和丰富色彩

2 在 Canvas 中编程

编程是一个迭代的过程,在聊天中很难跟踪代码的所有修订。Canvas 使您更容易理解和跟踪 ChatGPT 的修改,我们计划继续提升这些编辑的透明度。

编程快捷方式包括:

  • 代码审查:ChatGPT 提供内联建议以改进代码
  • 添加日志:插入打印语句,帮助调试和理解代码
  • 添加注释:为代码添加注释,使其更易于理解
  • 修复错误:检测并重写有问题的代码以解决错误
  • 移植到其他语言:将代码转换为 JavaScript、TypeScript、Python、Java、C++ 或 PHP

3 训练模型成为协作者

我们训练了 GPT-4o,使其能够作为创意合作伙伴进行协作。模型能够判断何时打开 Canvas、进行针对性编辑或完全重写。此外,它还理解更广泛的上下文,提供精确的反馈和建议。

为此,我们的研究团队开发了以下核心行为:

  • 针对写作和编程任务触发 Canvas
  • 生成多样化的内容类型
  • 进行针对性编辑
  • 重写文档
  • 提供内联批注

我们通过 20 多项自动化内部评估测量了进展。我们采用新颖的合成数据生成技术,例如从 OpenAI o1-preview 中提取输出以对模型进行核心行为的后期训练。这种方法使我们能够快速改进写作质量和用户交互,而无需依赖人工生成数据。

一个关键挑战是定义何时触发 Canvas。我们教模型在接收到诸如“撰写关于咖啡豆历史的博客文章”这样的提示时触发 Canvas,同时避免对诸如“帮我做一道新菜”这样的常规问答任务过度触发。对于写作任务,我们优先改善“正确触发”(以牺牲“正确不触发”为代价),达到了 83%,相比零样本的 GPT-4o 基线有显著提升。

需要注意的是,此类基线的质量高度依赖于具体使用的提示词。在不同提示下,基线可能表现得很差,但以不同的方式——例如,在编程和写作任务中均匀不准确,从而导致不同的错误分布和其他形式的次优表现。对于编程任务,我们故意对触发进行偏置以避免干扰高级用户。我们将根据用户反馈持续优化这一点。

Canvas 决策边界触发——写作与编程

image

对于写作和编程任务,我们改进了 Canvas 决策边界的正确触发率,在写作和编程任务中分别达到 83% 和 94%,相比基线零样本的 GPT-4o 有明显提升。

第二个挑战是调整模型在触发 Canvas 后的编辑行为——具体来说,决定是进行针对性编辑还是完全重写。当用户通过界面明确选择文本时,我们训练模型执行针对性编辑,否则倾向于重写。随着模型优化,这种行为还将继续改进。

Canvas 编辑边界——写作与编程

image

在写作和编程任务中,我们优先提升 Canvas 的针对性编辑能力。带有 Canvas 的 GPT-4o 在这一能力上的表现比基线提升 18%。

最后,训练模型生成高质量评论需要精细迭代。与前两种情况不同,这种能力难以通过自动化方法评估,因此我们依赖人工评估评论的质量和准确性。结果显示,我们的 Canvas 集成模型在准确性上比零样本 GPT-4o 提升 30%,在质量上提升 16%。这表明,通过合成训练,可以显著改善响应质量和行为,效果优于使用详细指令的零样本提示。

Canvas 建议评论

image

人工评估显示,Canvas 模型在评论的准确性上提升 30%,在质量上提升 16%,显著优于基线 GPT-4o。

4 展望

让 AI 更有用、更易于访问需要重新思考与 AI 的交互方式。Canvas 是一种全新的尝试,也是 ChatGPT 自两年前发布以来首次对视觉界面进行重大更新。

5 12月12日重要更新

  • Canvas 向所有用户开放并内置到主要模型中,无需额外操作即可使用
  • Canvas 现支持直接运行 Python 程序代码,可直接看到代码生成的文字或图形结果。
  • Canvas 内置到自定义 GPT 中,使其具备 Canvas 的强大功能。

6 咋用?

12月12日起,Canvas 直接内置到 GPT-4o ,用户无需再通过模型选择器切换到带有 Canvas 的 GPT-4o。某些提示或粘贴的文字,Canvas 会自动打开。目前,这功能仅支持 ChatGPT web。

Canvas 能帮助用户将一个创意扩展成完整的作品。ChatGPT 界面发现输入区域有一个新按钮,可查看所有可用工具,其中包括「Canvas」。

image

7 功能盘点

虽然叫 Canvas,但主要是写作及代码工具,编辑长篇或复杂内容。适用场景:

  • 撰写长篇文章或文件:编写技术博客、SOP或完整故事
  • 代码编辑:Canvas 可编辑代码片段,如 Python 脚本、HTML 网页或其他语言,并支持多种语言的格式化
  • 多次修改与反复调整:需反复修改内容、重组段落或进行深入校对时,Canvas 让细节调整更方便
  • 团队协作草稿:与他人分享或共同编辑内容,Canvas 是条理清晰的平台。

示例:利用 Canvas 创作故事

在 Canvas 中创建一个故事,如:「为高级软件工程师写一个关于如何进阶为技术专家的故事」。

image

生成后,可在段落的右下角的「编辑建议」按钮中进一步调整:

image

如修改文章长度、润色程度和阅读等级。调整后,内容会根据目标变化:

image

8 支持运行 Python 程序代码

此次更新还使 Canvas 支持运行 Python 代码,用户可以直接在 Canvas 中运行代码,无需手动转移到本地系统验证。

Canvas 可用于以下任务:

  • 审核代码
  • 转换代码语言
  • 修复 Bug
  • 添加日志与注释

更重要的是,Canvas 提供了一个内置的 WebAssembly Python 模拟器,几乎可加载任意 Python 库并即时运行程序代码。

9 自定义 GPT 的内置 Canvas 功能

对于自定义 GPT 用户,Canvas 将默认内置,用户可通过设置调整何时或是否启用 Canvas 功能。自定义 GPT 的强大功能与基础版 ChatGPT 同步,同时支持更定制化的功能满足用户需求。

10 总结

现在就是利用 gpt 实现更高效创作最好的时代!