目前探索的 Runtime-Session-Context 模型。
设计目标
- 尽量明确生命周期、减少
Arc的使用,这就需要分离数据所有者与控制 Handle; - 实现用户-Agent 交互、Agent-Agent 交互的一致性;
- 结合 Access-Action-Policy 架构。
核心设计(未完成)
核心类型包括 Runtime, Handle, Session, Context<'a>,
Runtime 是 ToolPlane 等各个核心部件的所有者,Handle 则是其视图,用以进行各种操作。Session 是正在运行的会话,由 Runtime 所有并管理生命周期,外部通过由 Handle 查询得到的 Cloneable StatusObserver 与不可 Clone 的 Session coroutine driver 等通信,此处的 Actor-Mailbox 模型待设计。Context<'a> 是工具调用中的递归上下文,包括当前的 Capabilites、Cancellation Token 等。