当前位置: 首页 > news >正文

OpenRath:Session让Agent运行时状态可分支可重放

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 Modules

Session是核心抽象,具有五个关键属性:可分支(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 schema;Python 调用接收活跃的 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 与 Backend:Session 存储后端放置意图(通过session.to(backend)指定)。当工具需要副作用时,通过 Session 的沙箱调度后端负载。资源生命周期由沙箱句柄管理,支持跨分支共享或释放。

Memory:OpenRath 提供带有词法回忆的本地记忆,支持可选嵌入和可选外部后端。回忆和提交作为运行时可见的事件记录在 Session 上。该报告明确声明不声称检索质量(如语料库、嵌入选择、提交策略如何服务任务),仅保证记忆操作对运行时可见。

四、实验 / Experiments

4.1 数据集与评估指标 / Datasets & Metrics

OpenRath 的论文不是传统的 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 Work

OpenRath 定位为连接性的运行时值,而非替代现有方案。与以下方向的关键区别:

  • 工具使用与动作 Agent(ReAct, 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, Voyager):OpenRath 不提出新的记忆模型,只是使记忆操作对 Session 可见,将召回和提交记录为显式运行时事件。它利用的是现有记忆系统,而非发明新记忆算法。
  • Agent 基准与环境(SWE-bench, τ-bench, WebArena):它们评分结果,OpenRath 的补充问题是:产生结果的轨迹是否可检查、可重放——这是可信评分的前提。此报告不声称在这些基准上超越其他系统。

在生态上,OpenRath 不是图运行时、追踪系统、MCP 服务器、沙箱提供者或基准框架的通用替代品,也不是其中任何一个的薄封装。预期角色是连接性的:Session 是可以被调度、追踪、分发、持久化、分叉、合并、压缩和审查的对象,而无需每个层发明自己不兼容的状态表示。

六、局限性与展望 / Limitations & Future Work

OpenRath 在当前发布阶段有明确的局限(详见表 9):

  1. 基准测试:仅有确定性烟测试运行器和证据包,缺乏广泛的基线/指标基准测试。不声称在 SWE-bench 等任务上的性能优势,也未与 LangGraph、AutoGen 等框架进行定量比较。
  2. 后端等性:本地后端通过验证,但 OpenSandbox 等可选后端在该环境下被明确跳过(非否决,而是留给后续评估)。多后端下的行为一致性尚未全面测试。
  3. 记忆:记忆仍处于意图阶段(runtime plane agreed but code instances and tests missing)。虽然运行时接口已定义,但没有本地模块实例和测试,因此记忆相关的声明被标记为“证据门控”。
  4. 多代理控制:暴露了分支、合并、工具和世系证据,但不构成策略层。例如,没有提供显式的安全策略、资源配额或回滚策略;这些需要使用者自行实现。
  5. 安全性:论文明确不声称任何安全属性。工具使用和交互环境增大了攻击面(包括间接提示注入),Session 记录本身也可能成为信息泄露通道。安全分析完全超出范围。
  6. 可再现性:证据包支持检查和“无密钥”重放确定性声明;但实时输出因环境和提供商而异(如 LLM provider 的随机性)。重放只能保证相同输入下运行时逻辑一致,而非模型输出一致。

展望:后续工作可集中在:

  • 开展与主流 Agent 框架的量化比较,同时按运行时形状(而非品牌名)组织基准,报告运行时正确性、世系覆盖率、可重放性、后端可移植性、效率、任务质量等指标。
  • 完成记忆层的完整实现和测试,验证记忆提交/召回作为运行时事件的正确性。
  • 添加安全事件记录和策略层,使 Session 可携带安全审计信息。
  • 扩展可选后端支持(如 Docker sandbox、对外部工具后端的统一适配)。
  • 研究 Session 的压缩与摘要策略,在保持可审计性的同时降低存储和传输开销。

七、总结 / Conclusion

OpenRath 提出了一个以 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

部分平台可能图片显示异常,请以我的博客内容为准

http://www.jsqmd.com/news/1076822/

相关文章:

  • 5分钟快速掌握通达信缠论插件完整配置实战指南
  • 上海木门定制行业格局重塑:2025-2026年头部厂家解析与选型指南
  • 【课程设计/毕业设计】基于 Django+Vue 的心理康复社群互动管理系统设计与实现【附源码、数据库、万字文档】
  • 如何在5分钟内让通达信自动绘制缠论中枢和笔段:告别手动分析的终极解决方案
  • MAX6675-library:如何在Arduino项目中实现精准高温测量?
  • 【2013-10-29】Android应用开发笔记:animation和setVisibility
  • 影刀RPA零基础入门:手把手教你搭建第一个自动化流程
  • 小企业数字营销增长方法论:从0到6倍转化的底层逻辑
  • OBS背景移除插件专业解决方案:告别物理绿幕的AI实时抠像技术
  • 5个音频转换难题,FlicFlac如何帮你一次性解决?
  • 漏洞挖掘 | 网络安全教程:万字详解小白挖到首个漏洞完整入门教程
  • 企业级应用文件上传漏洞深度剖析:从原理到实战复现
  • 如何让Switch JoyCon手柄成为你的PC游戏利器:免费开源驱动的完整使用指南
  • 2026免费靠谱八字排盘APP推荐:适合初学者和小白的八字排盘软件怎么选?
  • AutoTask实战深度解析:双模式Android自动化任务解决方案
  • Triton推理服务入门:MNIST模型部署全流程详解
  • 从零到一:ArcObjects SDK 10.8社区样本库的实战解码
  • 互联网大厂 Java 求职者面试:解密微服务与云原生技术
  • 香港科技大学(广州) | 生命科学与生物医学工程学域博士生录取开放日报名召集!
  • Video2X终极指南:免费AI视频画质修复与帧率提升完整教程
  • 多元功能赋能经营,门店管理系统助力实体业态深度转型
  • 皇姑万象汇的山葵炙鲜葵烤肉怎么样
  • 咨询危险品仓储服务商 按需求选才不踩坑
  • 用了一年自动售货机,这些感受不吐不快~YH
  • 全覆盖路径规划技术揭秘:机器人如何实现100%无死角区域覆盖
  • 131、 调试手记:为什么我的PCIE设备在系统里消失了?
  • 产品待办事项构建(PBB)画布:如何编写高质量用户故事
  • 在张家口靠谱的geo机构那家公司靠谱
  • 2026世界杯
  • 移动端安全测试:Burp Suite代理配置与HTTPS抓包实战指南