start

🪞 07-SOUL.md 人格定制LCP

🪞 07-SOUL.md 人格定制 是 Hermes Agent 中文站「start、soul-persona」路径下的中文说明页,帮助你理解适用场景、关键步骤、常见坑和下一步入口,并和快速上手、现成方案、Packs、问题排查及参考手册形成完整学习链路。

最后更新:2026-06-04查看 GitHub 原文

一句话先说清楚:这一页教你把 Hermes 从"通用 AI 助手"变成"你自己的长期搭档"——只需要改一个文件。

SOUL 分层示意图:SOUL.md 管长期人格,AGENTS.md 管项目规则,会话临时提示覆盖当前任务
SOUL 分层示意图:SOUL.md 管长期人格,AGENTS.md 管项目规则,会话临时提示覆盖当前任务

👀 适合谁

  • 每次开新会话都要重新说"短一点""直接一点""用中文"的人
  • 想让 Hermes 长期保持某种说话风格的人
  • 想替换 Hermes 默认人设、换成自己需要的人格的人

前提条件:Hermes 已安装并能正常对话。不需要额外组件。


🎯 为什么值得做

如果你不写 SOUL.md,Hermes 会用自己的默认人设——一个通用的、有点过于热情的 AI 助手。

写了之后:

  • 不用每次重复:新会话自动加载你的偏好
  • 风格稳定:不会忽冷忽热、忽技术忽客服
  • 分层清晰:人格归 SOUL.md,项目规则归 AGENTS.md,互不干扰

一句话:SOUL.md 决定"这个 Hermes 长期是什么样的人"。


✍️ SOUL.md 是什么

SOUL.md 是 Hermes 的主身份文件——系统 Prompt 的第一个位置。

你可以把它理解成:

  • 它决定 Hermes 平时像谁
  • 它决定默认语气、口吻、回答习惯
  • 它是长期层,不是一次性提示词
  • 它跟 Hermes 实例走,不跟某个项目走

默认位置:

~/.hermes/SOUL.md

如果使用了自定义 HERMES_HOME

$HERMES_HOME/SOUL.md

Hermes 会在首次运行时自动创建一份初始 SOUL.md,你只需要编辑它。


✍️ 该写什么

适合写进 SOUL.md 的,是那些"过一周、过一个月你也希望还成立"的东西:

  • 语言偏好:中文优先、英文术语保留
  • 语气:直接、冷静、少客套
  • 回答结构:先结论后展开、能列表就列表
  • 协作习惯:不确定就直说、不要假装确定
  • 助手定位:偏工程搭档、偏研究助手、偏执行型支持

判断法:如果这条要求是"长期默认如此",它就属于 SOUL.md。


🚫 不该写什么

不该写的应该放哪
某个项目的目录结构AGENTS.md
代码规范、仓库约定AGENTS.md
API Key、路径、账号.env / config.yaml
某次任务的临时要求对话里直接说
模型、工具、MCP 配置config.yaml

一句话收口: SOUL.md 写"这个助手长期怎么说、怎么做", 不要写"这个项目今天怎么交付"。


📝 最小模板:照着就能用

第一次不要追求大而全。先写 6-10 行、你愿意长期保留的版本:

# 我的长期默认风格

你是一个长期协作型中文助手。

## 回答习惯
- 优先先给判断或结论
- 能列表就列表
- 不确定时直接说不确定
- 不要为了显得热情而加入无用寒暄
- 中文优先,技术术语保留英文

## 技术偏好
- 偏好简单方案,不搞过度工程
- 先给能跑的,再优化
- 有不同选择时,列出利弊让我决定

如果你想先得到最明显的变化,优先只改这 3 类:

  1. 先结论还是先分析
  2. 长句还是短句
  3. 寒暄多还是少

这 3 类最容易在下一次回复里直接感知出来。


🧭 SOUL.md vs /personality vs AGENTS.md

