用途
Personalization Memory 是一个面向 AI 智能体的个性化记忆写入层技能,目标是将重复的交互痕迹(trajectories)转化为持久的用户偏好,让系统随时间推移越来越个性化。其核心定位是作为「系统越用越懂你」的写回(writeback)层,避免主智能体为了决定是否记住某个常规偏好而频繁中断并询问用户。
主要能力
该技能提供以下核心能力:
-
低成本侧车扫描:优先通过侧车(sidecar)扫描从日志、轨迹、diff、侧车输出、评审包和项目记忆中综合提取偏好候选,而非让主智能体直接询问用户。
-
候选分类与作用域划定:将每个候选偏好分配到四种作用域之一——private-user(私有用户)、project(项目)、public-skill-candidate(公共技能候选)或 discard(丢弃)。同时分配类型:workflow、writing、layout、figure-style、code-review、git、compute、toolchain 或 collaboration。
-
置信度门控:一次观察到的片段可以成为一条 lesson;重复出现的片段或用户明确表述可以成为一条偏好;项目契约需要项目特定的证据;公共技能规则需要维护者意图或跨项目的重复证据。
-
渐进提升阶梯:将个性化视为 observation -> candidate -> preference -> project contract -> reusable skill-rule candidate 的提升过程。
-
分层写入:根据写入策略路由将偏好写入正确的层级,包括私有用户偏好(如 ~/.codex/memories/)、项目偏好(如 memory/、paper/.agent/、code/.agent/ 或 slides/.agent/)、本地扫描产物(如 .agent/sidecars/<task-id>/ 或 .agent/personalization/<run-id>/)以及公共可复用技能规则(如 skills/<skill-name>/SKILL.md)。
使用方式
该技能以 SKILL.md 为核心入口,配合 references/ 和 templates/ 目录使用:
<installed-skill-dir>/
├── SKILL.md
├── references/
│ ├── trajectory-scanner.md
│ └── writeback-policy.md
└── templates/
└── preference-ledger.md
渐进式加载顺序:
- 在决定偏好归属位置之前,阅读
references/writeback-policy.md。 - 在对日志、轨迹、侧车产物或仓库历史启动侧车扫描之前,阅读
references/trajectory-scanner.md。 - 当项目缺少偏好账本时,使用
templates/preference-ledger.md。
标准工作流:
- 收集产物输入:优先使用已脱敏的产物,如 memory/、最近的 git diff、.agent/sidecars//decision.md、.agent/code-reviews//fix-log.md、.agent/layout-issues/*/manifest.md、paper/code 的 .agent/ 状态,以及当前任务摘要中用户明确表述的偏好。
- 运行低成本扫描:对于非平凡的历史或轨迹扫描,使用 sidecar-task-runner 的 personalization-scanner 预设。扫描器输出候选,但不得直接编辑记忆。
- 分类每个候选:分配作用域和类型。
- 应用置信度门控。
- 写入正确层级:使用 references/writeback-policy.md 的路由。写入简短条目,包含日期、来源产物、置信度和目标作用域。
- 仅报告有用摘要:告知用户记住了什么或哪些候选被推迟。除非下一步会发布私有或面向公众的策略,否则不请求确认。
默认目标如下:
- 私有用户偏好:当前智能体的私有记忆区,如
~/.codex/memories/,特别用于工作站事实、工具别名、本地路径、偏好交互风格和个人工作流默认值。 - 项目偏好:
memory/、paper/.agent/、code/.agent/或slides/.agent/,特别用于项目中所有智能体共享的契约。 - 本地扫描产物:
.agent/sidecars/<task-id>/或.agent/personalization/<run-id>/;除非已脱敏并有意提交,否则保持未跟踪。 - 公共可复用技能规则:仅在明确的技能维护任务期间写入
skills/<skill-name>/SKILL.md或skills/<skill-name>/references/。
候选记录格式:
- Preference: <one reusable behavior>
- Scope: private-user | project | public-skill-candidate | discard
- Type: workflow | writing | layout | figure-style | code-review | git | compute | toolchain | collaboration
- Evidence: <artifact path or summarized user statement>
- Confidence: observed | repeated | user-stated | inferred
- Target: <memory file or skill file>
- Action: write | defer | promote | reject
适用场景
在以下情况下使用该技能:
- 用户表示某个工作流应该被个性化、自动化、记住或从轨迹中学习。
- 智能体注意到重复出现的偏好,例如「不要问我」、「先提交再推送」、「使用 Overleaf 编译」、「偏好截图/页面包」、「对低风险扫描使用侧车」等。
- 另一个技能完成有意义的工作,且存在可复用的工作流、写作、图表、LaTeX、Git、评审或计算方面的经验。
- 需要将 Codex 或 Claude Code 的轨迹日志扫描为候选偏好。
- 项目记忆需要将私有用户事实与共享项目契约和公共技能规则区分开。
建议与 sidecar-task-runner 配合进行低成本扫描,与 research-project-memory 配合在被接受的项目级结论需要更新 memory/ 时使用。
限制与安全规则
- 不要仅为了决定是否记住某个常规偏好而询问用户。
- 绝不将原始私密对话、原始日志、凭据、仅本地路径或协作者消息复制到公共仓库记忆中。
- 存储最小可复用 lesson,而非整个 episode。
- 当派生规则足够时,不要存储私有原始轨迹文本。
- 不要将协作者特定评论、语音转录、截图或本地文件路径提升到公共技能中。
- 不要让侧车在未经主智能体审查的情况下写入最终公共记忆。
- 如果候选与现有记忆冲突,将其标记为 candidate 并留下简短备注,而不是覆盖旧规则。
- 如果某个偏好会改变外部行为(如推送、打标签、发布、提交作业或发布 issue),记录该偏好但保留现有的人工门控。
- 公共技能变更需要与其他技能变更相同的正常仓库验证、提交、推送和重装流程。
关于具体分类标准的详细说明、扫描器实现细节和偏好账本模板内容,资料中未提供完整细节,暂未提供。