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

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

卡卷网10个月前 (12-12)每日看点172

花了亿点时间实际测试了一下 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

分享给朋友:

相关文章

AI普及:让人类更聪明还是更愚蠢?

AI普及:让人类更聪明还是更愚蠢?

人工智能真的会替代人类吗?如果你询问人工智能这个问题,它通常会用“情感模块”作为标准答案来回复你——人工智能因为缺失情感模块,所以暂时无法替代人类的情感、创造力和想象力。是否这意味着,人工智能一旦拥有了情感模块,就会超越正态曲线最中段的大部...

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

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

如何进行 Elasticsearch 调优实践?

如何进行 Elasticsearch 调优实践?

面试官心理分析这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s ,坑爹了。第一次搜索的...

常微分方程的理论对偏微分方程的研究有没有帮助?

常微分方程的理论对偏微分方程的研究有没有帮助?

之前看到过一句话,好像是 Bourgain 说的,大意是做 ode 的做到深处就到了 pde,做 pde 的做到深处就到了 ode,ode 和 pde 最后是相通的。以我目前有限的知识,只知道下面两个方向:1. Hamilton 系统在现代...

程序员都有自己的服务器吗?

程序员都有自己的服务器吗?

2024.9. 24,有朋友咨询功耗,我没有单独给服务器弄智能插座,系统做的 esxi 也看不到,所以只能用其他角度判断供大家参考。我有一个餐边柜改的机柜,里面白裙两盘,黑群晖 4 机械 1 mvme,一个爱快硬路由,一个联通光猫,一个 2...

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。咱...

发表评论

访客

看不清,换一张

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