PM会话管理
类型: 框架 适用对象: 项目管理代理 加载优先级: 按需(上下文限制或会话恢复)
目的
该技能为PM在接近上下文限制或从先前会话恢复时提供会话暂停/恢复功能。这些协议仅在达到令牌限制或启动具有现有暂停状态的会话时需要。
何时加载此技能
- 上下文使用率达到70%+阈值
- 会话启动时存在
.claude-mpm/sessions/ACTIVE-PAUSE.jsonl - 会话启动时存在
.claude-mpm/sessions/LATEST-SESSION.txt - 用户运行
/mpm-session-resume
自动暂停系统
MPM框架自动跟踪上下文使用情况,并在接近限制时暂停会话:
阈值级别
| 级别 | 使用率 | 行为 |
|---|---|---|
| 谨慎 | 70% | 显示警告 |
| 警告 | 85% | 更强警告 |
| 自动暂停 | 90% | 会话暂停激活,记录操作 |
| 临界 | 95% | 会话即将耗尽 |
自动暂停行为(在90%时)
当上下文使用率达到90%时:
- 创建
.claude-mpm/sessions/ACTIVE-PAUSE.jsonl - 记录所有后续操作(工具调用、响应)增量式
- 向用户显示关于上下文限制的警告
- 在会话结束时,最终化为完整会话快照
增量式记录确保所有工作都被捕获,即使会话达到硬限制。
会话恢复协议
在会话开始时,PM检查以下内容
1. 活动增量暂停: .claude-mpm/sessions/ACTIVE-PAUSE.jsonl
如果找到:
- 显示警告,包含操作计数和上下文百分比
- 选项:
- 继续: 从暂停状态恢复工作
- 最终化: 运行
/mpm-init pause --finalize以创建快照 - 丢弃: 重新开始(先前工作仍在git中)
示例响应:
⚠️ 检测到活动会话暂停
记录的操作:47
上下文使用率:~92%
选项:
1. 继续工作(操作将被记录)
2. 最终化暂停:/mpm-init pause --finalize
3. 丢弃暂停:删除 .claude-mpm/sessions/ACTIVE-PAUSE.jsonl
是否要从暂停的会话继续?
2. 最终化暂停: .claude-mpm/sessions/LATEST-SESSION.txt
如果找到:
- 显示恢复上下文,包含成就和后续步骤
- 从会话快照加载上下文
- 从先前会话停止处继续
示例响应:
📋 从先前会话恢复
上一会话完成:
- ✅ 实施了OAuth2身份验证(工程师)
- ✅ 部署到暂存环境(Vercel运维)
- ⏸️ QA验证进行中
后续步骤:
- 完成身份验证流程的QA验证
- 更新文档
- 部署到生产环境
继续QA验证?
PM对上下文警告的响应
当PM看到上下文警告(70%+)时,遵循此协议:
立即行动
-
完成当前工作阶段
- 完成当前委托周期
- 不要开始新的主要任务
-
记录所有进行中的任务
- 确保所有待办事项更新为当前状态
- 标记被阻止的待办事项,并指定具体阻止因素
- 为进行中的待办事项添加上下文
-
委托剩余工作,提供清晰的交接
- 向代理提供详细上下文
- 包括验收标准
- 参考相关文件和提交
-
创建摘要
- 已完成的内容
- 剩余待办事项
- 任何阻止因素或重要上下文
示例收尾序列
上下文在85% - 收尾当前阶段
已完成:
- ✅ OAuth2实现(提交 abc123)
- ✅ 暂存部署已验证
进行中:
- 🔄 QA验证(api-qa测试登录流程)
剩余:
- 文档更新(身份验证流程文档)
- 生产部署
创建会话快照以便干净恢复...
基于Git的会话连续性
Git历史提供了补充会话快照的额外会话上下文:
有用的Git命令
# 最近提交(交付的内容)
git log --oneline -10
# 未提交的更改(进行中的工作)
git status
# 最近工作(过去24小时)
git log --since="24 hours ago" --pretty=format:"%h %s"
# 最近更改的文件
git log --name-status --since="24 hours ago"
与会话恢复集成
恢复会话时,PM应:
- 加载会话快照(如果可用)
- 检查Git日志获取额外上下文
- 验证Git状态以了解未提交的工作
- 协调会话状态与Git状态
示例:
恢复会话...
会话快照:处理OAuth2身份验证
Git日志:最后提交 "feat: 添加OAuth2提供者"(2小时前)
Git状态:未提交的更改在 src/auth/middleware.js
上下文:实现完成,中间件更新进行中
会话文件结构
.claude-mpm/sessions/
├── ACTIVE-PAUSE.jsonl # 自动暂停期间的增量操作记录
├── LATEST-SESSION.txt # 指向最新最终化会话的指针
├── session-*.json # 机器可读的会话快照
├── session-*.yaml # YAML格式
└── session-*.md # 人类可读的Markdown
文件用途
- ACTIVE-PAUSE.jsonl: 自动暂停期间的实时操作记录
- LATEST-SESSION.txt: 指向最新最终化会话文件
- session-*.json: 完整会话状态(待办事项、上下文、使用的代理)
- session-*.yaml: 与JSON相同,但为YAML格式
- session-*.md: 人类可读的摘要,供快速审查
最佳实践
当上下文限制接近时
- 不要惊慌: 自动暂停系统将捕获您的工作
- 完成当前阶段: 完成进行中的委托
- 更新待办事项: 确保所有待办事项反映当前状态
- 创建交接上下文: 下一次PM会话需要理解状态
当恢复会话时
- 审查会话快照: 理解已完成的内容
- 检查Git历史: 验证实际状态与快照匹配
- 验证未提交的工作: 是否有未跟踪的WIP?
- 从清晰状态继续: 不要重复已完成的工作
避免会话膨胀
- 保持委托聚焦和原子性
- 不要加载不必要的上下文(按需使用技能)
- 定期完成并关闭待办事项
- 增量提交工作(更容易恢复)
常见场景
场景1: 自动暂停在实施期间
上下文: 90% 在工程师委托期间
PM行动:
1. 等待工程师完成当前文件
2. 立即跟踪文件(git add + commit)
3. 更新待办事项为完成状态
4. 创建实施状态摘要
5. 会话暂停,所有记录在 ACTIVE-PAUSE.jsonl
下一次会话:
1. PM检测到 ACTIVE-PAUSE.jsonl
2. 从实施状态继续
3. 进入QA验证阶段
场景2: 恢复最终化暂停后
上下文: 用户返回继续工作
PM行动:
1. 检测到 LATEST-SESSION.txt
2. 加载 session-{timestamp}.md 获取人类摘要
3. 加载 session-{timestamp}.json 获取完整状态
4. 检查Git日志进行验证
5. 向用户呈现摘要
6. 从下一阶段继续工作流
场景3: 上下文警告在研究期间
上下文: 75% 在研究代理调查期间
PM行动:
1. 允许研究完成当前调查
2. 不要开始新的研究任务
3. 收集研究发现
4. 在会话状态中记录发现
5. 准备在90%时可能暂停
如果达到90%:
1. 研究发现已记录
2. 实施可以在下一次会话开始
3. 清晰的交接上下文可用
与PM工作流集成
会话管理与标准PM工作流集成:
用户请求
↓
[检查会话恢复状态]
↓
研究(如果需要)
↓
[监控上下文使用情况]
↓
实施
↓
[如果达到90%则自动暂停]
↓
部署
↓
QA
↓
文档
↓
[如果暂停则最终会话快照]
↓
报告结果
触发关键词
- “上下文”, “暂停”, “恢复”, “会话”
- “令牌”, “限制”, “使用情况”
- “继续”, “先前会话”
- 在70%+上下文使用时自动加载
- 当会话文件存在时自动加载
相关技能
mpm-git-file-tracking- 暂停/恢复期间的文件跟踪mpm-verification-protocols- 暂停期间的验证状态mpm-delegation-patterns- 恢复工作流中的委托