跳转到内容

内置 Agent

编辑器自带一个 Agent。你打一句话,它读场景、调用编辑器 UI 调用的同一批工具, 并把每一次调用都摊在你眼前。它不是编辑器的另一份复制品:它驱动的工具目录, 和外部 MCP 客户端驱动的是同一份——它能做什么, 和编辑器能做什么,是一张清单。

编辑器不附带任何密钥,也不会自己发起任何调用。打开设置 ▸ AI 代理, 配好一个提供方,配置就算做完了。

设置 ▸ AI 代理——你自己的提供方表:每一行有名称、协议、地址、模型名和各自的密钥,其中一行展开显示这个接口能接受什么

  1. 填入 Anthropic、DeepSeek 或 OpenAI 的 API 密钥。每个提供方各存各的, 所以切回上周用过的那个不用重新输入。

  2. 有些提供方还要你自己填模型名。这是故意的:编辑器内置的列表只能正确到 厂商下次发布为止,而写了个已经不存在的名字并不会被拒绝——接口会悄悄改用一个 更小的模型顶上,并且一整个会话都是如此。

  3. 或者在你的提供方里添加自己的——任何接口都行,有几个加几个。每一行 都和内置的提供方一样:名称、讲哪种协议、地址、模型名,以及它自己的密钥。 展开一行还能说明这个接口能做什么

  4. 关掉设置。模型选择器就在你打字的那个框旁边——它是逐条消息的选择, 而不是埋在对话框里的偏好设置。

内置的提供方已经自己写好了。你自己加的那些,编辑器没有办法探出来,而猜错的 两个方向代价都不小——所以一行的展开项就是你告诉它的地方。没说的部分不会被 发现,只会被绕开。

  • 接受图片——Agent 会截图来检查自己干的活。发不出去图片时,它会改成把 同一帧要成粗颗粒的文字色块网格,并在对话里说明。默认关闭:给一个其实看不了 图的接口打开它,代价是整轮请求被拒;而不打开,只是少了些它多半能不依赖的细节。
  • 上下文窗口——一段对话能长到多大,才开始把最早的几轮折叠掉。留空按一个 保守值算,会把本来还有余量的对话提前折叠;写得太大则是整轮请求直接失败, 而且是在你等完之后。
  • 接受思考深度参数——请求里可不可以带上上面设的那个深度。没听说过这个参数 的接口会拒掉整次调用,而不是忽略它——遇到这种就把它关掉。

打开命令面板(Ctrl/Cmd+Shift+P)执行 Agent:打开。或者干脆跳过这一步: 直接把问题打进命令面板。凡是读起来像一句话而不像命令的输入,面板都会给出 交给 Agent,按 Enter 就发出去了。

一轮跑完的 Agent 对话:问题、两次工具调用,以及回答

一轮对话从上往下读:

  • 问题,旁边是回答它的模型、耗时,以及花掉的 token。
  • 每次工具调用一行——get_scene_treeget_event_bindings——带上参数和 返回的条数。这部分才是值得读的:它决定了你拿到的是关于你这个场景的回答, 还是一段泛泛而谈。
  • 回答

在输入框里,用 @ 可以按名字引用实体,省得你去描述指的是哪一个。你也可以 拖入或粘贴图片——一张设计稿、一张 bug 截图——在接口支持图片时它会随问题 一起发出去。它干活期间,状态栏上会有一条实时的段落,带停止按钮, 所以抽屉关着也看得见进度、也随时能叫停。

分级是按撤销在哪里失效划的,这也是它值得你知道的原因:

层级 例子 会发生什么
只读 get_scene_treeget_inspectorcapture_viewport 直接跑,从不询问。
可撤销 新建、删除、set_field、改父子、刷瓦片 直接跑。整一轮外面套着一个检查点,一次撤销就能全退。
不可逆 写文件、导出构建、保存、run_editor_command 一定先问。事后撤销救不了你。

所以你给出的许可并不是逐条改动的许可——它就是撤销按钮,而且作用于整一轮。 一轮跑完且确实改了东西时,记录下面会留一条撤销 / 保留的横条; 如果你自己之后又编辑过,它会提示你——因为那时撤销会把你自己的活也一并退回。

有一个可撤销的工具仍然会停下来问,而且不是出于安全:apply_scene_ops 一次调用就能搭出一整棵子树,上百个节点的改动值得在落地之前看一眼, 而不是事后再读回来。

一批场景改动的预览:列出 6 项改动,每一行都能划掉,下面是全部应用 / 本轮都允许 / 跳过

每一行就是一项改动。点一行可以划掉它——划掉一个新建实体时, 引用它的行会一并划掉——然后应用剩下的。本轮都允许会让它在这一轮里 不再询问,这正是让一次长时间搭建不至于变成一百次弹窗的东西;下一轮会重新问。

拒绝也不是死路:Agent 会被告知这一步被跳过了,然后绕开它继续。

跑完的对话会和项目存在一起——记录,以及模型对它的记忆。历史对话里列着它们, 挑一段就能从当时停下的地方接着聊。在一段打开的对话里继续提问, 前面建立起来的东西都还在。

一段长对话里有两件事值得知道:

  • 抽屉顶部的上下文刻度表示模型的窗口用掉了多少。超过阈值后, 最早的几轮会被折叠出它的记忆:你问过的话原样保留,工具调用和结果不保留。 记录里仍然显示着它们——只是模型读不到了。发生这件事时,抽屉会在发生的那一行说出来。
  • 一段对话属于回答它的那个模型。 切换模型会结束当前这段并重新开始。 它对场景做过的改动仍然保留。

你还可以换个说法重新提问某一轮:它会丢弃那一轮以及之后的所有内容,然后重问。 当三条消息之前就跑偏了、而你不想再靠聊天把它拉回来时,这个很好用。

  • AI 代理 (MCP) —— 同一份工具目录, 只不过是从 Claude Code、Cursor 或你自己的代理去驱动,而不是从编辑器内部。
  • 事件绑定 —— 你要求“不写代码的行为”时,Agent 会去用的东西。
  • 预制体 —— 在预制体模式下,Agent 编辑的是预制体而不是场景。 要它做大改动之前,先确认它正在编辑的是哪个文档。