AI范兒 · 教程實測
養過小龍蝦的人都知道,一只蝦干所有活,遲早上下文亂成一鍋粥。
性格模糊,記憶混雜,寫文章和寫代碼的偏好攪在一起。解決辦法很直接:多養幾只,各干各的。
小龍蝦也能多開,但如果你是手動配置,還是有點復雜的,新手基本勸退。
愛馬仕(Hermes)配置起來簡單得多。
我現在的狀態是這樣的:
我現在有 4 匹馬
4 個完全獨立的愛馬仕,分別接了不同的聊天平臺和不同的大模型,各干各的活。
![]()
在 QQ 里給 writer 發消息,得到寫作風格的回復。在飛書里給 news 發消息,給我當天的 AI 新聞。
互不干擾,記憶完全隔離。
![]()
圖:Hermes QQ 機器人的回復
怎么做到的?三條命令的事。
三條命令建三匹馬
愛馬仕把"多開"這件事做成了一個叫 Profile 的功能。一條命令創建,創建完自動變成獨立的命令。
第一匹 writer,用來寫作,我們從空白創建:
hermes profile create writer
![]()
這樣創建完,就相當于新裝了一個 Hermes,啥配置也沒有,包括 API Key,聊天工具這些,都得重新配置。(它已經提示你接下來要做什么了)
有意思的是,接下來就不要用 hermes 這個命令了,直接用剛才創建的那個 profile 的名字。
writer setup
這種方式雖然能創建一個很干凈的分身,但全部要重新配置還是有點麻煩。
一般情況下,我們已經配置好了一個默認的,直接復制默認的配置會省事有很多,推薦用 --clone,這里建第二匹用來寫代碼的馬 coder:
hermes profile create coder --clone
config、API Key、SOUL.md 全從默認 Profile 復制過來,直接能用。(自己按照的 Skills 不會復制)
注意:--clone 會復制 .env 里的 API Key,但通過 OAuth 網頁登錄的認證(比如 OpenAI、Anthropic、GitHub Copilot)不會自動復制過來。
需要手動把 auth.json 復制到新 Profile 目錄下:
cp ~/.hermes/auth.json ~/.hermes/profiles/coder/
如果你想要一個“完全繼承主力經驗”的助手,推薦使用 --clone-all。它會把所有記憶、會話記錄、甚至已學到的 Skills 全部打包帶走。
每匹馬創建完都用 setup 來配置 API key 和用到的聊天工具(具體方法就跟初次安裝的時候一樣):
coder setup
第三匹用來抓每天的 AI 新聞的 news,繼續用這種方式:
hermes profile create news --clone
news setup
搞定。
hermes profile list 看一眼全家福。
![]()
圖:hermes profile list
有一個安全細節:如果你不小心給兩匹馬配了同一個 Bot Token,第二個 Gateway 會直接拒絕啟動,告訴你跟哪個 Profile 沖突了。
寫 SOUL.md,給每匹馬一個身份
如果只是改了個名字但不改 SOUL.md,你得到的不是一支團隊,是三個一模一樣的克隆人。
每個 Profile 有自己的 SOUL.md,用來定義它是誰。
我給三匹馬分別寫了這些:
Profile SOUL.md 內容 writer 你是一個專業的中文寫作助手。 風格簡潔有力,擅長公眾號文章。回復永遠用中文。 coder 你是一個高級程序員。 回復簡潔直接,代碼優先,解釋最少。偏好 Python。 news 你是一個 AI 行業新聞分析師。 每次回復都帶信息來源,用中文,語氣客觀。
寫完之后分別問它們同一個問題,回復風格完全不一樣。
怎么用、怎么認
用起來很簡單:終端里直接用 Profile 名字當命令(writer、coder、news),比如:
writer
![]()
如果已經接了聊天平臺,直接在對應的飛書、QQ、企業微信里給 Bot 發消息就行,跟平時聊天一樣。
怎么知道自己在跟哪匹馬說話?三個地方可以確認:
提示符:進入 CLI 后,提示符會顯示 Profile 名字,比如 writer ? 而不是默認的 ?。
啟動 Banner:每次啟動會在頂部顯示 Profile: writer,連同模型名和工具列表一起。
hermes profile:隨時跑一下 /profile 這個命令,顯示當前 Profile 名字、路徑、模型、Gateway 狀態。
![]()
圖:hermes profile 命令輸出的截圖位
記憶隔離了嗎?有坑
按照官方文檔的說法,--clone 只復制配置,不復制記憶。每個 Profile 的記憶應該是完全獨立的。
但實測下來,有兩個坑。
第一,--clone 實際上會把 MEMORY.md 和 USER.md 也復制過來。也就是說,你 clone 出來的新馬,默認就繼承了主力馬的全部記憶。
第二,就算你手動刪掉了新 Profile 的記憶文件,它在找不到信息的時候,會跨目錄去讀 default Profile 的文件。隔離并不徹底。
這個問題我已經給官方提了 Issue,等后續修復。目前的建議是:clone 之后手動清一下記憶,然后盡量避免在對話中引導它去搜索其他目錄的內容。
rm ~/.hermes/profiles/coder/memories/*
坦率說,這個 bug 不影響日常使用。大部分時候你跟 writer 聊寫作,跟 coder 聊代碼,它們不會主動去翻別的 Profile 的文件。
但如果你對隔離性要求很高,目前要留個心眼。
底層原理
愛馬仕的 Profile 原理非常簡單:改一個環境變量。
當你運行 writer 的時候,它實際上是把 HERMES_HOME 指向 ~/.hermes/profiles/writer/,然后啟動愛馬仕。
代碼里有 119 個文件通過同一個函數解析路徑,所以改了這一個變量,config、記憶、sessions、skills、gateway、日志全部自動隔離。
~/.hermes/ default HERMES_HOME 默認值 profiles/writer/ writer chat 指向這里 profiles/coder/ coder chat 指向這里 profiles/news/ news chat 指向這里 每個目錄包含:config.yaml · .env · SOUL.md · memories/ · skills/ · sessions/ 改一個環境變量 = 切換整個運行環境
小龍蝦的多 Agent 走的是另一條路:同一個進程內部通過 binding 配置路由,Agent 之間可以共享通信。靈活但復雜。
愛馬仕的做法更簡單:每個 Profile 一個獨立目錄,配置和記憶默認分開。
不過目前隔離還不夠徹底,文件系統層面沒有做訪問限制,這個前面提過了。
讓每匹馬知道隊友是誰
養了幾匹馬之后,怎么讓它們知道彼此的分工?
直接寫進項目目錄的 AGENTS.md 里就行。這個文件愛馬仕會自動讀取,不管你用哪匹馬在這個目錄下工作,它都能看到。
比如在你的項目目錄下放一個 AGENTS.md,內容像這樣:
# 團隊分工
writer:負責所有文字輸出,收到研究結果后寫成文章
coder:負責代碼實現和調試,只關注技術問題
news:負責 AI 行業情報搜集,每天早上自動跑一次
# 協作流程
news 搜完情報 → writer 寫成文章 → coder 驗證代碼示例
![]()
這里要理解一下 SOUL.md 和 AGENTS.md 的區別:
SOUL.md跟著 Profile 走,定義的是"我是誰"。不管你在哪個目錄下工作,這匹馬的性格都不變。
AGENTS.md跟著項目目錄走,定義的是"這個項目怎么做"。同一匹馬在不同項目里可以遵守不同的規則。
所以身份寫 SOUL.md,項目規則和團隊分工寫 AGENTS.md。不用額外搞別的文件。
日常維護
幾個用得上的命令:
命令 干什么的 hermes profile list 查看所有 Profile hermes profile use writer 切換默認 Profile hermes profile show writer 查看單個 Profile 詳情 hermes profile export writer 導出備份(記憶和 Skills 全打包) hermes profile import xxx.tar.gz 從備份恢復 hermes profile rename news research 重命名(命令別名自動更新) hermes profile delete writer 刪除(需確認)
hermes profile use writer 之后,直接輸入 hermes 就進入 writer,不用每次打 writer。
更新的時候不用一個個更新。hermes update 拉一次代碼,所有 Profile 自動同步新的 bundled Skills。
導出備份建議定期做。換電腦的時候 export 加 import 就能無縫遷移。
一臺電腦,幾匹馬,各干各的活,互不干擾。
配置五分鐘,省下的是每天重復切換上下文的時間。
對了,還發現一個小 bug:Hermes 新上了 dashboard 功能,但不開了多少個 profile,ashboard 只能開一個,因為它的地址始終是http://127.0.0.1:9119。
你會養幾匹馬?分別讓它們干什么?評論區聊聊你的分工方案覺得有用 → 點個??在看轉給還不知道的朋友點個贊 告訴我你看完了關注「AI范兒」,下次更新第一時間收到
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.