当前位置:首页 > 每日看点 > 正文内容

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?

卡卷网1年前 (2024-12-12)每日看点284

花了亿点时间实际测试了一下 ChatGPT Canvas,略微有点失望的,再加上 GPT-4o 最近降智导致工具调用不稳定,感觉一些交互逻辑并不像想象中那么顺畅。

Canvas 强调的是人和 AI 协作完成对长文本的编辑、修改等任务。目前测试下来的主要结论:

  • Python 代码运行是通过浏览器本地 WASM 实现的,而非云端沙盒,区别在于可以发送网络请求,但同时也有其他性能限制。
  • 长文本编辑的体验比以前强很多,但还是不像 Notion AI 那样自然且符合操作直觉,现在的编辑修改还是没有脱离对话的形式。

官方今天的演示里提到了三点更新:

  • Canvas 正式向全体用户开放(免费用户也可用)
  • Canvas 中可以运行 Python 代码
  • Canvas 支持自定义 GPTs

更新之后的 ChatGPT 中不再有单独的GPT-4o with Canvas(beta)模型选择,而是直接整合到了GPT-4o的模型中。[1]o1o1-mini目前不支持 Canvas。

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第1张

接下来按照我自己关心的顺序写几项测试结果吧。

Canvas 的页面构成

进入 Canvas 之后,页面主要会分成两部分,即左侧栏的对话区和右侧的文本/代码编辑区。右下角会提供一些快捷方式(比如提供建议、代码审查等),右上角是功能键,比如版本比较、撤回、复制、运行代码等。

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第2张

Canvas 的触发条件

要测试 Canvas 的触发条件,就要理解 Canvas 的设计目的。Canvas 作为一项「画布」功能,其主要目的是为了优化用户对长文本的交互体验。也就是说,如果用户本身是为了一问一答的对话而来,其实没必要用到 Canvas;只有当用户需要对 ChatGPT 生成的内容进行反复修改时,画布才有意义。

Canvas 的触发逻辑和 ChatGPT 其他工具(比如搜索、画图)一样,如果不明确指定的话,会由 AI 自动判定是否需要调用。

这一点在 System Prompt 对 Canvas 的工具描述中也可以找到:Creates a new textdoc to display in the canvas. ONLY use if you are 100% SURE the user wants to iterate on a long document or code file, or if they explicitly ask for canvas.(仅在你完全确认用户希望编辑长文档或代码文件,或者明确要求使用画布时,才应使用此功能。)

所以目前 ChatGPT Canvas 的触发方式有几种:

第一,由 AI 根据对话内容自行判定是否触发(可以在对话内容中明确指定「通过 Canvas 打开」,或者「不要打开 Canvas」)。

第二,直接使用官方对话工具箱中的 Canvas:

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第3张

第三,大概是为了进一步优化用户体验,现在只要在 ChatGPT 对话框中输入的文本需要换行显示(也就是超过两行内容,可以是普通文本,也可以是代码),对话框右上角就会出现「在 Canvas 中打开」的按钮:

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第4张

Update 以下:如果你通过以上方式都不能打开 Canvas,就说明你的 GPT-4o 降智不能正常调用工具(不能识图或生成图片、不能分析文件),这个 BUG 临时的解决办法是「先用 o1 模型上传一张照片并提问,然后在同一个对话中,切换回 GPT-4o 模型去调用工具」

ChatGPT Canvas vs ChatGPT Code Interpreter / Claude Artifacts

作为程序员,我自然最关心所谓能运行 Python 代码的功能。所以我们先来测试写代码、运行代码的功能。

首先一点是,如果你已经有完整的代码,直接粘贴到对话框展开 Canvas 就可以运行,而且此时如果你不对代码提问的话,实际上并没有和 ChatGPT 发生对话(也不会有对话记录)。

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第5张

究其原因,Canvas 运行 Python 代码是通过浏览器的 Emscripten WebAssembly 功能实现,运行代码使用的是本地电脑的能力

而以前的 ChatGPT Code Interpreter(后来改名为 Advanced Data Analyst)使用的则是 OpenAI 提供的云端沙盒。

所以你会发现 Canvas 中的代码是能够发起网络请求的,而 Code Interpreter 则因为云端沙盒的限制不能使用网络功能。

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第6张

这一点也很容易验证,比如,你可以让 ChatGPT 自己写一段测试当前环境硬件配置和网络的代码然后自己运行:

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第7张

出 BUG 了正好让 ChatGPT 自己 Fix 一下:

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第8张

而如果在 Data Analyst(数据分析 GPT)中去测试硬件环境,就会得到类似#1 SMP Sun Jan 10 15:06:54 PST 2016 的云端沙盒结果:

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第9张

Canvas 编程时可以使用的快捷方式:

  • 添加日志:插入打印语句以帮助调试和跟踪执行过程。
  • 添加注释:添加注释以解释代码并提高可读性。
  • 修复 bug:检测并重写有问题的代码以解决错误。
  • 移植到其他语言:将代码翻译为 JavaScript、Python、Java、TypeScript、C++ 或 PHP 等语言。
  • 代码审查:提供内联建议以优化和改进代码。

至于和 Claude Artifacts 的比较,其实并不是同一种东西。ChatGPT 这个代码运行主要还是延续了当初 Code Interpreter 的一贯作用,主要是服务于 Python 代码、数据分析作图之类;而 Claude 则是倾向于渲染前端,起到一个 HTML/SVG 代码所见即所得的作用。

之前有人扒出 ChatGPT Canvas 也打算实现类似的 webview 功能,不过目前版本显然还没做。

交互式编辑文本

除了代码编辑和运行外,Canvas 的本职其实是文本编辑,而且这里的文本编辑框甚至提供了一些简单的 Markdown 样式,比如加粗、斜体和三级标题。

