跳转到内容

会话生命周期

会话生命周期描述一个编码会话在 Jarvis 中随时间变化的过程:启动、活跃工作、等待、阻塞、人工介入、后续派发和收束。

会话生命周期是 Jarvis 启动或发现一个编码会话后,该会话经历的状态与控制转换序列。

没有清晰生命周期,会话管理会变成猜测。操作者需要知道:

  • 会话是新建、活跃、等待、阻塞,还是可以复用;
  • 工作会话什么时候需要人工帮助;
  • 什么时候应该继续派发,什么时候应该开新会话;
  • 页面刷新或短暂断线后如何恢复监督。

大多数会话会经历这个循环:

  1. 已创建:托管会话从 Jarvis 启动,或本地运行时会话被发现。
  2. 活跃:工作会话正在输出、编辑代码、运行命令或推进任务。
  3. 等待:运行时等待工具、模型或外部进程。
  4. 阻塞或需要决策:工作会话提出问题、声明阻塞或请求更多上下文。
  5. 后续处理:用户回答、派发更多工作,或打开完整会话检查。
  6. 收束:任务完成、暂停,或该会话不再适合继续。

运行时机制各不相同,但监督模型一致:观察信号,只在必要时人工介入,并在上下文仍有价值时从同一会话继续。

运行中
Agent 正在输出、执行命令或推进任务。
等待中
Agent 正在等待工具、模型或外部进程返回。
已阻塞
Agent 需要人工输入,或无法安全继续。
空闲
会话仍可用,但当前没有推进。
待人工
需要用户决策、授权或远程回复。
Agent 汇报
worker 或主脑会话通过 MCP 上报了状态。
  • 托管会话 从启动进入生命周期。
  • 本地运行时会话 从发现进入生命周期。

之后两者都可以出现在同一会话列表中,并通过同一套 UI 检查;差异主要体现在可控制能力上。

  • 孤儿状态:运行时中仍有会话,但 Jarvis 监督信息暂时过期。
  • 复用判断错误:旧会话上下文漂移太远时,继续派发可能不如新开会话。
  • 人工队列堆积:多个工作会话同时进入待决策状态。
  • 误判完成:工作会话停止汇报不等于任务分支已经干净完成。

生命周期视图的价值是把介入点显式化,减少这些误判。