什么是 agent view
Anthropic 的文档是这样描述的:“通过 claude agents 打开的 Agent view 是一个管理所有后台会话的界面:包括正在运行的、需要你输入的以及已完成的任务。”
每一行代表一个独立的会话。“每个后台会话都是一个完整的 Claude Code 对话,它在没有连接终端的情况下持续运行,因此你可以随时打开它、回复并离开。”
你可以通过三种方式操作这些行:
- 派发 (Dispatch):在底部输入提示词并按回车。“你在这里输入的每个提示词都会启动一个新的独立会话。”
- 预览 (Peek):在某一行上按空格键查看其最新状态、结果或正在等待的问题,无需离开列表即可回复。
- 接入 (Attach):按回车键或右箭头打开完整对话,在空提示词处按左箭头返回列表。
你还可以使用 /bg 或左箭头将当前打开的会话转入 agent view,或者使用 /fork 将一个会话复制到新的后台会话中。
Agent view 在你的本地机器上运行会话。文档指出,对于由 Claude 在云端启动和跟踪的并行会话,请参考 Claude Code 的 Projects 功能。
每个后台会话的起始状态
派发的会话是一个全新的对话。它不会继承其他行中讨论过的内容。
它所获得的是你项目的常驻上下文,这与在该位置启动的任何 Claude Code 会话相同:
- 其目录:“新会话在你打开 agent view 的目录中运行。”你可以通过在该处打开 agent view、使用
@<repo>提及子仓库,或从该目录运行claude --bg来指定另一个目录。 - 你的指令文件:Claude Code 会在会话开始时加载工作目录及其上级目录中的 CLAUDE.md 文件,以及
.claude/rules/中没有paths字段的规则。路径限定规则会在 Claude 处理匹配文件时加载。 - 仓库的自动记忆 (Auto memory):Claude Code 的记忆文档提到,“同一 Git 仓库内的所有工作树和子目录共享一个自动记忆目录。”同一仓库中的后台会话会从同一个地方读取数据。
- 你在 agent view 中设置的模型和设置:在 agent view 中使用
/model、/effort和/fast会设置后续派发会话的初始状态,传递给claude agents的配置标志也会传递给派发的会话。
关于记忆的一点例外值得注意。记忆文档提到,/memory 开关可以关闭自动记忆,但无法在后台会话中重新开启。如果那里的自动记忆处于关闭状态,你需要从直接在终端启动的会话中将其重新开启。
后台会话共享什么,不共享什么
后台会话共享文件,但不共享对话。
它们共享磁盘上的内容:CLAUDE.md 文件、规则和自动记忆目录对于仓库中的每个会话都是相同的。如果一个会话将笔记保存到自动记忆中,它就会进入该仓库其他会话使用的共享目录。我们关于在 Claude Code 会话之间共享上下文的指南涵盖了传递上下文的其他方式。
它们不共享对话内容:每一行都是独立的对话。你在回复中告诉某个会话的内容,以及它推导出的结果,都会保留在该会话中,除非它将其写入某处。
Fork 从副本开始,然后独立运行:/fork 会将当前对话连同模型、权限模式、努力程度 (effort level) 和你添加的权限授权一起复制到新的后台会话中。之后,“这两个对话是相互独立的:副本所做的任何操作都不会自动进入原始对话”。文档指出一个例外:如果启用了跨会话消息传递,任何一个会话的 Claude 都可以显式地向另一个会话发送消息。我们关于从 Claude 应用 fork 远程会话的指南涵盖了云端的相同模式。
将会话转入后台时保留的内容:将已经打开的会话移至后台会保留其对话记录。正在运行的后台命令、后台子代理 (subagents) 和 /loop 任务都会保留;正在运行的监控器 (monitor) 会停止,且 Claude Code 会先进行询问。
每个会话的编辑去向
这是防止并行会话发生冲突的关键部分。文档解释道:“在编辑文件之前,Claude 会将会话移动到 .claude/worktrees/ 下的一个隔离的 Git 工作树 (worktree) 中,这样并行会话可以读取相同的检出内容,但各自写入自己的工作树。”
因此,派发的会话首先读取你的工作目录,然后在更改任何内容之前移动到它自己的工作树。它生成的子代理会继承其工作目录,因此它们的编辑也会落在该工作树中。
新工作树包含什么
Claude Code 的工作树文档描述了它创建的工作树的默认设置:它“从仓库的默认分支分出,并且只检出已跟踪的文件”。它还补充道:“工作树是一个全新的检出,因此请在那里初始化你的开发环境”。
就上下文而言,这在两个方面很重要:
- 未提交的指令文件更改不在其中:如果你编辑了 CLAUDE.md 或某条规则但尚未提交,从默认分支检出的工作树将包含已提交的版本。
- 被 Git 忽略的文件也不在其中:这包括本地文件,如
.env。工作树文档描述了一个.worktreeinclude文件,用于将 Git 忽略的文件带入新工作树。
你可以通过 worktree.baseRef 设置来更改起始点。其默认值 "fresh" 从远程的默认分支分出;"head" 从你当前的本地 HEAD 分出。我们关于 Claude Code 工作树是否共享记忆的指南详细介绍了工作树会话加载的内容。
Claude 何时跳过工作树
文档列出了会话在原位编辑的情况,包括你从打开的终端移至后台的会话、已经在链接工作树内的会话,以及不是 Git 仓库且没有工作树钩子的目录。你也可以通过将 worktree.bgIsolation 设置为 "none" 来关闭仓库的隔离功能。
工作如何保存
当后台会话在自己的工作树中更改了代码时,Claude Code 会指示 Claude 在结束前保存工作:在有远程仓库时提交并推送分支,并在任务需要时打开草稿拉取请求 (Pull Request)。这些指令排除了推送到 main 或 master、强制推送以及合并操作。而且,“如果任务、CLAUDE.md 或记忆显示由你亲自处理提交或推送,Claude 会将 Git 操作留给你。”
每个会话结束时都会报告其操作内容以及工作所在位置。
删除一行会移除什么
从 agent view 中删除一个会话会将其从列表中移除,但“其转录文本仍通过 claude --resume 保留在你的机器上”。Claude 为其创建的工作树则是另一回事:agent view 会将其移除,“包括未提交的更改,因此请先提交你想保留的内容。”当工作树中有无法确认已在别处保存的提交时,Claude Code 会拒绝删除,并告诉你如何处理。
你可以通过 agent view 中的 /resume 将已删除的会话作为后台行找回,该命令会列出仓库过去的会话,包括你删除的会话。我们关于查找和删除 Claude Code 会话历史的指南涵盖了转录文本本身。
人们最初常犯的错误
期望各行之间互相了解:每个会话都是独立的对话。它们共享磁盘上的文件,但不共享说过的话。
告诉一个会话某个决定并期望其他会话也遵循:除非该决定被写入 CLAUDE.md、规则或记忆中,否则它只保留在该对话中。
编辑 CLAUDE.md 后立即派发任务:从默认分支创建的工作树包含的是已提交的版本,而不是你的编辑内容。
在提交前删除一行:Agent view 会移除它创建的工作树,包括未提交的更改。
假设电脑关闭时会话仍继续运行:文档将其列为一项限制:会话是本地的,如果机器关机则会停止。它们在睡眠状态下可以保留。
解决方案:将共享上下文放在磁盘上,提交它,并让每个会话汇报情况
第 1 步:将每个会话需要的上下文写在每个会话都能读取的地方
适用于所有并行工作的约定和约束应放在项目根目录的 CLAUDE.md 或 .claude/rules/ 中的非限定规则中。你原本需要对每一行重复的决定也应放在那里。如果你希望 Claude 记住它,请要求它将该点保存到自动记忆中,仓库中的每个会话都会共享该记忆。
第 2 步:在派发前提交指令更改
由于工作树默认从默认分支开始,请在派发依赖它们的会话之前提交并推送对 CLAUDE.md 和规则的更改。如果你的会话需要你正在进行的分支,请将 worktree.baseRef 设置为 "head",并为工作所需的本地文件添加 .worktreeinclude。
第 3 步:要求每个会话报告其学到的内容
在提示词中包含会话应留下的内容:分支名称、所发现内容的简短摘要,以及其他会话需要的任何决定。在各行完成后阅读报告,并将其他会话应该知道的任何内容移至 CLAUDE.md 或记忆中。在删除一行之前进行提交。
如果你还运行计划任务,我们关于 Claude Code routines 是否在运行之间传递内容的指南涵盖了自行启动的运行的相同问题。
在 MemoryLake 中设置
Agent view 使得运行多个会话变得容易,每个会话都可能学到你希望其他会话知道的东西。在仓库内部,CLAUDE.md、规则和自动记忆在你的机器上承载了这些内容。当同样的决定在另一台电脑或其他工具中也变得重要时,它们需要一个不绑定于单一检出的归宿。
MemoryLake 是一个记忆层,用于将这类上下文保存在你维护的一个列表中,可供 Claude Code 和你连接的其他助手(如 Codex 和 ChatGPT)使用。
你用自己的语言亲自编写条目。不会从你的后台会话、它们的工作树、你的 CLAUDE.md 文件、你的自动记忆或任何供应商的存储中读取、写入或删除任何内容。Agent view 将继续按照 Anthropic 描述的方式工作。
第 1 步:创建 API 密钥
登录并从仪表板生成密钥。该密钥属于你的 MemoryLake 工作区,与你的 Claude 账户是分开的。

