mcpField
N
nemo-rl-session-memory

nemo-rl-session-memory

github.com/nvidiaAgent 工作流3.8k2.0k 次安装今天更新
代码仓库

关于 nemo-rl-session-memory

面向仓库工作的 Agent 的会话记忆技能,用简洁、可读的记录保存进度,便于断连后继续工作。

主要功能

  1. 01按时间戳创建会话目录
  2. 02记录状态、时间线、文件和交接信息
  3. 03依据仓库状态核验恢复情况
  4. 04为长时间任务提供检查点建议

适用场景

  1. 01断连后恢复仓库工作
  2. 02重大编辑或长任务前记录进度
  3. 03将暂停的任务交接给其他 Agent

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill nemo-rl-session-memory

安装后在 Claude Code 中输入/nemo-rl-session-memory确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json

详细介绍

会话记忆

为当前工作会话保留一份持久、易读的记录,让其他 Agent 在断开连接后能够以最少的上下文损失继续工作。

何时使用

在以下情况下使用此技能:

  • 用户要求保存、恢复、检查点记录或管理 Agent 记忆。
  • 工作持续时间较长、具有实验性质,或可能跨越多次连接。
  • 即将进行重要编辑、运行耗时任务、切换分支或暂停等待用户输入。
  • 在已有 ./session/ 目录的仓库中恢复工作。

会话目录

为每个工作会话创建一个目录:

mkdir -p session
date +%Y%m%d_%H%M%S
mkdir -p session/<session_date_time>

使用机器的本地时间。除非用户明确开始新会话,否则同一对话中的所有检查点都复用同一个会话目录。

预期文件:

  • session_state.md - 整体目标、当前子任务、已加载的技能、状态、计划、假设、阻碍和后续操作。
  • timeline.md - 主要操作、命令、结果和决策的仅追加日志。
  • files.md - 检查过的文件、修改过的文件,以及这些文件的重要性。
  • handoff.md - 为下一位 Agent 提供的简洁续接说明。

仅在有用时添加其他文件,例如 experiments.tsv、review_notes.md 或复制的命令日志。

开始或恢复

会话开始时:

  1. 检查是否存在现有会话目录:
ls -dt session/* 2>/dev/null | head
  1. 如果用户正在恢复工作,请阅读最新且相关的 session_state.md、timeline.md 和 handoff.md。
  2. 如果不存在相关会话,请创建一个带时间戳的新目录。
  3. 编写初始 session_state.md,记录用户的整体目标、当前子任务、已加载的技能、仓库路径、分支和已知约束。

不要将会话记录视为唯一事实来源。采取行动前,请根据 Git 状态、文件和命令输出验证重要信息。

检查点节奏

在以下情况下写入检查点:

  • 收集到足够的上下文并形成计划后。
  • 重要代码编辑前后。
  • 耗时命令、实验、分支切换或其他难以从聊天记录中还原的操作前。
  • 用户改变方向时。
  • 最终回复前,如果会话中有值得续接的重要状态。
  • 活跃的长时间工作期间,至少每 30 分钟记录一次。

优先更新同一批文件,而不是创建许多零散的检查点文件。记录应简洁、易于浏览。

文件模板

session_state.md
# Session State

- Session: <session_date_time>
- Repo: <absolute repo path>
- Branch: <branch name>
- Started: <local timestamp>
- Updated: <local timestamp>

## Goal
<Stable overall user goal in one or two sentences. Preserve this across follow-up steering unless the user explicitly changes it.>

## Current Subtask
<Immediate task or steering request currently being handled.>

## Loaded Skills
- `<skill-name>` - <why it was loaded and any important instructions to preserve.>

## Current Status
<What is true now. Include completed work and verification status.>

## Plan
- [ ] <Next concrete step>
- [ ] <Next concrete step>

## Assumptions
- <Assumption and how to verify it if needed.>

## Blockers
- <Blocker or "None known".>
timeline.md
# Timeline

## <local timestamp>
- User asked: <brief request>
- Context gathered: <files/commands and key result>
- Decision: <important choice and rationale>
- Result: <edits/tests/outcome>
files.md
# Files

## Inspected
- `<path>` - <why it mattered>

## Changed
- `<path>` - <what changed and why>

## Generated
- `<path>` - <purpose>
handoff.md
# Handoff

## Resume From Here
<One paragraph summary of the current state.>

## Next Actions
- <Most important next action>
- <Verification or cleanup still needed>

## Watch Outs
- <Risks, user preferences, or repo constraints the next agent must preserve.>

恢复工作流

断开连接后恢复工作时:

  1. 找到最可能的最新会话目录。
  2. 先阅读 handoff.md,再阅读 session_state.md,然后查看 timeline.md 中的近期记录。
  3. 运行轻量级验证,例如 git status --short、git branch --show-current,并针对性地读取文件。
  4. 从最新且已验证的后续操作继续。
  5. 追加一条时间线记录,注明恢复情况和发现的任何不一致。

质量规则

  • 记录应客观、简洁。后续 Agent 需要了解状态,而不是查看完整记录。
  • 记录重要命令的结果,尤其是测试失败或跳过验证的情况。
  • 注明未提交的更改,以及这些更改是由当前 Agent 还是之前已有的。
  • 不要在会话文件中存储机密、令牌、私有凭据或大型日志。
  • 如果会话文件过大,请总结较早的细节,并将最新的后续操作放在 handoff.md 靠上位置。

评论

支持 Markdown