OpenRath: Session-Centered Runtime State for Agent Systems作者Fukang Wen, Zhijie Wang, Ruilin Xu核心发表机构论文源码未明确标注或暂未可靠识别论文链接arXiv:2606.19409v1发布于arXiv 预印本cs.SE|:—|:—||Session| Tensor | 流动的运行时值承载对话块、放置、世系、用量、待处理工作、工具证据和记忆边界。 ||Sandbox| Device | 放置边界提供文件、命令、代码执行的环境。 ||Memory| Parameter | 持久状态平面独立于提示文本支持跨运行召回和提交。 ||Tool| Function | 模型可见的可调用操作含 schema、session context 和 sandbox dispatch。 ||Agent| nn.Linear / Layer | 可复用的Session - Session变换含本地 prompt、provider、tools 和 memory policy。 ||Workflow| nn.Module | 组合容器可嵌套 agents、tools、branches、compression、memory、child workflows。 ||Selector| control flow | 运行时路由读取当前 Session 选择下一个 Workflow。 |所有组件遵循核心合约forward(session: Session) - Session。这保证了从头到尾的可组合性一个 Workflow 可以 fork 一个 Session调用多个 Agent在沙箱中验证压缩上下文并返回一个新的 Session。运行时值始终是 Session而不是隐藏在控制器代码中的共享可变对象。下图从生态角度定位了 OpenRath 的角色它不是一个图运行时、追踪系统或沙箱提供者的替代品而是一个跨越对象边界的连接器使各个层的效果在同一个 Session 中可见。3.2 关键模块 / Key ModulesSession是核心抽象具有五个关键属性可分支branchable、可检查inspectable、可重放replayable、后端感知backend-aware、可组合composable。它不是一个简单的消息列表而是一个包含多种 chunk 类型的运行时值conversation_chunks对话轮次保留角色来源。sandbox_placement当前放置的沙箱位置。lineage_metadata世系信息父节点、分支算子等。token_usage累计 token 用量。pending_work待处理的工作项。tool_evidence每个工具调用的输入、输出和错误。memory_events记忆召回和提交事件可选启用。Session 的生命周期贯穿整个运行创建 → 放置 → 转换 → 分支 → 持久化 → 释放。下图展示了这个单一运行时值贯穿全生命期的过程而不是被另一个编排状态取代。Tool采用双边界设计流层向模型暴露 name、description 和 JSON schemaPython 调用接收活跃的 Session 和已验证参数。内置工具可以创建后端负载文件、命令、代码、MCP 类执行而无需改变模型可见的合约。结果和错误都以tool-result chunks附加到 Session。下图显示了工具执行的完整序列模型看到 FlowToolCall schemas会话循环将 schemas 发送给 provider解析工具调用并验证参数通过 Session 的沙箱调度副作用结果返回作为 Session 证据。Selector将控制流转化为运行时路由决策。它读取当前 Session根据内容如角色、意图、内存摘要路由到多个自描述 Workflow 之一。当任务完成时返回一个空 Workflow。这使得分支和循环成为可检查的运行时决策而不再是硬编码的 if-else 或控制器逻辑。路由选择本身作为 Session 记录的一部分被保留。Agent 与 Workflow遵循统一的Session - Session合约。工作流可以 fork 一个 Session调用代理在沙箱中验证压缩上下文并返回新的 Session。一个 Workflow 可以包含多个 Agent、子 Workflow、Selector、记忆操作等。下图展示了多 Session 运行时与多 Agent 工作流的统一边界通过读取和返回 Session多个 Agent 可以路由、交接和组合工作。Sandbox 与 BackendSession 存储后端放置意图通过session.to(backend)指定。当工具需要副作用时通过 Session 的沙箱调度后端负载。资源生命周期由沙箱句柄管理支持跨分支共享或释放。MemoryOpenRath 提供带有词法回忆的本地记忆支持可选嵌入和可选外部后端。回忆和提交作为运行时可见的事件记录在 Session 上。该报告明确声明不声称检索质量如语料库、嵌入选择、提交策略如何服务任务仅保证记忆操作对运行时可见。四、实验 / Experiments4.1 数据集与评估指标 / Datasets MetricsOpenRath 的论文不是传统的 Benchmark 报告而是一份运行时技术报告。因此没有采用标准数据集如 SWE-bench、τ-bench进行横向比较也不报告 F1、准确率等数值指标。评估的核心是声明可验证性通过证据协议将每个技术声明映射到具体的证据包然后利用烟测试套件逐一检查。评估指标为运行时形状指标包括世系覆盖率是否每个 Session 操作都记录到 JSONL 导出可重放性从 JSONL 导出重放是否得到相同结果后端可移植性同一工具能否在不同沙箱后端执行运行时正确性分支、合并、放置等操作是否产生预期效果控制/安全事件虽不声称安全性但在证据包中记录工具调用边界这些指标通过证据协议Claim-to-Evidence Protocol来度量。下图展示了声明从出入证到最终文本的完整验证流程。4.2 主实验结果 / Main Results实验结果表明Table 6 和 Table 8 所概括功能表面状态结果Session 核心已验证有序 chunks、fork/detach/merge、用量统计、JSONL 世系导出全部通过确定性。后端放置已验证本地执行实现并验证OpenSandbox 为可选后端该环境下跳过。工具层已验证模型可见 schemas 后端分派副作用通过。代理与工作流已验证统一Session - Session合约通过烟测试。Provider 层前提就绪模型质量超出范围仅验证了基本连接。记忆层未定意图缺乏本地模块实例和测试证据门控跳过。示例集通过包括世系、后端、工具、流、用量、多代理工作流等示例均产生可检查输出。具体数值结果以“通过/跳过/待定”的形式呈现。例如lineage_export通过确定性local_sandbox通过workflow_transcript通过确定性memory_local跳过证据门控。没有运行时长或质量的数值因为该报告不声称广泛的基准优势。4.3 消融实验 / Ablation Study论文没有进行传统意义上的消融实验如移除 Session 后观察性能下降因为 Session 是整个运行时的不可分割核心——移除它就相当于放弃整个设计。验证方式是通过声明分类账 (Claim Ledger) 和证据包来检查设计完备性。10 个声明被分类5 个由运营包完全支持。1 个部分支持。1 个仅支持先决条件。1 个文献支持的定位声明。1 个布局烟测声明。1 个证据门控声明memory_runtime_plane。这种分类法可以视为对“如果缺少某个组件对应声明将无法获得支持”的逆向检验。例如如果移除 Session 的分支/合并能力则关于世系导出的声明就会失败如果移除沙箱放置则后端可移植性声明无法通过。因此证据包的完整性和因果性间接验证了每个组件的必要性。五、相关工作 / Related WorkOpenRath 定位为连接性的运行时值而非替代现有方案。与以下方向的关键区别工具使用与动作 AgentReAct, Toolformer, Tree-of-Thoughts这些工作推动模型如何推理和行动OpenRath 是补充使这些行动产生的运行时状态世系、工具证据、放置成为一等公民值。多 Agent 框架AutoGen, MetaGPT, ChatDev它们贡献编排模式OpenRath 的区分在于控制角色之间传递的值而非何时行动。多 Agent 组合不需要框架私有的状态对象所有 Agent 消费和返回的都是 Session。运行时状态、协议和可观测性LangGraph, OpenAI Agents SDK, OpenTelemetry, MCP图运行时记录执行位置为调度器编写追踪描述事后观察为观察者编写MCP 标准化连接。OpenRath 的 Session 是这些层效果的携带者不是替代品。Session 可以在被图运行时调度、被追踪 SDK 记录、被 MCP 传输的同时保持自身作为程序值的完整性。记忆与检索Reflexion, Generative Agents, MemGPT, VoyagerOpenRath 不提出新的记忆模型只是使记忆操作对 Session 可见将召回和提交记录为显式运行时事件。它利用的是现有记忆系统而非发明新记忆算法。Agent 基准与环境SWE-bench, τ-bench, WebArena它们评分结果OpenRath 的补充问题是产生结果的轨迹是否可检查、可重放——这是可信评分的前提。此报告不声称在这些基准上超越其他系统。在生态上OpenRath 不是图运行时、追踪系统、MCP 服务器、沙箱提供者或基准框架的通用替代品也不是其中任何一个的薄封装。预期角色是连接性的Session 是可以被调度、追踪、分发、持久化、分叉、合并、压缩和审查的对象而无需每个层发明自己不兼容的状态表示。六、局限性与展望 / Limitations Future WorkOpenRath 在当前发布阶段有明确的局限详见表 9基准测试仅有确定性烟测试运行器和证据包缺乏广泛的基线/指标基准测试。不声称在 SWE-bench 等任务上的性能优势也未与 LangGraph、AutoGen 等框架进行定量比较。后端等性本地后端通过验证但 OpenSandbox 等可选后端在该环境下被明确跳过非否决而是留给后续评估。多后端下的行为一致性尚未全面测试。记忆记忆仍处于意图阶段runtime plane agreed but code instances and tests missing。虽然运行时接口已定义但没有本地模块实例和测试因此记忆相关的声明被标记为“证据门控”。多代理控制暴露了分支、合并、工具和世系证据但不构成策略层。例如没有提供显式的安全策略、资源配额或回滚策略这些需要使用者自行实现。安全性论文明确不声称任何安全属性。工具使用和交互环境增大了攻击面包括间接提示注入Session 记录本身也可能成为信息泄露通道。安全分析完全超出范围。可再现性证据包支持检查和“无密钥”重放确定性声明但实时输出因环境和提供商而异如 LLM provider 的随机性。重放只能保证相同输入下运行时逻辑一致而非模型输出一致。展望后续工作可集中在开展与主流 Agent 框架的量化比较同时按运行时形状而非品牌名组织基准报告运行时正确性、世系覆盖率、可重放性、后端可移植性、效率、任务质量等指标。完成记忆层的完整实现和测试验证记忆提交/召回作为运行时事件的正确性。添加安全事件记录和策略层使 Session 可携带安全审计信息。扩展可选后端支持如 Docker sandbox、对外部工具后端的统一适配。研究 Session 的压缩与摘要策略在保持可审计性的同时降低存储和传输开销。七、总结 / ConclusionOpenRath 提出了一个以 Session 为中心的 Agent 运行时设计其核心论点是Agent 系统需要一个一等公民的运行时值用于可审计的组合。通过将对话、放置、世系、用量、工具证据、记忆边界统一到同一个可分支、可检查、可重放、后端感知的值中OpenRath 将 fork、merge、replay 从外部追踪重建转变为显式运行时操作。论文详细定义了编程模型Session, Sandbox, Tool, Agent, Memory, Workflow, Selector阐述了一致的Session - Session组合合约并实现了审计优先的发布协议确保每个技术声明都有对应的证据包可验证。虽然目前缺乏大规模基准测试和完整记忆实现但其设计填补了现有 Agent 系统在运行时状态可审计性方面的空白。Session 作为连接不同运行时层的共享值的理念为构建可信、可解释的多 Agent 系统奠定了值得探索的基础。原文摘要:Modern agent systems often suffer from fragmented runtime state: transcripts, tool effects, memory events, workspace placement, branch provenance, and replay evidence are recorded separately and become difficult to inspect or reproduce. OpenRath addresses this issue with a PyTorch-like programming model for multi-agent, multi-session systems. The analogy concerns the role of a central first-class runtime abstraction, not tensor computation. Its core abstraction is Session, the runtime value passed between agents and workflows. A Session is branchable, inspectable, replayable, backend-aware, and composable. It records conversation chunks, sandbox placement, lineage metadata, token usage, pending work, and tool evidence, while defining where memory interactions enter the runtime record. Since this state is carried by the same value used in program execution, fork, merge, and replay become explicit runtime operations rather than states reconstructed from external traces. OpenRath further defines Sandbox, Tool, Agent, Memory, Workflow, and Selector, with Selector turning control flow into runtime-routed decisions. This report presents the programming model, architecture, audited milestones, and evidence protocol. Its claims are limited to controlled runtime properties, while broad quantitative comparisons, live-provider quality, optional-backend availability, and memory quality are left for follow-on evaluation. The central thesis is that Session provides agent systems with a first-class runtime value for auditable composition.PDF链接:https://arxiv.org/pdf/2606.19409v1部分平台可能图片显示异常请以我的博客内容为准
OpenRath:Session让Agent运行时状态可分支可重放
发布时间:2026/6/25 19:35:09
OpenRath: Session-Centered Runtime State for Agent Systems作者Fukang Wen, Zhijie Wang, Ruilin Xu核心发表机构论文源码未明确标注或暂未可靠识别论文链接arXiv:2606.19409v1发布于arXiv 预印本cs.SE|:—|:—||Session| Tensor | 流动的运行时值承载对话块、放置、世系、用量、待处理工作、工具证据和记忆边界。 ||Sandbox| Device | 放置边界提供文件、命令、代码执行的环境。 ||Memory| Parameter | 持久状态平面独立于提示文本支持跨运行召回和提交。 ||Tool| Function | 模型可见的可调用操作含 schema、session context 和 sandbox dispatch。 ||Agent| nn.Linear / Layer | 可复用的Session - Session变换含本地 prompt、provider、tools 和 memory policy。 ||Workflow| nn.Module | 组合容器可嵌套 agents、tools、branches、compression、memory、child workflows。 ||Selector| control flow | 运行时路由读取当前 Session 选择下一个 Workflow。 |所有组件遵循核心合约forward(session: Session) - Session。这保证了从头到尾的可组合性一个 Workflow 可以 fork 一个 Session调用多个 Agent在沙箱中验证压缩上下文并返回一个新的 Session。运行时值始终是 Session而不是隐藏在控制器代码中的共享可变对象。下图从生态角度定位了 OpenRath 的角色它不是一个图运行时、追踪系统或沙箱提供者的替代品而是一个跨越对象边界的连接器使各个层的效果在同一个 Session 中可见。3.2 关键模块 / Key ModulesSession是核心抽象具有五个关键属性可分支branchable、可检查inspectable、可重放replayable、后端感知backend-aware、可组合composable。它不是一个简单的消息列表而是一个包含多种 chunk 类型的运行时值conversation_chunks对话轮次保留角色来源。sandbox_placement当前放置的沙箱位置。lineage_metadata世系信息父节点、分支算子等。token_usage累计 token 用量。pending_work待处理的工作项。tool_evidence每个工具调用的输入、输出和错误。memory_events记忆召回和提交事件可选启用。Session 的生命周期贯穿整个运行创建 → 放置 → 转换 → 分支 → 持久化 → 释放。下图展示了这个单一运行时值贯穿全生命期的过程而不是被另一个编排状态取代。Tool采用双边界设计流层向模型暴露 name、description 和 JSON schemaPython 调用接收活跃的 Session 和已验证参数。内置工具可以创建后端负载文件、命令、代码、MCP 类执行而无需改变模型可见的合约。结果和错误都以tool-result chunks附加到 Session。下图显示了工具执行的完整序列模型看到 FlowToolCall schemas会话循环将 schemas 发送给 provider解析工具调用并验证参数通过 Session 的沙箱调度副作用结果返回作为 Session 证据。Selector将控制流转化为运行时路由决策。它读取当前 Session根据内容如角色、意图、内存摘要路由到多个自描述 Workflow 之一。当任务完成时返回一个空 Workflow。这使得分支和循环成为可检查的运行时决策而不再是硬编码的 if-else 或控制器逻辑。路由选择本身作为 Session 记录的一部分被保留。Agent 与 Workflow遵循统一的Session - Session合约。工作流可以 fork 一个 Session调用代理在沙箱中验证压缩上下文并返回新的 Session。一个 Workflow 可以包含多个 Agent、子 Workflow、Selector、记忆操作等。下图展示了多 Session 运行时与多 Agent 工作流的统一边界通过读取和返回 Session多个 Agent 可以路由、交接和组合工作。Sandbox 与 BackendSession 存储后端放置意图通过session.to(backend)指定。当工具需要副作用时通过 Session 的沙箱调度后端负载。资源生命周期由沙箱句柄管理支持跨分支共享或释放。MemoryOpenRath 提供带有词法回忆的本地记忆支持可选嵌入和可选外部后端。回忆和提交作为运行时可见的事件记录在 Session 上。该报告明确声明不声称检索质量如语料库、嵌入选择、提交策略如何服务任务仅保证记忆操作对运行时可见。四、实验 / Experiments4.1 数据集与评估指标 / Datasets MetricsOpenRath 的论文不是传统的 Benchmark 报告而是一份运行时技术报告。因此没有采用标准数据集如 SWE-bench、τ-bench进行横向比较也不报告 F1、准确率等数值指标。评估的核心是声明可验证性通过证据协议将每个技术声明映射到具体的证据包然后利用烟测试套件逐一检查。评估指标为运行时形状指标包括世系覆盖率是否每个 Session 操作都记录到 JSONL 导出可重放性从 JSONL 导出重放是否得到相同结果后端可移植性同一工具能否在不同沙箱后端执行运行时正确性分支、合并、放置等操作是否产生预期效果控制/安全事件虽不声称安全性但在证据包中记录工具调用边界这些指标通过证据协议Claim-to-Evidence Protocol来度量。下图展示了声明从出入证到最终文本的完整验证流程。4.2 主实验结果 / Main Results实验结果表明Table 6 和 Table 8 所概括功能表面状态结果Session 核心已验证有序 chunks、fork/detach/merge、用量统计、JSONL 世系导出全部通过确定性。后端放置已验证本地执行实现并验证OpenSandbox 为可选后端该环境下跳过。工具层已验证模型可见 schemas 后端分派副作用通过。代理与工作流已验证统一Session - Session合约通过烟测试。Provider 层前提就绪模型质量超出范围仅验证了基本连接。记忆层未定意图缺乏本地模块实例和测试证据门控跳过。示例集通过包括世系、后端、工具、流、用量、多代理工作流等示例均产生可检查输出。具体数值结果以“通过/跳过/待定”的形式呈现。例如lineage_export通过确定性local_sandbox通过workflow_transcript通过确定性memory_local跳过证据门控。没有运行时长或质量的数值因为该报告不声称广泛的基准优势。4.3 消融实验 / Ablation Study论文没有进行传统意义上的消融实验如移除 Session 后观察性能下降因为 Session 是整个运行时的不可分割核心——移除它就相当于放弃整个设计。验证方式是通过声明分类账 (Claim Ledger) 和证据包来检查设计完备性。10 个声明被分类5 个由运营包完全支持。1 个部分支持。1 个仅支持先决条件。1 个文献支持的定位声明。1 个布局烟测声明。1 个证据门控声明memory_runtime_plane。这种分类法可以视为对“如果缺少某个组件对应声明将无法获得支持”的逆向检验。例如如果移除 Session 的分支/合并能力则关于世系导出的声明就会失败如果移除沙箱放置则后端可移植性声明无法通过。因此证据包的完整性和因果性间接验证了每个组件的必要性。五、相关工作 / Related WorkOpenRath 定位为连接性的运行时值而非替代现有方案。与以下方向的关键区别工具使用与动作 AgentReAct, Toolformer, Tree-of-Thoughts这些工作推动模型如何推理和行动OpenRath 是补充使这些行动产生的运行时状态世系、工具证据、放置成为一等公民值。多 Agent 框架AutoGen, MetaGPT, ChatDev它们贡献编排模式OpenRath 的区分在于控制角色之间传递的值而非何时行动。多 Agent 组合不需要框架私有的状态对象所有 Agent 消费和返回的都是 Session。运行时状态、协议和可观测性LangGraph, OpenAI Agents SDK, OpenTelemetry, MCP图运行时记录执行位置为调度器编写追踪描述事后观察为观察者编写MCP 标准化连接。OpenRath 的 Session 是这些层效果的携带者不是替代品。Session 可以在被图运行时调度、被追踪 SDK 记录、被 MCP 传输的同时保持自身作为程序值的完整性。记忆与检索Reflexion, Generative Agents, MemGPT, VoyagerOpenRath 不提出新的记忆模型只是使记忆操作对 Session 可见将召回和提交记录为显式运行时事件。它利用的是现有记忆系统而非发明新记忆算法。Agent 基准与环境SWE-bench, τ-bench, WebArena它们评分结果OpenRath 的补充问题是产生结果的轨迹是否可检查、可重放——这是可信评分的前提。此报告不声称在这些基准上超越其他系统。在生态上OpenRath 不是图运行时、追踪系统、MCP 服务器、沙箱提供者或基准框架的通用替代品也不是其中任何一个的薄封装。预期角色是连接性的Session 是可以被调度、追踪、分发、持久化、分叉、合并、压缩和审查的对象而无需每个层发明自己不兼容的状态表示。六、局限性与展望 / Limitations Future WorkOpenRath 在当前发布阶段有明确的局限详见表 9基准测试仅有确定性烟测试运行器和证据包缺乏广泛的基线/指标基准测试。不声称在 SWE-bench 等任务上的性能优势也未与 LangGraph、AutoGen 等框架进行定量比较。后端等性本地后端通过验证但 OpenSandbox 等可选后端在该环境下被明确跳过非否决而是留给后续评估。多后端下的行为一致性尚未全面测试。记忆记忆仍处于意图阶段runtime plane agreed but code instances and tests missing。虽然运行时接口已定义但没有本地模块实例和测试因此记忆相关的声明被标记为“证据门控”。多代理控制暴露了分支、合并、工具和世系证据但不构成策略层。例如没有提供显式的安全策略、资源配额或回滚策略这些需要使用者自行实现。安全性论文明确不声称任何安全属性。工具使用和交互环境增大了攻击面包括间接提示注入Session 记录本身也可能成为信息泄露通道。安全分析完全超出范围。可再现性证据包支持检查和“无密钥”重放确定性声明但实时输出因环境和提供商而异如 LLM provider 的随机性。重放只能保证相同输入下运行时逻辑一致而非模型输出一致。展望后续工作可集中在开展与主流 Agent 框架的量化比较同时按运行时形状而非品牌名组织基准报告运行时正确性、世系覆盖率、可重放性、后端可移植性、效率、任务质量等指标。完成记忆层的完整实现和测试验证记忆提交/召回作为运行时事件的正确性。添加安全事件记录和策略层使 Session 可携带安全审计信息。扩展可选后端支持如 Docker sandbox、对外部工具后端的统一适配。研究 Session 的压缩与摘要策略在保持可审计性的同时降低存储和传输开销。七、总结 / ConclusionOpenRath 提出了一个以 Session 为中心的 Agent 运行时设计其核心论点是Agent 系统需要一个一等公民的运行时值用于可审计的组合。通过将对话、放置、世系、用量、工具证据、记忆边界统一到同一个可分支、可检查、可重放、后端感知的值中OpenRath 将 fork、merge、replay 从外部追踪重建转变为显式运行时操作。论文详细定义了编程模型Session, Sandbox, Tool, Agent, Memory, Workflow, Selector阐述了一致的Session - Session组合合约并实现了审计优先的发布协议确保每个技术声明都有对应的证据包可验证。虽然目前缺乏大规模基准测试和完整记忆实现但其设计填补了现有 Agent 系统在运行时状态可审计性方面的空白。Session 作为连接不同运行时层的共享值的理念为构建可信、可解释的多 Agent 系统奠定了值得探索的基础。原文摘要:Modern agent systems often suffer from fragmented runtime state: transcripts, tool effects, memory events, workspace placement, branch provenance, and replay evidence are recorded separately and become difficult to inspect or reproduce. OpenRath addresses this issue with a PyTorch-like programming model for multi-agent, multi-session systems. The analogy concerns the role of a central first-class runtime abstraction, not tensor computation. Its core abstraction is Session, the runtime value passed between agents and workflows. A Session is branchable, inspectable, replayable, backend-aware, and composable. It records conversation chunks, sandbox placement, lineage metadata, token usage, pending work, and tool evidence, while defining where memory interactions enter the runtime record. Since this state is carried by the same value used in program execution, fork, merge, and replay become explicit runtime operations rather than states reconstructed from external traces. OpenRath further defines Sandbox, Tool, Agent, Memory, Workflow, and Selector, with Selector turning control flow into runtime-routed decisions. This report presents the programming model, architecture, audited milestones, and evidence protocol. Its claims are limited to controlled runtime properties, while broad quantitative comparisons, live-provider quality, optional-backend availability, and memory quality are left for follow-on evaluation. The central thesis is that Session provides agent systems with a first-class runtime value for auditable composition.PDF链接:https://arxiv.org/pdf/2606.19409v1部分平台可能图片显示异常请以我的博客内容为准