第 2 步:上传你的第一批记忆
从你在解决方案第 3 步中从会话报告里移出的内容开始:多个会话需要的决定、约束和发现。每个条目一个要点,注明日期,并贴上仓库标签。

第 3 步:连接你的 AI 和代理
连接 Claude Code 和你使用的其他助手。无论在哪里运行,每个会话都可以从相同的决定开始。

这在实践中改变了什么
第一个区别是并行会话不再让你感到意外。你知道它们共享磁盘上的文件和记忆,而不是对话内容。
第二个区别是它们的编辑不会冲突。每个派发的会话都在自己的工作树中写入,除非你更改设置,否则从默认分支开始。
第三个区别是有用的信息不会随一行的删除而消失。工作已被提交,发现已被记录,转录文本仍然可以恢复。如果你更换电脑,我们关于在另一台机器上使用 Claude Code 的指南涵盖了自动记忆无法携带的内容。
Agent view 最佳实践
将每一行视为独立的对话:在提示词和磁盘上提供它所需的内容。
将共享规则保留在 CLAUDE.md 或非限定规则中:每个会话都会读取它们。
在派发前提交指令更改:默认情况下,工作树从已提交的版本开始。
为本地文件使用 .worktreeinclude:被 Git 忽略的文件不会出现在新工作树中。
要求提供报告:包括分支、结果以及其他会话应该知道的内容。
在删除一行前提交:Agent view 会移除 Claude 创建的工作树。
记住会话是本地的:如果机器关机,它们就会停止。
结论
Agent view 是管理多个后台 Claude Code 会话的单一界面。每一行都是一个完整的、独立的对话,它从你的工作目录开始,带有项目的 CLAUDE.md、规则和共享的自动记忆,然后在编辑文件之前移动到它自己的工作树中。会话共享磁盘上的内容,而不是每个对话中说过的话,一旦创建了 fork,它就是独立的。
将所有会话需要的上下文放入 CLAUDE.md、规则或记忆中,在派发前提交,要求每个会话报告其学到的内容,并在删除一行前进行提交。