DEV Community

Henry Lin
Henry Lin

Posted on

Hermes Agent 06. 技能、记忆与上下文文件

06. 技能、记忆与上下文文件

如果说工具决定 Hermes “能不能做”,那么技能、记忆和上下文文件决定它“会不会持续做对”。

本章目标

  • 理解 skill、memory、context file 的边界
  • 学会查找、安装和使用 skill
  • 学会用 AGENTS.mdSOUL.md 提升稳定性
  • 理解 prompt caching 与上下文注入的约束

适用读者

  • 想长期高效使用 Hermes 的所有用户
  • 想把重复流程沉淀下来的进阶用户
  • 开发者

前置条件

  • 已理解 CLI 和工具系统

核心概念

Skill 是“怎么做”

Skill 是按需加载的流程知识。它更像一份可执行的说明书,而不是一条记忆条目。

适合做成 skill 的内容:

  • 固定工作流
  • 多步骤操作规范
  • 领域知识流程
  • 常见排错套路

Memory 是“是什么”

Memory 适合保存事实信息,例如:

  • 你的偏好
  • 环境事实
  • 常用项目位置
  • 团队约定

经验法则很简单:

  • 可复用流程放 skill
  • 长期事实放 memory

Context File 是“默认注入的背景”

Hermes 会自动读取某些上下文文件,例如:

  • AGENTS.md
  • SOUL.md
  • .cursor/*

这些文件会直接影响每次会话的系统上下文,所以质量和长度都很重要。

操作步骤

查看和使用 skill

最常用的方式:

/skills
/skills search docker
/skills browse
Enter fullscreen mode Exit fullscreen mode

技能安装后通常会直接变成 slash command,例如:

/plan 设计一个 REST API
/ascii-art Make a banner
Enter fullscreen mode Exit fullscreen mode

CLI 外也可以:

hermes skills list
hermes skills install official/research/arxiv
Enter fullscreen mode Exit fullscreen mode

自己创建 skill

用户自定义 skill 放在:

~/.hermes/skills/
Enter fullscreen mode Exit fullscreen mode

典型结构:

~/.hermes/skills/my-category/my-skill/
└── SKILL.md
Enter fullscreen mode Exit fullscreen mode

如果 skill 还需要参考文件、模板或脚本,也可以加 references/templates/scripts/

使用 memory

Memory 用于跨会话保存信息。你可以直接要求 Hermes 记住某个事实,例如:

记住:我们的 CI 用 GitHub Actions,主工作流文件是 deploy.yml。
Enter fullscreen mode Exit fullscreen mode

写好 AGENTS.md

对于代码项目,AGENTS.md 非常重要。它适合写:

  • 架构约定
  • 测试方式
  • 代码规范
  • 禁止事项
  • 特定目录行为

它不是 README 的替代,而是“给 agent 的项目说明书”。

区分 SOUL.mdAGENTS.md

  • SOUL.md:定义 Hermes 的长期人格和表达倾向
  • AGENTS.md:定义当前项目或工作区的约束

一个偏“说话风格”,一个偏“做事规则”。

常见场景

场景 1:重复做同一种工作流

如果某个任务总要 5 步以上,而且你会重复做,优先考虑做成 skill,而不是每次重写 prompt。

场景 2:希望 Hermes 一直遵守项目约定

优先写 AGENTS.md,而不是每次聊天都重新说一遍。

场景 3:希望 Hermes 长期记住偏好

例如“回答尽量简洁”“默认用 pytest”“某仓库路径固定在某位置”,这些更适合进 memory。

常见问题与排错

为什么安装了 skill,当前会话却没看到

有些 skill 需要新会话才能稳定进入 prompt。必要时重开会话或 /reset

为什么不建议把 AGENTS.md 写得特别长

因为它会被反复注入上下文,太长会拖慢会话、增加 token 消耗,并降低重点信息密度。

为什么 memory 改了但当前会话感觉没变

memory 是跨会话生效的长期上下文。很多情况下写入后要到下一个会话,系统提示里才会以稳定方式体现出来。

什么是 prompt cache 不该被打破

Hermes 很依赖稳定的系统提示前缀来命中缓存。频繁改系统提示、技能载入方式、上下文文件或模型,会降低缓存命中率,提高成本和延迟。

本章总结

工具解决“做事”,skill、memory 和 context file 解决“长期稳定地做对”。高质量的长期使用,离不开这三者的正确分工。

下一步建议

继续看 MCP 与扩展能力,学习如何把 Hermes 接到外部系统。

Top comments (0)