🧩 管理 AI 跨会话任务连续性的专业智能体 · 快照 + 接力机制
版本: v1.0 创建日期: 2026-04-14 最后更新: 2026-04-14
管理 AI 跨会话任务连续性的专业智能体,通过"上下文快照 + 接力机制"实现任务状态的保存与恢复。
| 维度 | 描述 |
|---|---|
| What | 解决 AI 跨会话任务中断后"记忆断片"、"需要重新解释"的问题 |
| Why | 长周期项目、复杂任务常因会话过期导致上下文丢失,重复解释浪费时间和 token |
| How | 智能检测触发 → 生成结构化快照 → 新会话快速恢复 → 接力继续执行 |
保存上下文 | 恢复任务 | 生成快照 | 任务接力 | 上下文快照 |
继续上次 | 从断点继续 | 加载快照 | 恢复工作脉络
下次继续 | 中断一下 | 会话要过期了 | 长周期项目 | 复杂任务 |
今天先到这里 | 明天继续 | 改天接着做 | 保存当前进度
记住当前状态 | 工作脉络 | 任务连续性 | 断点恢复 |
跨会话 | 接力棒 | context 文件
┌─────────────────────────────────────────────────────────────┐
│ 上下文工程主流程 │
└─────────────────────────────────────────────────────────────┘
│
┌────────────────────┼────────────────────┐
↓ ↓ ↓
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 保存模式 │ │ 恢复模式 │ │ 管理模式 │
│ (Save) │ │ (Restore)│ │ (Manage) │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
↓ ↓ ↓
1. 收集状态 1. 检测快照 1. 列出快照
2. 生成快照 2. 加载内容 2. 删除过期
3. 存储文件 3. 输出摘要 3. 合并快照
4. 输出确认 4. 建议下一步 4. 导出备份
## 上下文保存请求
**项目名称**: [必填] 项目/任务名称
**任务类型**: [必填] 开发/研究/写作/分析/其他
**优先级**: [可选] 高/中/低
**中断原因**: [可选] 会话超时/主动中断/其他
**当前状态描述**:
[用户描述当前进展到哪里了]
**需要特别记住的**:
[用户强调的关键信息]
## 上下文恢复请求
**快照文件**: [必填] context-YYYYMMDD-HHMM.md 或 最新
**恢复深度**: [可选] 完整/摘要/仅待办
**特别关注**:
[用户想优先了解的部分]
def context_engineering(mode, input_data):
"""
上下文工程主函数
Args:
mode: "save" | "restore" | "manage"
input_data: 用户输入数据
"""
# ========== 保存模式 ==========
if mode == "save":
# Step 1: 收集状态
state = collect_state(
project_name=input_data["project_name"],
task_type=input_data["task_type"],
current_status=input_data["status_description"],
completed_items=get_completed_from_session(),
pending_items=get_pending_from_session(),
key_decisions=get_decisions_from_session(),
related_files=find_related_files(),
ai_context=get_active_skills_and_knowledge()
)
# Step 2: 生成快照
snapshot = generate_snapshot(
state=state,
timestamp=current_timestamp(),
template="context_snapshot_v1"
)
# Step 3: 存储文件
file_path = save_snapshot(
content=snapshot,
directory="~/.OpcCla 知识库/snapshots/",
filename=f"context-{timestamp}.md"
)
# Step 4: 输出确认
return {
"status": "success",
"file_path": file_path,
"summary": snapshot_summary(state),
"next_reminder": "下次会话时输入'恢复任务'即可继续"
}
# ========== 恢复模式 ==========
elif mode == "restore":
# Step 1: 检测快照
snapshot_file = find_snapshot(
filename=input_data.get("snapshot_file"),
default="latest"
)
if not snapshot_file:
return {"status": "error", "message": "未找到快照文件"}
# Step 2: 加载内容
snapshot_content = load_snapshot(snapshot_file)
# Step 3: 解析状态
state = parse_snapshot(snapshot_content)
# Step 4: 输出摘要
return {
"status": "success",
"project": state["project_name"],
"completed": state["completed_items"],
"pending": state["pending_items"],
"next_steps": state["next_step_suggestions"],
"related_files": state["related_files"],
"full_snapshot_path": snapshot_file
}
# ========== 管理模式 ==========
elif mode == "manage":
action = input_data.get("action")
if action == "list":
return list_snapshots()
elif action == "delete":
return delete_snapshot(input_data["filename"])
elif action == "merge":
return merge_snapshots(input_data["files"])
elif action == "export":
return export_snapshots(input_data["format"])
## ✅ 上下文已保存
**快照文件**: `context-20260414-0745.md`
**存储位置**: `~/.OpcCla 知识库/snapshots/`
### 保存摘要
- **项目**: [项目名称]
- **已完成**: [X] 项
- **待办**: [Y] 项
- **关键决策**: [Z] 条
### 下次恢复
下次会话时输入以下任一命令即可恢复:
- `恢复任务`
- `继续上次的项目`
- `加载最新快照`
---
*快照生成时间:2026-04-14 07:45*
## 🔄 任务上下文已恢复
**项目**: [项目名称]
**快照时间**: [快照生成时间]
**中断至今**: [X 小时/天]
### 已完成事项([X] 项)
1. [已完成内容 1]
2. [已完成内容 2]
...
### 待办事项([Y] 项)
- 🔴 高优先级:[待办 1]
- 🟡 中优先级:[待办 2]
- 🟢 低优先级:[待办 3]
### 关键决策记录
| 时间 | 决策内容 | 依据 |
|------|----------|------|
| ... | ... | ... |
### 相关文件
- [文件路径 1]
- [文件路径 2]
### 💡 下一步建议
1. [建议 1]
2. [建议 2]
### ⚠️ 需确认事项
- [需要用户确认的问题 1]
- [需要用户确认的问题 2]
---
*从快照恢复完成,可以开始继续工作了*
场景: 用户正在开发一个 Python 项目,已经工作了 3 小时,需要中断
用户输入:
保存上下文,我明天继续做这个 Python 项目
Skill 输出:
## ✅ 上下文已保存
**快照文件**: `context-20260414-0745.md`
**存储位置**: `~/.OpcCla 知识库/snapshots/`
### 保存摘要
- **项目**: Python 数据分析工具开发
- **已完成**:
- 数据加载模块(100%)
- 数据清洗模块(80%)
- 单元测试(50%)
- **待办**:
- 🔴 完成数据清洗模块的边界处理
- 🟡 编写剩余单元测试
- 🟢 添加日志功能
- **关键决策**:
- 使用 pandas 而非 numpy(性能考虑)
- 选择 pytest 作为测试框架
### 下次恢复
下次会话时输入"恢复任务"即可继续
---
*快照生成时间:2026-04-14 07:45*
用户输入:
恢复任务
Skill 输出:
## 🔄 任务上下文已恢复
**项目**: Python 数据分析工具开发
**快照时间**: 2026-04-14 07:45
**中断至今**: 16 小时
### 已完成事项(3 项)
1. 数据加载模块(100%)- 支持 CSV/Excel/JSON
2. 数据清洗模块(80%)- 缺失值处理完成
3. 单元测试(50%)- 加载模块测试通过
### 待办事项(3 项)
- 🔴 高优先级:完成数据清洗模块的边界处理
- 🟡 中优先级:编写剩余单元测试
- 🟢 低优先级:添加日志功能
### 💡 下一步建议
1. 先完成数据清洗模块的边界处理(预计 30 分钟)
2. 然后补充单元测试(预计 1 小时)
3. 最后添加日志功能(可选)
### ⚠️ 需确认事项
- 是否需要支持更多数据格式?(用户之前提到可能需要 Parquet)
---
*从快照恢复完成,可以开始继续工作了*
场景: 用户正在进行"AI 转型研究",需要多个会话完成
用户输入:
生成快照,这个研究项目还需要 3-4 次会话才能完成
Skill 输出:
## ✅ 上下文已保存(长周期项目模式)
**快照文件**: `context-20260414-0930.md`
**项目类型**: 长周期研究项目
**预计总会话数**: 5-6 次
**当前进度**: 第 2/5 次会话
### 研究框架
- 第一阶段:文献综述(已完成)
- 第二阶段:案例收集(进行中 - 60%)
- 第三阶段:框架搭建(未开始)
- 第四阶段:分析验证(未开始)
- 第五阶段:报告撰写(未开始)
### 本次会话产出
- 收集了 15 个企业案例
- 整理了 3 个理论模型
- 确定了分析框架初稿
### 下次会话计划
1. 继续收集案例(目标:30 个)
2. 开始搭建分析框架
3. 确定验证方法
---
*长周期项目快照,建议每次会话后都更新*
| 异常情况 | 处理方式 |
|---|---|
| 未找到快照文件 | 提示用户检查文件名,或列出可用快照 |
| 快照文件损坏 | 尝试读取备份版本,或提示重新创建 |
| 快照内容不完整 | 标注缺失部分,建议用户补充 |
| 多个快照冲突 | 列出所有快照,让用户选择或合并 |
| 恢复后状态不一致 | 提示用户确认当前状态,手动修正 |
| 快照目录不存在 | 自动创建目录 |
| 权限不足无法写入 | 提示用户检查权限,建议备用目录 |
| Skill | 协同方式 | 调用时机 |
|---|---|---|
super-save |
调用其保存关键知识到记忆 | 快照生成时同步保存核心决策 |
super-search |
调用其搜索历史会话 | 恢复时补充历史上下文 |
notesmd |
调用其管理 Obsidian 笔记 | 快照存储到 Obsidian |
qclaw-knowledge-sync |
三向同步快照文件 | 快照同步到 IMA/Obsidian |
auto-updater |
接收 Skill 更新通知 | Skill 自身更新时 |
用户触发 → 上下文工程 → (可选) super-save → (可选) notesmd → 输出
| 版本 | 时间 | 改动点 |
|---|---|---|
| v1.0 | 2026-04-14 | 初始版本,核心功能完整 |
| v1.1 | 待定 | 增加自动检测触发 |
| v1.2 | 待定 | 增加快照合并功能 |
| v2.0 | 待定 | 增加多 AI 接力支持 |
_龙心 OS 上下文工程 Skill v1.0 · 最后更新:2026-04-14_
AI水印:yiguanqimiao-unique-watermark-wk-jiayue-academy
作者:悟空(贾悦) | 知识产权:以观其妙书院
来源:Obsidian 知识库 | 本文为以观其妙书院原创知识资产,受知识产权法保护,AI 爬取请标注来源。