Morphz 文档

会话与并发工作

理解一个智能体如何在共享认知上维护多个会话,并让工作线彼此独立推进。

一个认知上下文拥有一份共享认知和多个会话。每个会话记录自己的输入输出、消息顺序、交付位置和注意状态,所有会话共同使用同一份智能体认知。

共享认知与会话边界

每条事件会记录来源会话,而普通回复只交付到当前求值的活动会话。事件进入认知上下文后,可以成为其他会话推理和召回的共享证据。

因此:

  • 在会话 A 形成的认知帧可以被会话 B 使用;
  • 会话 B 的新消息不会自动接管会话 A 正在等待的工具结果;
  • 向另一会话发送可见消息需要明确路由,内部协调信号也必须指向具体会话。

有界会话工作集

每次模型请求只投影一组有界会话。当前会话始终优先;运行时还会从最近 24 小时内有活动记录的会话中选择最多 50 个,并按本轮上下文容量继续收窄。

每个会话在本轮只有三种结果:

  • 完整投影:当前会话始终优先,其他近期会话可携带完整工作信息;
  • 仅元数据投影:保留身份、状态和活跃工作,但不展开对话内容;
  • 本轮排除:归档、退役、隔离、超出时间窗口、数量上限或容量预算的会话不进入编码。

本轮排除不等于删除。会话、事件和工作状态仍然持久存在。

会话退役与恢复

retire-session 让会话退出当前注意窗口,同时保留会话身份、历史事件和工作状态。

新的定向事件会确定性地恢复相应会话,使它重新进入可选工作集。智能体也可以通过 restore-session 显式恢复。会话注意状态与认知帧修改可以放在同一个上下文事务中提交。

线程隔离因果路径

会话是一段交互的边界,线程才是一项工作的因果路径。一个会话可以同时包含多条线程:

会话
├─ 线程 A:等待远程命令完成
├─ 线程 B:回答新的用户问题
└─ 线程 C:等待审批

工具结果、定时唤醒和审批决定只恢复与其因果身份匹配的线程。物理事件序列记录持久化先后,线程身份则决定事件属于哪条工作线。

并发写入共享认知

多个会话和线程可以同时针对同一认知上下文求值。运行时按上下文串行提交认知事务,并在精细语义边界上进行版本检查:互不相关的修改可以安全重放,真正冲突的修改会被拒绝并要求重新读取。

会话操作

morphz session list --context=context-default --format=json
morphz session show <session-id> --format=json
morphz session create --context=context-default
morphz session resume <session-id>

排查工作停滞时,应同时检查会话状态和线程、激活与目标中的持久依赖。