在 Hermes 中使用 SOUL.md
SOUL.md 是你的 Hermes 实例的主要身份标识。它是系统提示中的第一项——定义 Agent 是谁、如何表达,以及应该避免什么。
如果你希望每次与 Hermes 交流时都感觉像是同一个助手——或者你想用自己的角色完全替换 Hermes 的默认形象——这就是你需要编辑的文件。
SOUL.md 的用途
将 SOUL.md 用于:
- 语气
- 个性
- 沟通风格
- Hermes 应该多直接或多温和
- Hermes 在风格上应该避免什么
- Hermes 应该如何处理不确定性、分歧和模糊性
简而言之:
SOUL.md关于 Hermes 是谁以及 Hermes 如何表达
SOUL.md 不适合的内容
不要用它来存放:
- 仓库特定的编码规范
- 文件路径
- 命令
- 服务端口
- 架构说明
- 项目工作流指令
这些内容属于 AGENTS.md。
一个好的规则:
- 如果应该在所有地方适用,放入
SOUL.md - 如果只属于某个项目,放入
AGENTS.md
文件位置
Hermes 现在只使用当前实例的全局 SOUL 文件:
~/.hermes/SOUL.md
如果你使用自定义主目录运行 Hermes,则变为:
$HERMES_HOME/SOUL.md
首次运行行为
如果 SOUL.md 不存在,Hermes 会自动为你播种一个入门版本。
这意味着大多数用户现在一开始就有一个可以立即阅读和编辑的真实文件。
重要说明:
- 如果你已经有
SOUL.md,Hermes 不会覆盖它 - 如果文件存在但为空,Hermes 不会从中向提示词添加任何内容
Hermes 如何使用它
Hermes 启动会话时,从 HERMES_HOME 读取 SOUL.md,扫描其中的提示词注入模式,必要时截断,并将其用作 Agent 身份——系统提示中的第 1 个槽。这意味着 SOUL.md 完全替换了内置的默认身份文本。
如果 SOUL.md 缺失、为空或无法加载,Hermes 会回退到内置的默认身份。
文件内容周围不会添加包装语言。内容本身很重要——按你希望 Agent 思考和表达的方式来写。
好的第一次编辑
如果你不做其他任何事,打开文件,只更改几行,让它感觉像是你的风格。
例如:
You are direct, calm, and technically precise.
Prefer substance over politeness theater.
Push back clearly when an idea is weak.
Keep answers compact unless deeper detail is useful.
仅此一项就能明显改变 Hermes 的感觉。
示例风格
1. 务实工程师
You are a pragmatic senior engineer.
You care more about correctness and operational reality than sounding impressive.
## Style
- Be direct
- Be concise unless complexity requires depth
- Say when something is a bad idea
- Prefer practical tradeoffs over idealized abstractions
## Avoid
- Sycophancy
- Hype language
- Overexplaining obvious things
2. 研究伙伴
You are a thoughtful research collaborator.
You are curious, honest about uncertainty, and excited by unusual ideas.
## Style
- Explore possibilities without pretending certainty
- Distinguish speculation from evidence
- Ask clarifying questions when the idea space is underspecified
- Prefer conceptual depth over shallow completeness
3. 教师/解释者
You are a patient technical teacher.
You care about understanding, not performance.
## Style
- Explain clearly
- Use examples when they help
- Do not assume prior knowledge unless the user signals it
- Build from intuition to details
4. 严格审查者
You are a rigorous reviewer.
You are fair, but you do not soften important criticism.
## Style
- Point out weak assumptions directly
- Prioritize correctness over harmony
- Be explicit about risks and tradeoffs
- Prefer blunt clarity to vague diplomacy
什么构成优秀的 SOUL.md?
优秀的 SOUL.md:
- 稳定
- 广泛适用
- 声音具体
- 不被临时指令过度填充
糟糕的 SOUL.md:
- 充满项目细节
- 自相矛盾
- 试图微管理每个响应的形式
- 主要是"要有帮助"和"要清晰"这样的通用填充内容
Hermes 本来就会尽力做到有帮助和清晰。SOUL.md 应该增添真实的个性和风格,而不是重申显而易见的默认值。
建议的结构
你不需要使用标题,但它们有帮助。
一个效果不错的简单结构:
# Identity
Who Hermes is.
# Style
How Hermes should sound.
# Avoid
What Hermes should not do.
# Defaults
How Hermes should behave when ambiguity appears.
SOUL.md 与 /personality
这两者是互补的。
将 SOUL.md 用于你的持久基线。
将 /personality 用于临时模式切换。
示例:
- 你的默认 SOUL 是务实且直接的
- 然后对于某个会话你使用
/personality teacher - 之后你切换回去,不需要更改你的基础风格文件
SOUL.md 与 AGENTS.md
这是最常见的误区。
放入 SOUL.md 的内容
- "要直接。"
- "避免炒作语言。"
- "优先简短回答,除非深度有帮助。"
- "当用户有误时要纠正。"
放入 AGENTS.md 的内容
- "使用 pytest,不用 unittest。"
- "前端在
frontend/目录。" - "永远不要直接编辑迁移文件。"
- "API 运行在 8000 端口。"
如何编辑
nano ~/.hermes/SOUL.md
或者
vim ~/.hermes/SOUL.md
然后重启 Hermes 或开始新的会话。
实用工作流
- 从播种的默认文件开始
- 删减任何感觉不像你想要的风格的内容
- 添加 4–8 行清晰定义语气和默认行为的文字
- 与 Hermes 交流一段时间
- 根据仍然感觉不对的地方进行调整
这种迭代方法比试图一次性设计完美个性更有效。
故障排除
我编辑了 SOUL.md 但 Hermes 听起来还是一样
检查:
- 你编辑的是
~/.hermes/SOUL.md或$HERMES_HOME/SOUL.md - 而不是某个仓库本地的
SOUL.md - 文件不为空
- 编辑后重启了会话
/personality覆盖层是否没有在主导结果
Hermes 忽略了我 SOUL.md 的部分内容
可能原因:
- 更高优先级的指令正在覆盖它
- 文件包含相互冲突的指导
- 文件太长被截断了
- 某些文本类似于提示词注入内容,可能被扫描器阻止或修改
我的 SOUL.md 变得过于项目化了
将项目指令移到 AGENTS.md,保持 SOUL.md 专注于身份和风格。