机器之心报道 机器之心编辑部 今日凌晨,OpenAI 宣布推出类似 Anthropic 的 Artifacts 的应用 canvas,并称「这是一种使用 ChatGPT 写作和编程的新方式」。 在 Claude 中试过 Artifacts 的朋友都知道,这能极大提升 LLM 输出结果的表现力,其支持输出文本文件、代码、网页、SVG 等等。此前风靡一时的「汉语新解」便是基于 Claude 的 Artifacts 功能。但让 ChatGPT 用户感到遗憾的是,Artifacts 上线三个多月了,OpenAI 一直没有跟进,以至于一些开发者自行开发发布了自己的开源版本。 现在,用户的呼声终于获得了响应,于是纷纷点赞。也有人开玩笑地表示 OpenAI 这是打不过 Claude 便加入。 已有用户分享了自己使用 canvas 的惊喜成果,比如用户 @bilawalsidhu 分享自己让 ChatGPT 使用 ThreeJS 创建超立方体查看器过程: 在 canvas 这个界面,你可以与 ChatGPT 一起完成写作和编码项目,而不再局限于简单的聊天。canvas 是一种新的交互方式,也是 OpenAI 推出 ChatGPT 以来的首个重大视觉界面更新。 canvas 会在单独的窗口中打开,方便用户与 ChatGPT 一起协作完成项目。canvas 的 Beta 版本为用户提供了一种全新的合作方式:你不仅能够通过对话进行创作,还能与 ChatGPT 成为并肩作战的伙伴,一起创造和完善。 canvas 由 GPT-4o 支持,在 Beta 期间可以在模型选择器中手动选择。不过,现在 Beta 版本只提供给 ChatGPT Plus 与团队用户。企业和教育用户将在下周获得访问权限。ChatGPT 免费用户需要等到 canvas 正式发布后才能使用。 我们先一睹 canvas 有哪些惊艳之处。 和 ChatGPT 聊天对于我们来说已经是十分简便的信息获取方式,这也包括写作与编码。不过当你想要及时对写作内容或者编码内容进行修改时,对话方式可能就显得力不从心了。 canvas 的出现就是为了解决这个难题。 在这个新的界面中,你可以通过高亮的方式,告诉 ChatGPT 具体需要关注什么,让它更精准地理解你的用意。这就类似于编辑,你可以在全部上下文中具体地提出反馈和建议。 此外,你的调整方式也十分便捷,直接编辑代码或文本都不成问题。你的项目,你做主。canvas 还提供了快捷菜单,可以让 ChatGPT 帮你调整文本长度、调试代码,或者快速执行其他实用操作。如果想要之前的版本,一键返回即可恢复。 写作快捷操作,图源:https://openai.com/index/introducing-canvas/ 当 ChatGPT 发现某个场景中 canvas 能帮上忙时,它会自动打开。你也可以在提示中直接加一句「使用 canvas」,这样 ChatGPT 就会切换到 canvas 界面,帮助你更方便地处理现有项目。 代码是一个迭代过程,但是在聊天之中,很难跟踪代码的改进过程。canvas 让我们可以更轻松地跟踪和理解 ChatGPT 的修改过程,OpenAI 也承诺「计划继续提升这类编辑过程的透明度」。 canvas 目前提供了以下编程快捷操作: 审阅代码:ChatGPT 可提供改进代码的行内建议; 添加日志:插入 print 语句来帮助用户进行调试和理解代码; 添加注释:为代码添加注释,让其更容易理解; 修复 bug:检测和重写有问题的代码,以修复错误; 支持多语言导出:可将用户的代码转译成 JavaScript、TypeScript、Python、Java、C++、PHP 等语言。 OpenAI 的研究团队对 GPT-4o 进行了训练,以使其能够作为创意合作伙伴进行协作。该模型知道何时打开 canvas,何时进行目标性编辑,以及何时需要完全重写。同时,它还能够理解更广泛的上下文,从而提供精准的反馈和建议。 为了支持这一点,研究团队开发了以下核心行为: 在写作和编码时触发 canvas 生成多样化的内容类型 进行目标性编辑 重写文档 提供 inline 评论 OpenAI 通过 20 多项自动化内部评估来衡量进展,并使用了新颖的合成数据生成技术,例如从 OpenAI 的 o1-preview 中提取输出,来对模型进行核心行为的后训练。这种方法能够快速应对写作质量和新的用户交互需求,从而无需依赖人工生成的数据。 对研发团队来说,一个关键挑战是何时触发 canvas。OpenAI 训练模型在像「写一篇关于咖啡豆历史的博客文章」这样的提示词下打开 canvas,同时避免对像「帮我做一道新的晚餐食谱」这样的一般问答任务进行过度触发。 在写作任务中,他们优先改进了「正确触发」的情况(以牺牲「正确不触发」为代价),达到了 83%,相较于作为基线的零样本提示词式 GPT-4o 有了显著提升。 值得注意的是,此类基线的质量对特定提示词非常敏感。不同的提示词可能导致基线在表现不佳的同时,呈现不同的错误分布。 例如,在编码和写作任务中会出现「均匀地不准确」情况,导致不同类型的错误分布和表现不佳的形式。在编码方面,OpenAI 有意让模型在触发方面偏向保守,以避免干扰高级用户的体验。之后,OpenAI 也是承诺将继续根据用户反馈对其进行优化。 针对写作和编码任务,OpenAI 改进了准确触发 canvas 决策边界的能力,分别达到了 83% 和 94%,相较于作为基线的零样本提示词式 GPT-4o 有明显提升。 第二个挑战在于对模型在触发 canvas 后的编辑行为进行调优,特别是决定何时进行目标性编辑,何时重写整个内容。 OpenAI 训练模型在用户通过界面明确选择文本时进行目标性编辑,否则就更倾向于重写内容。随着模型的不断完善,canvas 的编辑行为也在持续演变。 针对写作和编码任务,OpenAI 优先优化了 canvas 的目标编辑功能。带有 canvas 的 GPT-4o 在性能上比基线的提示词式 GPT-4o 高出 18%。 最后,训练模型生成高质量评论需要经过仔细的迭代。与前两个可以轻松适应自动化评估并辅以详细人工审查的案例不同,自动衡量评论的质量尤其具有挑战性。 因此,OpenAI 使用人工评估来衡量评论的质量和准确性。他们所整合的 canvas 模型在准确性上比使用提示词指令的零样本 GPT-4o 高出 30%,在质量上高出 16%。 这表明合成训练显著提升了相较于带有详细指令说明的零样本提示词下的响应质量和行为表现。 canvas 目前仍处于早期测试阶段,OpenAI 后续计划快速提升其功能。 至于它和 Artifacts 究竟谁更能赢得用户亲睐,就让我们拭目以待吧,相信刚拿了一大笔投资的 OpenAI 也应该不会让用户失望。 参考链接: https://openai.com/index/introducing-canvas/ https://twitter.com/OpenAI/status/1841887707020329173 https://techcrunch.com/2024/10/03/openai-launches-new-canvas-chatgpt-interface-tailored-to-writing-and-coding-projects/