持续学习代理技能
为编码代理建立跨会话记忆,让经验能够被捕获、反思、持久化并再次应用。
文档说明了全局与本地记忆范围,但未说明敏感数据脱敏、访问控制、用户确认、数据流、依赖安全、删除/回滚或审计机制;自动观察工具结果并持久化可能泄露项目或用户信息,因此大幅扣分。未发现明确恶意行为或凭据窃取证据。
核心流程和示例较短且内部基本一致,但安装源路径、hooks 内容、数据库 schema、初始化行为和异常处理均未在选定文件中复现;“无需配置”和自动初始化缺少可诊断失败反馈,静态评估限制下仅给低分。
目标场景“为编码代理设置持续学习基础设施”较清楚,且区分全局/本地记忆;但未定义触发条件、输入输出、兼容代理范围、非适用场景、中文支持或网络环境要求,适用边界证据不足。
SKILL.md 结构清晰,有快速开始、概念、示例和实践建议;仓库提供 MIT 许可证与微软组织来源,但技能自身缺少依赖说明、配置参数、限制、故障排查、版本、变更记录和维护更新路径,且安装所需 hooks 未随证据提供。
文档给出了持续学习循环、记忆分层和三种存储方式,理论上可指导基础设计;但缺少可直接使用的 hook、schema、实现文件、验证步骤和完整输出约定,用户仍需大量补充实现,静态证据不足。
提供了流程图、SQL 和 markdown 示例,但没有针对该技能关键路径的提交测试、运行结果或第三方复现证据;仓库级 CI/测试材料未覆盖该技能的实际行为,因此可验证性很低。
- 安装命令会复制 hooks,但文档未说明 hook 文件内容、权限、来源完整性或失败时如何恢复。
- 全局数据库位于用户主目录,可能跨项目聚合工具结果和偏好;应补充脱敏、最小化收集、访问控制、确认、删除和回滚说明。
- SQL 示例依赖未定义的 learnings 表和字段,且未说明 SQLite 初始化、并发、迁移或损坏处理。
- 文档未说明哪些代理会触发该技能,也未提供中文或中国大陆网络环境下的可用性说明。
它能做什么 & 适用场景
该技能为 AI 编码代理提供持续学习基础设施,通过钩子观察工具结果并记录失败模式。记忆分为全局和项目本地两层,分别保存跨项目经验与仓库专属约定。代理也可以通过 SQL 直接写入学习记录,或使用版本化 Markdown 文件维护人工知识。系统会定期清理低价值旧记录,以控制记忆规模。
从仓库根目录复制持续学习钩子到 .github/hooks/;在首次会话时自动初始化;观察工具执行结果并检测失败模式;将学习内容写入 ~/.copilot/learnings.db 或 .copilot-memory/learnings.db;支持通过 learnings 表的 SQL INSERT 直接存储记录;支持使用 .copilot-memory/conventions.md 保存可读、可版本控制的约定;清理超过 60 天且命中次数较低的记录,并在 7 天后清理工具日志。
- 为经常重复遇到工具失败的编码代理建立跨项目的工具经验记忆。
- 为需要遵循项目专属编码约定的团队保存本地记忆。
- 希望代理根据用户纠正记录模式、错误、偏好或工具洞察的开发者。
- 需要用版本控制维护人工可读项目约定,而不是只依赖数据库记录的团队。
优缺点一览
- 同时支持全局记忆和项目本地记忆,作用域划分明确。
- 提供自动钩子、SQL 写入和 Markdown 文件三种记录方式。
- 具有记忆衰减和日志清理机制,可避免无限增长。
- 安装步骤简短,且无需额外配置即可初始化。
- 源材料未提供钩子源码、测试结果或平台兼容性验证细节。
- 依赖本地文件系统,并会写入用户目录或项目目录中的数据库和记忆文件。
- 源材料未说明数据库的具体实现、并发行为、备份方式或失败恢复机制。
- 该技能只覆盖持续学习基础设施,不负责具体 SDK 或业务领域知识。
如何安装
在仓库根目录执行:
cp -r hooks/continual-learning .github/hooks/
该技能说明安装后会在首次会话自动初始化且无需配置;README 还提供集合级安装方式:npx skills add microsoft/skills。
如何使用
安装钩子后继续使用编码代理即可,钩子会观察工具结果并在后续会话呈现相关学习。也可以直接向代理提出“为这个项目设置持续学习基础设施”,或通过 SQL 向 learnings 表插入 scope、category、content 和 source 字段。具体钩子实现、权限配置和触发命令未在源材料中说明。