写作文档时可以使用的快捷方式:

  • 建议修改:ChatGPT 将添加内联建议,以改进您的写作。
  • 调整长度:缩短或扩展文档的长度。
  • 调整阅读水平:调整阅读水平,从幼儿园到研究生水平。
  • 添加最终润色:检查语法、清晰度和一致性。
  • 添加表情符号:替换单词为表情符号,或为额外的强调和色彩添加表情符号。

比如这里的写作建议,GPT-4o 会审查全文后给出一些具体句子的修改建议:

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第10张

如果对其中一条建议 Apply,ChatGPT 就会单独重写这一段话,点击右上角的 Show changes,就会看到类似于 git diff 的效果:

OpenAI 正式开放 Canvas,支持 Python 编码,可整合到定制 GPT 中,有哪些亮点?  第11张

Canvas in GPTs

emmm,咋说呢,GPTs 整体上半死不活,没能像想象中的自定义 Agent 那般功能强大,所以有没有 Canvas 影响也不大,还不如赶紧把 o1 模型支持 Canvas 和 GPTs,毕竟现在写代码都主要靠 o1 了,最强的模型不能搭配最好的工具,差点意思。

总之,和 10 月推出的 Canvas 相比,这次就多了 Python 代码运行和免费用户可用,感觉放在 12 天的发布里有点凑数了。不过,Canvas 继续朝着「人和 AI 协作」的方向,路子肯定是对的,希望能继续优化交互体验吧。

参考:

OpenAI 重磅发布交互界面 canvas,让 ChatGPT 成为写作和编程利器,带来影响有多大?

最后附上 Canvas 部分的 System Prompt,顺便一提,这一版 System Prompt 和 10 月份 Beta 版的相比简略了非常多,不知道是功能更稳定了,还是着急发布先去掉了一些功能:

## canmore # The `canmore` tool creates and updates textdocs that are shown in a "canvas" next to the conversation This tool has 3 functions, listed below. ## `canmore.create_textdoc` Creates a new textdoc to display in the canvas. ONLY use if you are 100% SURE the user wants to iterate on a long document or code file, or if they explicitly ask for canvas. Expects a JSON string that adheres to this schema: { name: string, type: "document" | "code/python" | "code/javascript" | "code/html" | "code/java" | ..., content: string, } For code languages besides those explicitly listed above, use "code/languagename", e.g. "code/cpp" or "code/typescript". ## `canmore.update_textdoc` Updates the current textdoc. Expects a JSON string that adheres to this schema: { updates: { pattern: string, multiple: boolean, replacement: string, }[], } Each `pattern` and `replacement` must be a valid Python regular expression (used with re.finditer) and replacement string (used with re.Match.expand). ALWAYS REWRITE CODE TEXTDOCS (type="code/*") USING A SINGLE UPDATE WITH ".*" FOR THE PATTERN. Document textdocs (type="document") should typically be rewritten using ".*", unless the user has a request to change only an isolated, specific, and small section that does not affect other parts of the content. ## `canmore.comment_textdoc` Comments on the current textdoc. Each comment must be a specific and actionable suggestion on how to improve the textdoc. For higher level feedback, reply in the chat. Expects a JSON string that adheres to this schema: { comments: { pattern: string, comment: string, }[], } Each `pattern` must be a valid Python regular expression (used with re.search).

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/12/3972.html

分享给朋友:

相关文章

你手机里有哪些堪称神器的 App?

你手机里有哪些堪称神器的 App?

嗨嗨,我是赢酱~首先我认为对于我们有用的提升自我的都是手机里的神器 App。 一个人应该什么样子呢?在我从女孩子的角度看来,自律,上进,会打扮,情商高,会挣钱,独立,落落大方,这才是应该有的样子,我们可以借助手机不断学习改变今天给大家准备的...

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

要弄清楚这个问题,首先要弄清楚什么是内存,什么是硬盘,在计算机的组成结构中有一个很重要的部分是存储器。它是用来存储程序和数据的部件。对于计算机来说,有了存储器,才有记忆功能,,才能保证正常工作。存储器的种类很多。按其用途可分为主存储器与辅助...

Redmi 为什么可以把性价比做得那么高?

一位修手机的老大哥曾经跟我说过,红米1那个手机,除了处理器还凑活,其余零部件,就是市面上山寨机那种。其实红米性价比并不算极致,而且一直都有竞争者,从原来的群魔乱舞,到后来的荣耀,魅蓝,一加,再到现在的IQOO和realme。红米的方法也很简...

NAS那么好,为什么还是没能成为大多数家庭必备的存储设备?

NAS那么好,为什么还是没能成为大多数家庭必备的存储设备?

最主要原因是因为——贵!看看我家里搭建的这一套吧。目前我家中有5台常用的NAS,分别为群晖DS1522+、威联通TS-464C2、绿联DX4600 Pro 、极空间Z4S、威联通TS-AI642。个人认为,这其中的每台NAS都是时代的翘楚,...

只有我一个人后悔升级鸿蒙next吗?

只有我一个人后悔升级鸿蒙next吗?

我有一台mate 60 pro,第一时间升级了“纯血鸿蒙”。虽然功能并不完善,甚至有些简陋,但是我非常~非常不后悔升级鸿蒙next系统。因为.... 这就是一款“大型养成系游戏“,给我平淡的生活提供了源源不断的情绪价值。我每天特别...

如何判断 Java 工程师的基础知识是否扎实?

我来给你出几道大题,能答对70%,你就算基础扎实了。第一部分 Java基础(27)1. 程序本质:代码是如何被执行的?CPU、操作系统、虚拟机各司何职?2. 基础语法:从CPU角度看变量、数组、类型、运算、跳转、函数等语法3. 引用类型:同...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。