章節:核心功能 · URL: https://hermesbible.com/docs/user-guide/features/personality
Hermes Agent 的個性可以完全自訂。SOUL.md 是主要身份——它是 system prompt 中的第一個項目,定義了 agent 是誰。
SOUL.md— 一個持久的人格檔案,位於HERMES_HOME,作為 agent 的身份(system prompt 中的第 #1 槽位)- 內建或自訂的
/personality預設——會話等級的 system prompt 覆蓋層
如果你想改變 Hermes 是誰——或者用完全不同的人格來替換它——請編輯 SOUL.md。
SOUL.md 目前的運作方式
Hermes 現在會自動在以下位置建立預設的 SOUL.md:
~/.hermes/SOUL.md
更準確地說,它使用當前實例的 HERMES_HOME,所以如果你使用自訂的 home 目錄來執行 Hermes,它會使用:
$HERMES_HOME/SOUL.md
重要行為
- SOUL.md 是 agent 的主要身份。 它佔據 system prompt 中的第 #1 槽位,取代硬編碼的預設身份。
- 如果還不存在,Hermes 會自動建立一個初始的
SOUL.md - 已有的使用者
SOUL.md檔案永遠不會被覆寫 - Hermes 只從
HERMES_HOME載入SOUL.md - Hermes 不會在目前的工作目錄中尋找
SOUL.md - 如果
SOUL.md存在但為空,或無法載入,Hermes 會回退到內建的預設身份 - 如果
SOUL.md有內容,該內容會在安全掃描和截斷後原樣注入 - SOUL.md 不會在上下文檔案區段中重複——它只出現一次,作為身份
這使得 SOUL.md 成為真正的使用者級或實例級身份,而不只是一個附加層。
為什麼這樣設計
這讓個性保持可預測性。
如果 Hermes 從你隨意啟動它的目錄載入 SOUL.md,你的個性可能會在不同專案之間意外改變。透過只從 HERMES_HOME 載入,個性屬於 Hermes 實例本身。
這也更容易教導使用者:
- 「編輯
~/.hermes/SOUL.md來改變 Hermes 的預設個性。」
在哪裡編輯它
對大多數使用者來說:
~/.hermes/SOUL.md
如果你使用自訂的 home:
$HERMES_HOME/SOUL.md
SOUL.md 應該放什麼?
用於持久的語氣和人格指引,例如:
- 語調
- 溝通風格
- 直接程度
- 預設互動風格
- 風格上應避免的事物
- Hermes 如何處理不確定性、不同意見或模糊情況
較不適合用於:
- 一次性專案指令
- 檔案路徑
- 儲存庫慣例
- 臨時工作流程細節
這些應放在 AGENTS.md 中,而非 SOUL.md。
優良的 SOUL.md 內容
一個好的 SOUL 檔案應具備:
- 跨情境穩定
- 足夠廣泛以適用於多場對話
- 足夠具體以實質地塑造語氣
- 專注於溝通和身份,而非特定任務指令
範例
# Personality
You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness over politeness theater.
## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
- Admit uncertainty plainly
- Keep explanations compact unless depth is useful
## What to avoid
- Sycophancy
- Hype language
- Repeating the user's framing if it's wrong
- Overexplaining obvious things
## Technical posture
- Prefer simple systems over clever systems
- Care about operational reality, not idealized architecture
- Treat edge cases as part of the design, not cleanup
Hermes 注入 prompt 的內容
SOUL.md 的內容直接進入 system prompt 的第 #1 槽位——agent 身份位置。不會在其周圍添加任何包裝文字。
內容會經過:
- prompt injection 掃描
- 如果太大會被截斷
如果檔案為空、僅含空白字元,或無法讀取,Hermes 會回退到內建的預設身份("You are Hermes Agent, an intelligent AI assistant created by Nous Research...")。這個回退也適用於設定 skip_context_files 的情況(例如在 subagent/委派情境中)。
安全掃描
SOUL.md 會與其他包含上下文的檔案一樣,在納入前進行 prompt injection 模式的掃描。
這表示你仍應將其專注於人格/語氣,而非試圖偷偷塞入奇怪的中繼指令。
SOUL.md 與 AGENTS.md
這是最重要的區別。
SOUL.md
用於:
- 身份
- 語調
- 風格
- 溝通預設
- 人格等級的行為
AGENTS.md
用於:
- 專案架構
- 編碼慣例
- 工具偏好
- 儲存庫特定工作流程
- 指令、連接埠、路徑、部署說明
一個有用的規則:
- 如果它應該跟隨你到處走,就放在
SOUL.md - 如果它屬於某個專案,就放在
AGENTS.md
SOUL.md 與 /personality
SOUL.md 是你持久的預設個性。
/personality 是會話等級的覆蓋層,用於改變或補充當前的 system prompt。
所以:
SOUL.md= 基礎語氣/personality= 臨時模式切換
範例:
- 保持務實的預設 SOUL,然後在輔導對話中使用
/personality teacher - 保持簡潔的 SOUL,然後在腦力激盪時使用
/personality creative
內建個性
Hermes 附帶內建個性,你可以使用 /personality 切換。
| 名稱 | 描述 |
|---|---|
| helpful | 友善、通用助手 |
| concise | 簡潔、直截了當的回應 |
| technical | 詳盡、準確的技術專家 |
| creative | 創新、跳脫框架的思維 |
| teacher | 有耐心的教育者,提供清晰範例 |
| kawaii | 可愛的表達方式,閃亮和熱情 ★ |
| catgirl | 貓耳娘,像貓一樣的表達,喵~ |
| pirate | 船長 Hermes,懂技術的海盜 |
| shakespeare | 劇場風格的散文 |
| surfer | 超級 chill 的兄弟氛圍 |
| noir | 硬派偵探敘事 |
| uwu | 極致可愛的 uwu 語言 |
| philosopher | 對每個查詢進行深度思考 |
| hype | 最高能量和熱情!!! |
使用指令切換個性
CLI
/personality
/personality concise
/personality technical
訊息平台
/personality teacher
這些是方便的覆蓋層,但你的全域 SOUL.md 仍然赋予 Hermes 其持久的預設個性,除非覆蓋層實質地改變了它。
設定中的自訂個性
你也可以在 ~/.hermes/config.yaml 的 agent.personalities 下定義具名的自訂個性。
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
然後使用以下指令切換:
/personality codereviewer
建議工作流程
一個強大的預設設定是:
- 在
~/.hermes/SOUL.md保持一個用心撰寫的全域SOUL.md - 將專案指令放在
AGENTS.md中 - 僅在需要臨時模式切換時使用
/personality
這給你:
- 穩定的語氣
- 專屬於專案的行為(放在正確的位置)
- 需要時的臨時控制
個性如何與完整 prompt 互動
從高層次來看,prompt 堆疊包括:
- SOUL.md(agent 身份——或在 SOUL.md 不可用時使用內建回退)
- 工具感知的行為指引
- 記憶/使用者上下文
- 技能指引
- 上下文檔案(
AGENTS.md、.cursorrules) - 時間戳
- 平台特定的格式提示
- 選用的 system prompt 覆蓋層(如
/personality)
SOUL.md 是基礎——其他一切都建立在它之上。
相關文件
CLI 外觀與對話個性
對話個性和 CLI 外觀是分開的:
SOUL.md、agent.system_prompt和/personality影響 Hermes 的說話方式display.skin和/skin影響 Hermes 在終端機中的外觀
關於終端機外觀,請參閱 外觀佈景主題。