第三十二章:Profile 多環境管理 — ~/.hermes/profiles/ 隔離設定、技能、記憶、排程
各位終極駭客、系統架構師們,歡迎來到 Hermes Agent 的「深水核心區」!🤿
在前面的章節,我們教你換大腦(模型)、換手腳(技能),但如果你對管家的「記憶海馬迴」或「消化系統」不滿意呢?
Hermes 的架構設計極度模組化,就像是一台組裝電腦。如果你覺得內建的記憶系統(Memory Component)太笨,或者是你想自己寫一個全新的工具模組(Tool Component),你可以直接寫一段 Python 程式碼,把原廠的零件「拔下來」,換上你自己做的超強魔改版!
🧩 Component 的逆襲:什麼都能換
在 Hermes 的底層世界裡,萬物皆 Component。最常被魔改的元件有這三個:
1. 記憶元件 (Memory Component)
預設的記憶系統可能只是把對話存在本地的檔案裡。如果你想把記憶存到雲端的 Vector Database(向量資料庫,例如 Pinecone 或 Chroma),你只需要實作一個新的 Memory Component,然後告訴系統:「以後管家的記憶都存到我這裡!」
2. 工具元件 (Tool Component)
覺得內建的網頁搜尋工具不夠力?你可以自己刻一個 Tool 元件,接上你自己寫的超級爬蟲程式。一旦註冊成功,管家就能在聊天中自由呼叫你寫的爬蟲。
3. 供應商元件 (Provider Component)
上一章教的 custom_providers.yaml 只能接「相容 OpenAI」的 API。如果某家新創公司發明了一種全新的 API 格式,你就可以直接寫一個 Provider Component 來對接它!
🛠️ 指令教學:在 Python 中進行器官移植
由於自訂 Component 涉及到底層的 Python 程式碼,這次的練習我們不只在終端機下指令,而是要看一點點 Python 的「概念碼」。
介紹指令:使用 Python SDK 註冊自訂 Component
💡 應用練習例子
練習 1:實作一個假的「金魚腦」記憶元件 想像你寫了一段 Python 程式,讓管家只能記住最後一句話(純粹為了搞笑):
# 概念演練 (在你的 Python 腳本中):
from hermes_agent import Hermes, MemoryComponent
class GoldfishMemory(MemoryComponent):
def save(self, message):
self.memory = message # 永遠只存最新的一句,蓋掉前面的
# 註冊你的魔改零件
agent = Hermes()
agent.register_component("memory", GoldfishMemory())幽默小提示:千萬不要真的把它用在生產環境,否則你的管家會變成真正的金魚,三秒鐘就忘記你是誰!
練習 2:註冊一個自製的「講笑話」工具元件 你想給管家加點幽默感?
# 概念演練:
from hermes_agent import ToolComponent
class JokeTool(ToolComponent):
name = "tell_joke"
def execute(self, topic):
return f"這是一個關於 {topic} 的冷笑話..."
agent.register_component("tool", JokeTool())只要短短幾行程式碼,你的管家就多了一個講冷笑話的神級天賦。
練習 3:透過 CLI 載入你的魔改腳本 寫好了 Python 魔改腳本(假設叫 my_hack.py),要怎麼讓終端機的 Hermes 吃到它呢?通常你可以透過參數指定載入自訂腳本:
# 假設你的自訂腳本會自動註冊元件,然後執行任務
hermes run --load-script my_hack.py "請幫我講一個關於工程師的笑話"看著管家順利呼叫你剛剛用 Python 寫的冷笑話工具,這就是全端工程師的浪漫啊!
🎉 太硬核了!你現在已經觸及了 Hermes 的靈魂深處!
學會自訂 Component,代表這個世界上已經沒有任何框架能限制你了。你是這台機器的絕對主宰!
不過,隨著我們把系統魔改得越來越強大,安全性問題也浮出水面。如果管家變聰明了,它會不會自己偷偷上網把你賣了?下一章《安全與隔離機制》,也就是本手冊的最後一章,我們將教你如何為這頭猛獸套上韁繩!我們第三十三章見!🛡️