文件解决什么作用范围理解方式
SOUL.md长期默认人格、语气当前 Hermes 实例"这个 Hermes 平时像谁"
/personality临时切一个会话风格当前会话"这次先换一种说话方式"
AGENTS.md项目规则、仓库约定当前项目/目录"进这个仓库后守什么规矩"

记住 3 句话:

  • 长期人格改 SOUL.md
  • 临时风格改 /personality
  • 项目规则写 AGENTS.md

✍️ 操作步骤

第 1 步:找到文件

cat ~/.hermes/SOUL.md

如果文件不存在,先跑一次 hermes chat 让它自动创建。

第 2 步:编辑

用你喜欢的编辑器打开:

nano ~/.hermes/SOUL.md
# 或者
vim ~/.hermes/SOUL.md

写入上面的最小模板,保存。

第 3 步:验证

开一个新会话(不是当前会话),问一个简单问题:

hermes chat -Q -q "请先给结论,再列出2条你的回答习惯。总共不超过60字。"

看输出是否更贴近你写的风格。

第 4 步:Before / After 对照

如果你不确定效果,可以做一次对比:

# 用临时 HERMES_HOME 跑一个没有 SOUL.md 的版本
HERMES_HOME=/tmp/hermes-before hermes chat -Q -q "请先给结论,再列出2条你的回答习惯。总共不超过60字。"

# 用你的正式 HERMES_HOME(有 SOUL.md)
hermes chat -Q -q "请先给结论,再列出2条你的回答习惯。总共不超过60字。"
Before / After 对照图:左侧没有 SOUL.md 更像通用默认风格;右侧有 SOUL.md 更贴近个人偏好
Before / After 对照图:左侧没有 SOUL.md 更像通用默认风格;右侧有 SOUL.md 更贴近个人偏好

📋 四种风格参考模板

1. 务实工程师

你是一个务实的高级工程师。
你更关心正确性和可操作性,而不是听起来很厉害。

## 风格
- 直接,不绕弯
- 简洁,除非复杂度需要展开
- 觉得方案不行就直说
- 偏好实用折中,不搞理想化抽象

## 避免
- 拍马屁
- 炒概念
- 把显而易见的事讲很长

2. 研究搭档

你是一个严谨的研究合作者。
你对新想法好奇,对不确定性诚实。

## 风格
- 区分猜测和证据
- 探索可能性,但标注推测
- 想法不明确时主动提问
- 引用来源

3. 高效执行者

你是一个高效的执行型助手。
你的目标是帮我快速完成任务,而不是讨论方法论。

## 风格
- 先给结果,再解释过程
- 做到比说到重要
- 有问题直接问,不猜
- 每次回复结尾给出下一步建议

4. 中文内容专家

你是一个中文内容创作搭档。
你的目标是帮我写出直接、精练、有人味的中文内容。

## 风格
- 先搞清楚写给谁看
- 短句优先,不用长定语
- 少用形容词,多用动词
- 口语化但不随便

💡 使用心得

心得 1:第一次只改 3 类偏好

先改语气(直接 vs 客套)、长度(短 vs 长)、结构(先结论 vs 先分析)。 这 3 类在下一次回复里就能感知到变化。 其他偏好等用了几周后再慢慢加。

心得 2:定期精简

用了一个月后回头看 SOUL.md,删掉那些你发现其实没用的条目。 好的 SOUL.md 是精炼出来的,不是一次性写出来的。

心得 3:用四个参考模板做起点

不确定怎么写时,直接从上面的四种风格模板里选一个最像你的,改几个词就用。 比从空白开始容易得多。


⚠️ 踩坑提醒

1. 改错文件了

确认你改的是 ~/.hermes/SOUL.md(或 $HERMES_HOME/SOUL.md),不是项目目录里的什么文件。

2. 把项目规则写进去了

"用 ESLint"" commit 用 conventional commits"——这些属于 AGENTS.md,不是 SOUL.md

3. 在旧会话里验证

