对于那些在 OpenAI 的 DevDay 活动中对缺乏新的 ChatGPT 功能感到失望的人来说,这个消息可能会是一个令人愉快的惊喜:OpenAI 推出了**Canvas**,这是一个全新的功能,为使用 ChatGPT 进行写作和编码任务提供了一种新的工作方式。
很奇怪的是,OpenAI 在昨天的 DevDay 活动中没有提到这个新功能。Canvas 代表了自 2022 年 11 月发布以来 ChatGPT 的首次重大用户界面重新设计。
ChatGPT 中的 Canvas 是什么?
Canvas 是一个新的界面,专为在写作和编码项目中与 ChatGPT 一起工作而设计,超越了简单的聊天交互。Canvas 出现在聊天的右侧,使得在不断上下滚动的情况下更容易地处理长篇文档。
让我们更近距离地看一下这个新界面是什么样子的:
OpenAI 的研究团队开发了以下核心行为:
-
触发用于写作和编码的 Canvas
-
生成多样化的内容类型
-
进行有针对性的编辑
-
重写文档
-
提供内联评论
让我举个例子来说明 Canvas 是如何工作的:
提示: 编写一个简单的 NextJS 下拉菜单,其中包含 Flux 1.0 Schnell、Flux 1.0 Dev、Flux 1.0 Pro。使用 shadcn 组件使其看起来现代化
import React from 'react';
import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@shadcn/ui";
const FluxDropdown: React.FC = () => {
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button className="bg-blue-600 text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-400">
选择 Flux 版本
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent className="w-56 bg-white shadow-lg rounded-md p-1">
<DropdownMenuItem className="hover:bg-gray-100 focus:bg-gray-200">
Flux 1.0 Schnell
</DropdownMenuItem>
<DropdownMenuItem className="hover:bg-gray-100 focus:bg-gray-200">
Flux 1.0 Dev
</DropdownMenuItem>
<DropdownMenuItem className="hover:bg-gray-100 focus:bg-gray-200">
Flux 1.0 Pro
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
);
};
export default FluxDropdown;
使用 Canvas,ChatGPT 可以更有效地理解您的目标背景。您可以突出显示特定部分,以明确指定 ChatGPT 需要关注的内容。就像编辑或代码审阅者一样,它可以提供内联反馈和建议,同时保持整个项目在视野内。
例如,如果您想对代码的特定部分进行更改,只需突出显示您希望修改的部分,会出现一个浮动文本提示,您可以在其中指定您想要的更改。
在右下角,有一个快捷菜单,让您可以要求 ChatGPT 调整写作长度、调试代码,以及快速执行其他有用的操作。
一个特别有趣的选项是**“转换为其他语言”**功能,让您可以快速将您的代码翻译成其他编程语言,如 Python、JavaScript、C++ 等。
如果您对代码更改不满意,您可以使用 Canvas 中的返回按钮恢复您的工作的先前版本。
关闭 Canvas 界面时还有一个历史页面。
OpenAI 的 Canvas 与 Anthropic 的 Artifacts
Canvas 似乎是 OpenAI 对 Anthropic 的 Claude 上的 Artifacts 功能的回应。如果您还没有听说过 Artifacts,可以查看下面的文章了解详情:
当用户要求 Claude 生成内容,如代码片段、文本文档或网站设计时,结果会显示在他们对话旁边的一个专用窗口中。
然而,一个主要区别是,Canvas 无法呈现 Web 组件。当我要求它生成一个简单的贪吃蛇游戏时:
提示: 创建一个带有计分系统的完全可玩的贪吃蛇游戏 Web 应用程序
Canvas 能够为我提供用 Python 编写的贪吃蛇游戏的源代码。然而,当我要求它在屏幕上呈现游戏以便我玩时,它只是回答道:
目前,我无法直接运行或呈现像这个基于 Python 的贪吃蛇游戏这样的互动游戏。不过,您可以通过在本地计算机上运行脚本来轻松玩游戏。
当您在 Claude 上尝试相同提示时,Artifacts 功能将在聊天窗口中呈现一个可玩的 Web 应用程序。
对于那些希望在不离开聊天界面的情况下快速可视化 Web 应用程序或图形的用户来说,这是一个重要的决定因素。
如何访问 Canvas?
要访问 Canvas 功能,您需要成为 ChatGPT 的付费订阅用户。但是,OpenAI 计划在未来向免费用户提供 Canvas。
从今天开始,我们将向 ChatGPT Plus 和 Team 用户全球推出 Canvas。企业和教育用户将在下周获得访问权限。我们还计划在 Canvas 推出正式版后向所有 ChatGPT 免费用户提供 Canvas。
要开始使用,打开 ChatGPT 仪表板,在模型选择器下,您会看到一个新选项,“带 Canvas 的 GPT-4o”。
选择该模型,然后开始编写您的提示。
当 ChatGPT 检测到 Canvas 可以帮助的场景时,Canvas 会自动打开。您也可以在提示中包含 "use canvas"
来打开 Canvas 并在现有项目上使用它。
何时使用 Canvas?
您可能会注意到,ChatGPT 聪明地知道何时切换到 Canvas 界面,何时不切换。
对于像“给我一个周末的锻炼计划”这样的查询,切换到 Canvas 界面是不必要的。
事实上,确定触发 Canvas 的最佳场景非常具有挑战性。OpenAI 在这方面面临了几个关键挑战:
-
决定何时触发 Canvas:例如,对于像“写一篇关于咖啡豆历史的博客文章”这样的提示,应该打开 Canvas,但对于像“帮我煮一道新的晚餐食谱”这样的一般查询则不应该。
-
优化编辑行为:一旦 Canvas 激活,模型需要确定是进行有针对性的编辑还是重写整个部分。
-
生成高质量评论:最终的挑战是增强模型在 Canvas 中产生富有见地和准确的评论的能力。与触发和编辑行为不同,评估评论质量需要人类评估,因为反馈的主观性质。
通过解决这些关键挑战,模型知道何时打开 Canvas,进行有针对性的编辑和完全重写。它还了解更广泛的背景,以提供精确的反馈和建议。
最后的思考
几个月前,OpenAI 让 ChatGPT 对所有用户免费使用。许多人对公司为什么做出这样的举措感到困惑。成千上万的用户,包括我在内,取消了他们的订阅,因为免费版已经可以访问到 GPT-4o,这是公司提供的最新和最强大的语言模型。
也许 OpenAI 之所以让 ChatGPT 免费,是因为他们有更大的功能即将推出,值得付费。引入这样的高级工具可以证明订阅费用的合理性,使用户更倾向于投资于超越免费版所提供的增强功能。
然而,Canvas 无法呈现 Web 组件对我来说是一个硬伤。当 Anthropic 推出 Claude Artifacts 时,我印象深刻,因为它允许您在聊天窗口中构建可玩的游戏。但是 Canvas 目前还不能做到这一点。
此外,对于那些将 Canvas 与 Cursor AI 进行比较的人 - 嗨,Canvas 甚至还差得远。如果 OpenAI 构建类似于 Cursor 的工具并将其集成到 VS Code 中,也许它有机会击败 Cursor。
无论如何,Canvas 目前仍处于早期测试阶段。在未来几周内可能会发生很多变化,根据 OpenAI 的说法,他们计划快速改进其功能。请在评论中告诉我您对这一新的 ChatGPT 功能的看法!