6. 画布(Canvas)


画布(Canvas)是 ChatGPT 提供的独立工作区,专门用于需要反复编辑和迭代的内容创作。与普通对话不同,Canvas 会在聊天窗口旁边打开一个可编辑的文档或代码面板,可以直接在内容上进行修改,而不是在对话中来回粘贴。

核心优势

普通对话Canvas
每次修改都生成完整新版本直接在原文上局部编辑
内容散落在多轮对话中内容集中在一个面板
需要手动复制粘贴一键导出最终版本
难以追溯修改历史支持版本回滚

适用场景

  • 长文档写作(文章、报告、邮件)
  • 代码开发与调试
  • 需要多轮润色的内容
  • 翻译与本地化
  • 任何需要"边写边改"的任务

触发方式

方法一:手动触发

image-20260516012456947

在输入框选择「更多 > 画布」选项,或在对话中明确要求:

请用 Canvas 帮我写一篇关于远程办公的文章
打开 Canvas,我需要写一段 Python 代码

方法二:模型自动判断

当请求涉及较长的写作或编程任务时,ChatGPT 可能自动启用 Canvas:

帮我写一份完整的项目计划书,包含背景、目标、时间线和预算

方法三:从现有内容进入

把我上面发的这篇文章放到 Canvas 里,我要逐段修改

进入画布

image-20260516152503441

点击右上角图标即可进入画布。

文档写作模式

image-20260516152525895

Canvas 的文档模式提供一系列写作辅助工具,位于面板右侧的工具栏中。

工具栏功能

工具功能
添加表情为文本添加合适的 emoji
润色提升语言表达质量
阅读级别调整文字难度(小学 > 研究生)
调整长度扩写或缩写选中内容
建议编辑AI 提出修改建议,你决定是否采纳

实战:撰写技术博客

第一步:生成初稿

image-20260516152643799

用 Canvas 写一篇介绍 Docker 容器技术的博客文章,面向初学者,
大约 1000 字,包含:
- 什么是容器
- Docker 的核心概念
- 一个简单的使用示例

第二步:局部修改

image-20260516152724062

用鼠标选中想修改的段落,然后告诉 ChatGPT:

这段"什么是容器"的解释太抽象了,加一个生活中的比喻

第三步:使用工具栏

image-20260516153117888

  • 选中技术术语较多的段落 → 点击「阅读级别」→ 选择「高中生」
  • 选中结尾段落 → 点击「调整长度」→ 选择「扩写」

第四步:整体润色

image-20260516153236307

整体检查一下文章的逻辑流畅性,标注出衔接不自然的地方

第五步:显示修改

image-20260516153253927

点击右上角图表可以显示修改的内容。

写作模式技巧:

  1. 善用选中编辑:不必每次都重新描述整篇文章,直接选中特定内容说「把这段改成更正式的语气」
  2. 分步迭代:先完成结构,再填充内容,最后润色
  • 第一轮:先列出文章大纲
  • 第二轮:逐节扩写
  • 第三轮:统一语言风格

代码编写模式

image-20260516153621719

当 Canvas 检测到编程相关任务时,会自动切换为代码模式,提供专属的编程工具。

工具栏功能:

工具功能
添加评论为代码添加详细注释
添加日志插入调试用的日志语句
修正错误检测并修复代码错误
转移到一种语言将代码转为其他编程语言
代码审查检查潜在问题和改进点

实战:开发 Python 工具

第一步:生成初始代码

用 Canvas 写一个 Python 脚本,功能是:
- 读取指定文件夹下的所有图片
- 批量压缩图片到指定大小
- 保存到新的输出文件夹
使用 Pillow 库

第二步:代码审查

image-20260516154044031

点击工具栏的「代码审查」按钮,ChatGPT 会检查:

  • 潜在的错误和异常处理
  • 性能优化建议
  • 代码风格问题

第三步:选中特定代码修改

image-20260516154452033

这个代码加上进度条显示,用 tqdm 库

第四步:添加注释

image-20260516154619966

给所有函数添加 docstring,说明参数和返回值

第五步:语言转换

image-20260516154753950

选择目标语言,即可完成代码转换,支持上述六种编程语言之间的相互转换。

代码模式技巧:

1. 增量开发:逐步添加功能

第一步:先实现核心的图片压缩功能
第二步:添加批量处理
第三步:添加命令行参数支持
第四步:添加错误处理

2. 调试辅助:遇到报错时直接粘贴错误信息

运行报错了:
[粘贴错误信息]
请修复这个问题

3. 单独修改某几行

第 23-30 行的循环效率太低,用列表推导式重写

编辑与协作功能

直接编辑

Canvas 中的内容可以直接手动编辑:

  • 直接打字修改内容
  • 删除不需要的部分
  • 复制粘贴外部内容

手动编辑后,ChatGPT 会识别改动:

基于我刚才手动修改的内容,继续完善后面的部分

AI 建议编辑

点击「建议编辑」按钮后,ChatGPT 以修订模式显示建议:

  • 删除的内容显示为红色删除线
  • 新增的内容显示为绿色
  • 可以逐条接受或拒绝

内嵌注释

让 ChatGPT 不直接修改,而是添加注释:

不要直接改,用批注的形式指出这篇文章的问题

版本历史与回滚

Canvas 会自动保存每次重要修改,形成版本历史。

image-20260516155005683

查看版本

  • 点击 Canvas 面板右上角按钮
  • 可以切换上下版本

标记重要版本

image-20260516155209537

记住当前版本,保存为"第一稿",后续修改后我可能想回退

Canvas 实践总结

何时使用 Canvas

场景是否使用 Canvas
"帮我写一篇文章"✓ 使用
"这篇文章主题应该写什么"✗ 先普通对话讨论
"写一个完整的爬虫脚本"✓ 使用
"Python 列表和元组有什么区别"✗ 普通对话即可
"帮我改一下这封邮件"✓ 使用
"这个代码报错是什么原因"✗ 普通对话即可

高效工作流程

1. 普通对话:明确需求、讨论方向

2. 进入 Canvas:生成初稿

3. 迭代优化:工具栏 + 选中编辑 + 对话指令

4. 版本管理:适时回滚、保存关键版本

5. 导出使用:复制保存最终版本

常见问题

问题解决方案
Canvas 内容太长导致处理变慢分模块处理,或将已完成的部分导出后清空
AI 每次修改太多不想要的地方使用「建议编辑」模式,逐条确认;或选中特定区域限定修改范围
想退出 Canvas 回到普通对话直接在对话框中提出与 Canvas 内容无关的新问题,或关闭 Canvas 面板

评论

0
还没有评论,来写第一条吧