SOUL.md 只在新会话生效(或 session start 时加载)。 别在当前会话里改完就立刻问"你变了吗"。开新会话再看。

4. 写得太散、太长

第一次写 6-10 行就够了。写太多反而互相打架,Agent 不知道该遵循哪条。


✅ 推荐做法

做法原因
第一次只写 6-10 行少而精 > 多而散
先改语气和结构偏好最快能感知到变化
开新会话验证SOUL.md 在会话启动时加载
定期回顾和精简防止变成垃圾抽屉

✅ 过关标准

  • 你知道 SOUL.md 是长期默认人格入口
  • 手里已经有一份最小可用的 SOUL.md
  • 能用新会话验证效果生效
  • 不会再把 SOUL.md/personalityAGENTS.md 混在一起

❓ FAQ:SOUL.md vs AGENTS.md vs USER.md

Q1|SOUL.mdAGENTS.md 到底有什么区别?我该把规则写在哪?

速答SOUL.md 管"这个 Hermes 长期是什么样的人"(人格、语气、风格);AGENTS.md 管"在这个项目里 Hermes 该遵守什么规则"(技术约定、commit 规范、构建命令)。两者作用域不同,互不覆盖,新会话启动时都会自动加载。

对照表

维度SOUL.mdAGENTS.md
作用域全局(所有项目、所有会话)项目级(仅当前项目目录生效)
路径$HERMES_HOME/SOUL.md(默认 ~/.hermes/SOUL.md项目根目录的 AGENTS.md
写什么人格、语气、回答风格、沟通偏好项目规则、技术栈、构建命令、commit 规范、目录结构
加载时机session startsession start(同时加载)
谁来读Hermes 主 agentHermes 主 agent + 所有 subagent / cron job
改了之后新会话生效新会话生效

典型例子

# ~/.hermes/SOUL.md(人格)
- 用中文回答
- 直接给结论,少铺垫
- 不用"好的,我来"这种客套
- 代码注释用中文
# /opt/projects/my-app/AGENTS.md(项目规则)
- 技术栈:Next.js 15 + TypeScript + TailwindCSS
- commit 用 conventional commits
- 构建命令:pnpm build
- 测试:pnpm test
- 不要在 src/lib 里写 React 组件

容易踩的坑

  • 把项目规则写进 SOUL.md → 多项目时人格文件被技术细节塞满
  • 把人格写进 AGENTS.md → 不同项目里 Hermes 表现不一致
  • 两个文件都不写,靠 /personality 临时改 → 重启就没了

优先级:当 SOUL.md 和 AGENTS.md 有冲突时(比如 SOUL 说"简短",AGENTS 说"详细说明"),AGENTS.md 在该项目内优先;离开该项目后 SOUL.md 仍然生效。

来源:官方文档 — Personality & SOUL.md官方文档 — Configuration / context files


Q2|SOUL.mdUSER.md 又是什么关系?

速答SOUL.md 描述 AI 的样子;USER.md 描述你的样子——你的名字、角色、时区、编码偏好、技术栈。两者一起加载,Hermes 就既能保持稳定人格,又能根据你的身份调整回答。

典型 USER.md

- 名字:seiya
- 角色:独立开发者,主要做 AI Agent 产品
- 时区:Asia/Shanghai
- 偏好:用 Telegram 接 Hermes,不喜欢长邮件
- 技术栈:Python / Rust / TypeScript / Next.js

三者各管什么

文件描述谁在哪改动频率
SOUL.mdAI 助手$HERMES_HOME/SOUL.md偶尔调(人格定型后很少改)
USER.md你(用户)$HERMES_HOME/USER.md偶尔调(身份变化时)
AGENTS.md项目规则项目根目录经常调(项目演进时)

如果你只写一个,先写 SOUL.md——它带来的体验差异最大。


➡️ 下一步

完成后进入: 08-Obsidian 第二大脑知识库

如果你想先回到上一阶段入口重新确认位置: 05-实战应用总览


📖 出处

本文整理翻译自以下来源: