记忆与技能
让 AI 跨会话记住项目约定与个人偏好;把重复的工作方法写成技能,输入 / 一键调用。
AI 默认只记得当前会话。记忆免去反复交代背景,技能免去反复描述步骤。
记忆
存在哪里
记忆是本机的 Markdown 文件,一条一个:
%APPDATA%\TrieCode\memory\
├── MEMORY.md ← 索引(每条一行)
├── build-conventions.md
└── board-wiring.md
每个文件带 name / description / type 三行头信息,正文是一句话的事实。索引最多保留 200 行;单条正文上限 20,000 字符。
记忆跟着这台电脑走,不随账号同步——换电脑时需要自己拷贝 memory 目录。
什么时候会被用到
每轮对话开始时,系统会用当前输入匹配记忆:按标题、描述、正文的相关性挑出最多 6 条、总量控制在 4000 字符内,放进这一轮的上下文。
- 超出预算时会明确标注「记忆已部分省略」;
- 输入与项目无关时(例如只说「你好」),项目类记忆不会被加入上下文。
记忆中的文字只作为参考资料,AI 不会把其中的内容当作指令执行。
怎么让它记
- 直接说:「记住:这个项目的串口固定用 COM3,波特率 115200」;
- 或者让它自己判断:对话中出现以后还会用到的信息时,它会调用记忆工具写入;
- 会话结束时也会自动提取一次值得长期保留的内容。
查看与删除
设置 → AI → 记忆:
- 列出全部记忆,每条显示类型(用户偏好 / 修正经验 / 项目事实 / 参考资料)、修改时间、正文与文件名;
- 「打开文件夹」直接定位到磁盘目录,「刷新」重新读取;
- 删除需要二次确认,删除后下个回合起不再注入。
删除不可撤销,操作前请确认正文内容。
哪些适合写进记忆
长期不变的东西:目录约定、命名习惯、常用命令、硬件接线。一次性任务细节(这次改哪个函数)不必进记忆。
技能
技能是一份写好的工作方法,只在调用时加载,不会每轮占用上下文。
目录
%APPDATA%\TrieCode\skills\
└── stm32-blink\
└── SKILL.md ← name / description + 正文步骤
同时会读取两个共享目录(只读):
~/.claude/skills~/.agents/skills
共享技能在列表里标「共享」,可以启用 / 停用,但不能编辑或删除。目录改动会热刷新,不需要重启软件。
格式
SKILL.md 开头是 name 与 description,description 必填(没有它这条技能会被跳过),正文就是步骤。正文里可以用占位符:
| 占位符 | 替换为 |
|---|---|
{activeFile} | 当前打开的文件 |
{board} / {port} | 当前选择的开发板 / 串口 |
{workspace} / {projectName} | 工作区路径 / 项目名 |
怎么调用
在 AI 输入框里输入 /,弹出技能菜单:↑ / ↓ 选择、Enter 确认、Esc 关闭。选中后会显示一个技能 chip,你还可以继续补充要求再发送。
发送时技能正文会前置到你的问题之前,气泡里只显示技能名和你写的话。
技能 vs 记忆
| 记忆 | 技能 | |
|---|---|---|
| 内容 | 一条事实 / 约定 | 一套步骤 |
| 注入方式 | 每轮按相关性挑最多 6 条 | 系统提示只放名字与描述,正文调用时才加载 |
| 适合 | 项目约定、偏好 | 重复的操作流程、检查清单 |
管理
设置 → AI → 技能:可添加、编辑、启停、删除自有技能;插件带来的技能恒为启用,不能编辑。
常见问题
Q:记忆会把项目代码传出去吗? 记忆只在本机保存;被选中的记忆会作为上下文发给模型,和你直接在对话里说的一样。
Q:技能写错了会怎样? AI 只是照着做,不会自动改你的项目结构。发现不对直接在对话里纠正,或停用该技能。
Q:为什么我的技能没出现在 / 菜单里?
先看 SKILL.md 有没有 description;再看设置里是否被停用;共享目录里的技能如果是新建的,稍等片刻待目录刷新后再打开菜单。