深度拆解 Claude 新功能:多个 Session 如何实现直接「对话」?

2026/08/28 15:07阅读量 2

Anthropic 为 Claude Code 引入实验性跨会话消息通信(Cross-session messaging)功能,允许并行运行的多个独立会话直接交换任务结果与依赖信息。该机制通过本地 Socket 实现寻址与投递,保持会话上下文隔离,并设计了严格的权限继承与输入控制逻辑,防止低权限会话绕过安全限制。这一更新标志着多 Agent 协作从共享大上下文向显式状态同步的工程化演进。

事件概述

Anthropic 近期为 Claude Code 添加了一项实验性功能:Cross-session messaging(跨会话消息通信)。该功能允许开发者同时运行的多个 Claude Code 会话之间直接发送消息,从而在数据库、后端 API、测试等不同角色的会话间建立自动化的信息同步链路,减少人工切换终端和转述进度的需求。

核心机制解析

1. 消息内容:非上下文共享,而是任务依赖传递

  • 隔离原则:跨会话通信不传输完整的对话历史或 Context Window。Session A 不会将自身的分析过程、读取的文件发送给 Session B。
  • 传递内容:仅传递文本形式的任务结果依赖信息。例如,数据库会话修改 Schema 后,仅通知后端会话字段变化及其影响,而非整个迁移过程。
  • 设计意图:避免局部信息污染其他会话的上下文,仅在任务产生实际依赖时进行显式状态同步。

3. 运行时处理:异步输入与非抢占式调度

  • 投递时机:消息进入接收方 Inbox 后,Runtime 会根据当前状态决定处理方式:
    • 若处于 Idle 状态,触发新的 Turn。
    • 若处于 Active Turn(正在执行工具调用),消息会等待,在两个 Tool Call 之间被读取。
  • 非抢占特性:外部消息不会强行中断正在进行的耗时操作(如文件写入、测试运行),以避免 Agent 规划混乱。消息仅作为后续决策的参考输入。
  • 扩展能力:该通道也暴露给 Hook 和 Bash 子进程,允许后台任务完成后主动回调结果,无需轮询。
  • 可靠性限制:非可靠消息队列。相同内容短时间内会被限流丢弃;未读消息上限为 50 条,Hold 状态消息上限为 100 条。持久化数据仍需依赖 Git 或数据库。

4. 权限与安全:严格的隔离与控制

  • 权限继承隔离
    • 来自 Peer Session 的消息被视为普通文本,不具备用户授权效力,不能替代 Permission Prompt,也不能修改配置或 CLAUDE.md
    • 禁止“权限绕道”:若某操作在当前会话被拒绝,Agent 不得请求另一高权限会话代为执行,以防止权限边界失效。
  • 入站控制(Inbound Control)
    • 接收方可设置策略:accept(直接处理)、hold(暂存待确认)、refuse(丢弃)。
    • 默认行为参考双方权限模式:高权限会话接收外部消息时,可能优先将其放入 Hold 状态以进行二次确认。

值得关注的影响

  • 工程化协作范式转变:Cross-session messaging 并未将多个会话合并为一个超级 Agent,而是在保持 Context、工作目录和权限独立的前提下,补充了显式的通信层。这解决了多 Agent 场景中“状态交换”和“依赖管理”的核心痛点。
  • 可扩展性提升:相比共享超大 Context 的方案,这种解耦设计使得系统更容易随着 Agent 数量增加而扩展,避免了上下文窗口爆炸和信息噪声问题。
  • 未来展望:当前的局域网内跨会话机制可能是迈向更广泛的 Agent-to-Agent 通信协议的关键一步,为构建高度自动化的软件工厂奠定基础。

准备好启动您的定制项目了吗?

现在咨询,即可获得免费的业务梳理与技术架构建议方案。