虽然大多数人尚未通过 AI 编码代理获得神级的 10 倍开发能力,但我们许多人正在试验并权衡利弊。在某些情况下,您希望代理直接处理您的本地文件,通常作为同步 AI“副驾驶”在前端工作。Zed 代理面板和内置工具为您提供了所需的一切。
其他时候,您希望代理在后台异步处理问题。您绝对不希望后台代理干扰您的前端工作,尤其是当您的所有代理都在同一个代码库(例如您的单体仓库)上工作时。除了让一组代理并行处理代码库的不同部分外,您可能还需要一个具备并行能力的模型,例如 Claude 4,以便从单个提示中生成三种不同的可能解决方案。理想情况下,您希望拥有一切。
但要让这些代理并行工作,通常意味着管理具有仓库克隆的不同目录,或者与 git stash 搏斗。您可能已经发现了 git worktree 的奇妙之处,它允许您拥有并行的 Git 历史记录,但您仍然在本地机器上运行不受信任的 AI 生成代码,而没有隔离的沙盒。容器似乎是实现隔离的正确技术,但是您应该如何将它们与 Git Worktrees 集成,以获得一个涵盖所有用例(并具有出色的开发体验)的完整解决方案呢?这可能超出了您的预期。
尽管如此,理想情况下,您希望拥有一切——Zed 前端代理体验和隔离的后台并行代理。事实证明,您可以通过 Zed + 容器使用 来实现这一切。
什么是容器使用?

容器使用是一个开源项目,具有简单的开发体验,通过编排为编码代理提供自己的容器化沙盒环境
- 用于与您的系统隔离的容器、终端访问、服务隧道(由 Dagger 提供)
- Git Worktrees 用于易于合并的并行 Git 历史记录
容器使用如何工作?
通过 为容器使用配置的 Zed(通过 MCP),当您启动代理任务时,将创建一个具有随机名称的新环境,其中包含用于隔离的 Dagger 容器(默认为带 git 和 curl 等工具的 ubuntu,但您可以自定义此项)以及由容器使用管理的 Git 工作树。您可以拥有任意数量的环境,并通过 container-use list 查看所有环境。
您还可以使用 container-use CLI 通过 container-use watch、container-use log <env name> 和 container-use diff <env name> 等命令检查代理的进度。
由于 Dagger 容器原生支持临时服务和终端调试,因此通过提示请求连接到环境中运行的服务 URL 非常容易——您将获得从 localhost 到沙盒容器的隧道,此外,您还可以运行 container-use terminal <env name> 进入交互式终端会话,以便探索和运行命令。
如何以最佳方式在 Zed 中设置容器使用
容器使用文档 将帮助您启动并运行,无论是通过使用新的 Zed 容器使用扩展 还是 手动配置。除此之外,为了充分利用前端和后台代理,最重要的是设置 Zed 代理面板的 自定义配置文件。
这些用户配置的配置文件超越了代理面板中内置的“写入”、“询问”和“最小”配置文件。我建议使用两个:foreground 和 container-use(或者如果您喜欢,background)。
→ foreground 配置文件将所有内置 Zed 工具设置为活动状态。

→ container-use 配置文件没有激活任何内置工具,只激活容器使用工具。

这个系统的妙处在于,现在您的前台和后台代理不会发生冲突。您可以切换到 container-use 配置文件并启动一个后台并行代理实验(也许是请求三种新的 UI 设计),然后切换到 foreground 配置文件,并借助代理支持交互式编辑一些棘手的服务器逻辑。
即使您将视线从 Zed 移开,在网络浏览器中进行一些研究,当您的后台代理任务完成时,Zed 也会给您一个可爱的通知。
我还建议将 Zed 规则库 与您的自定义配置文件一起使用。这样您就可以自定义您的容器使用规则并将其包含在后台任务中。

下一步是什么?
无论您是想在前端完全手动操作,还是在后台使用代理,或者介于两者之间,容器使用都可以融入您的 Zed 代理工作流程。要开始使用,请尝试 快速入门 和 容器使用文档中的 Zed 设置。或者查看 视频演示。
并请务必在 Dagger Discord 服务器 中的 #container-use 频道与我们分享您的成功经验和建议。很快再见!