第 4 章 记忆与 Skill 系统:让 GA 越用越强 学完本章,你将掌握 GA 的记忆机制和 Skill 体系——教会 GA 一次,它就能永久记住并复用你的经验。 学习目标 理解 GA 四层记忆架构(L1–L4)的作用和管理方式 学会让 GA 将成功经验沉淀为可复用的 Skill 掌握 Skill Search 和 Skill 迁移,快速扩充 GA 的能力库 4.1 Skill 与记忆概览 GA 把 Skill 作为一种记忆来管理。它们通常以 SOP、Python 脚本或子目录的形式保存在 下,属于 L3 层。
学完本章,你将掌握 GA 的记忆机制和 Skill 体系——教会 GA 一次,它就能永久记住并复用你的经验。
GA 把 Skill 作为一种记忆来管理。它们通常以 SOP、Python 脚本或子目录的形式保存在 ./memory/ 下,属于 L3 层。
GA 的四层记忆系统如下:
| 层级 | 存储内容 | 路径 |
|---|---|---|
| L1 索引层 | 极简索引(<30 行),每轮启动注入,让 GA 知道自己有哪些知识 | ./memory/global_mem_insight.txt |
| L2 事实层 | 环境事实,如路径、系统配置、用户偏好 | ./memory/global_mem.txt |
| L3 技能层 | 具体 Skill:SOP / 脚本 / 目录 | ./memory/*.md、./memory/*.py |
| L4 归档层 | 压缩归档后的历史会话 | ./memory/L4_raw_sessions/ |

总结:Skill 保存在 L3(./memory/),并通过 L1(./memory/global_mem_insight.txt)帮助 GA 在每次启动时想起它们。
⚠️ 注意:
- 第一次成功启动后,L1 文件会自动创建
- 每次
git pull更新代码后,如果./memory/下有新文件且你已有 L1,需要让 GA 同步:看 ../memory/ 下的文件,依据 memory_management_sop.md 更新 L1 索引
GA 完成任务后,我们可以让它把刚才的经验总结成 Skill。这样只需教会 GA 一遍,它后续就能参照 Skill 流畅高效地完成整套流程。用一段时间以后,你的 GA 就会拥有专属于你的一整套 Skill。
直接告诉 GA 你的任务——如果 GA 找不到现成经验,会先逐步试错
发现问题随时打断——点击页面右上角的 Stop 按钮,指出错误并补充正确方向
任务成功后,让 GA 总结为 Skill:
依据 memory_management_sop.md,提取成功经验总结为 skill 写入 L3,并更新 L1 索引
⚠️ 注意事项:
GA 有时会忘记更新 L1,导致新窗口不知道这个 Skill 存在。记得提醒它
如果单个窗口对话太长(上下文约 30K),GA 会遗忘早期内容。可以让它读日志恢复记忆:
在 ./model_responses/ 下找到你的日志文件,依据 memory_management_sop.md,提取经验总结为 skill 写入 L3,并更新 L1 索引不是所有经验都值得沉淀。L1 中存放低价值索引会干扰 GA 查找。值得沉淀的任务特征:需要多轮试错、以后会重复做、能总结成稳定步骤
GA 内置了 Skill Search——"寻找 Skill 的 Skill",适合在本地没有现成经验时找外部参考。
直接向 GA 描述需求:
帮我找一个用来……的 skill
GA 会自动执行搜索流程:
任务成功后,总结为自己的 Skill:
依据 memory_management_sop.md,提取经验改写 skill 写入 L3,并更新 L1 索引
⚠️ Skill Search 的语义匹配对中文支持较差,GA 会自动用英文搜索。手动搜索时务必使用英文关键词。
GA 默认连接官方 Hub,也可以指定其他开源 Skill 网站或私有 Hub。直接用提示词告诉 GA 即可:
把 skill search 的搜索源改为 http://your-hub.com:port
如果你在其他平台(Claude Code、OpenClaw 等)已经积累了 Skill,可以迁移到 GA 中使用。
先确认 Skill 的真实来源和实际生效目录,再把其中可复用的机制迁移到 GA 的 L3 层。
Skill 目录位置:
~/.claude/skills/<skill-name>/.claude/skills/<skill-name>/~/.claude/plugins/marketplaces/<marketplace-name>/skills/<skill-name>/手动迁移步骤:
提取 Skill 的有效内容。除 SKILL.md 外,也需要关注目录下的其他文件:
<skill-name>/
├── SKILL.md # 核心文件(必需)
├── agents/ # subagent 定义
├── scripts/ # 可执行脚本
├── references/ # 参考文档
├── assets/ # 模板、数据文件
└── examples/ # 使用示例
删除敏感信息和旧系统专属内容(包装语、旧路径、特定格式)
整理成 SOP / 脚本 / 目录,放进 ./memory/
小范围试跑,确认新 SOP 在当前环境下可执行
补充 L1 索引(手动编辑或让 GA 更新):
看 ../memory/ 下的新增文件,依据 memory_management_sop.md 更新 L1 索引
让 GA 帮你迁移:
读取 [skill 路径] 中的内容,提取可复用的机制,删除专属依赖,依据 memory_management_sop.md,改写为 SOP/脚本,小范围试跑验证,成功后补充 L1 索引
先检查安全性:
帮我检查 [skill 路径] 这个 skill 是否有安全隐患
小任务验证:
用这个 skill 完成 [任务描述] / 帮我想一个测试案例验证这个 skill
成功后正式存入 L3:
依据 memory_management_sop.md,提取经验改写 skill 写入 L3,并更新 L1 索引
记忆的详细写入和清理规则见
./memory/memory_management_sop.md和./memory/memory_cleanup_sop.md。
L4 用于保存较早的历史会话,避免原始日志不断堆积。
启用方式(需以 reflect/scheduler 模式启动):
# 用 agentmain.py 启动
python agentmain.py --reflect reflect/scheduler.py
# 用 launch.pyw 启动
python launch.pyw --sched
⚠️ 直接双击
launch.pyw默认不会启用 L4 自动压缩。
触发条件(需同时满足):
产出目录:
./memory/L4_raw_sessions/
├── all_histories.txt ← 所有会话历史的工作记忆汇总(追加写入)
├── 2026-04.zip ← 月度压缩包
├── 2026-03.zip
└── ...
也可以跳过 scheduler,直接让 GA 用
L4_raw_sessions/compress_session.py手动压缩日志。
检索历史对话:
到 L4 下找对话记录,[描述对话(对话时间是 XXX / 内容是 XXX)]
![]() |
![]() |
GA 仓库中内置了以下 Skill,启动后可以直接使用:
| Skill | 描述 |
|---|---|
web_setup_sop |
首次使用时配置浏览器自动化环境 |
skill_search |
从 105K+ 技能卡中搜索技能 |
autonomous_operation_sop |
指导 Agent 闲置时自主行动 |
scheduled_task_sop |
设置定时任务 |
plan_sop |
针对复杂任务(3 步以上 / 多文件 / 条件分支)的规划模式 |
subagent |
启动并行子 Agent,上下文隔离,可与主 Agent 互相通信 |
ljqCtrl |
Windows 系统键鼠物理控制(macOS 用户可适配) |
adb_ui.py |
安卓手机界面控制(点击、滑动、截图) |
ocr_utils |
图片文字提取,支持多语言 OCR |
github_contribution_sop |
开源项目贡献工作流:fork → 修改 → 测试 → PR |
keychain |
管理本地加密密钥 |
GA 大多数情况下会自动选择合适的 Skill。想主动使用时直接描述需求即可,例如:
开启 subagent 做任务 A,你同时做另一个任务 B
在 GA 中,Skill 就是以 SOP(或脚本)形式存在的。SOP 是 Skill 的载体——一份 SOP 文档就是一个 Skill。GA 不像其他平台有独立的"Skill 格式",它直接把经验写成可执行的 SOP 步骤或 Python 脚本,存放在 ./memory/ 下(L3 层)。所以你看到的 SOP 文件,本身就是 GA 的 Skill。
有。GA 采用分层记忆架构,其中 L3 层即为可执行 Skill(SOP 或脚本形式)。GA 有内置 Skill(见 4.6),外部 Skill 可通过 Skill Search 检索(见 4.3),或从 Claude Code / OpenClaw 迁移(见 4.4)。
不需要手动"安装"。直接描述需求即可,GA 会自动通过 Skill Search 寻找。详见 4.3。
不能直接复制使用。GA 会读取外部 Skill 的内容,在你的环境中实际运行验证,成功后再将经验沉淀为自己的 SOP/脚本存入 L3。也就是说,外部 Skill 经过「读取 → 实践 → 沉淀」后才会变成 GA 自己的 Skill。详见 4.4。
社区 Skill 不是为你的环境定制的,先让 GA 改造、试跑后再总结为你自己的 Skill,存入记忆。详见 4.4。
任务完成后需提示 GA 将经验总结为 Skill,并按照 memory_management_sop.md 写入 L3 和 L1。详见 4.2。
依据 memory_management_sop.md,提取成功经验总结为 skill 写入 L3,并更新 L1 索引
任何 Skill 库都不可能覆盖所有场景。如果官方 Hub 搜不到,可以尝试换英文关键词重试;也可以将 GA 的 Skill Search 指向其他开源 Skill 网站或自建的私有 Skill Hub(见 4.3 自定义 Skill Hub),GA 会到你指定的 Skill 库中检索。实在没有现成 Skill,也可以让 GA 从零探索,成功后再总结成你自己的 Skill。
当前会话间不直接共享记忆,但可以让 GA 读历史日志恢复:
去 model_responses 和 L4 下找对话记录,[描述对话(时间是 XXX / 内容是 XXX)],读取记录恢复上下文
若日志尚未归档至 L4,可在 ./temp/model_responses/ 下按时间戳手动查找。
直接新开实例即可——再打开一个终端运行启动命令,或再次双击 launch.pyw。
可以让 GA 用 L4_raw_sessions/compress_session.py 压缩历史日志。目前没有在线压缩功能,上下文到 30K 后会被直接截断。建议:
plan_sop 分阶段执行,缓解失忆几乎不需要。GA 会自动更新或在简单提示下完成:
memory_management_sop 自动总结正常。global_mem.txt 是 L2 层(环境事实)存储文件,首次使用时为空。GA 在探索过程中发现环境事实后会自动写入。也可以主动提醒:
请查阅 memory_management_sop.md,将已发现的环境事实写入 L2 层
GA 日常运行和自进化几乎只涉及 memory 和 temp 两个目录,迁移这两个目录即可。
| 内容 | 路径 |
|---|---|
| L1 索引层,每轮启动注入 | ./memory/global_mem_insight.txt |
| L2 事实层,环境配置和用户偏好 | ./memory/global_mem.txt |
| L3 技能层,Skill 存放位置 | ./memory/*.md / ./memory/*.py |
| L4 归档层,历史会话压缩包 | ./memory/L4_raw_sessions/ |
| 记忆管理规范(写入/清理规则) | ./memory/memory_management_sop.md |
| Skill Search 工具目录 | ./memory/skill_search/ |
| 当前会话原始日志 | ./temp/model_responses/ |