iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
AI Engineering

用 Hermes Agent 變成企業同事的 30 天系列 第 10

D7 · SOUL.md/USER.md:Agent 的「人格與規矩」文件體系

  • 分享至 

  • xImage
  •  

(系列:《AI 維運實戰:我用 Hermes 把 Agent 變成企業同事的 30 天》)
(主題:將 AI 模型整合進實際系統與產品的工程實踐)

模型穩定、備援可切換之後,我遇到另一種故障:Agent 沒有當機,答案也通順,行為卻慢慢偏掉。

有時它把草案說成正式制度。有時只完成檔案寫入,就宣稱服務已生效。更危險的是,多個部門 Bot 共用同一套規則後,私人資料與公司資料的邊界開始模糊。

這不是再加一句 Prompt 就能解決的問題。我需要的是一套文件架構,讓 Agent 知道自己是誰、服務誰、能做什麼,以及什麼情況絕對不能越線。

────────────────────────────────

SOUL.md 與 USER.md 各管一半

我把兩份文件看成兩個不同問題。

SOUL.md 回答「Agent 應該怎麼做事」。內容包括身份、語氣、工具紀律、安全底線、驗證標準與錯誤處理。例如:先讀原始資料再判斷;外部發送前確認對象與內容;不能把 exit code 0 當成任務完成。

USER.md 回答「正在服務誰」。內容包括使用者角色、長期方向、輸出偏好、授權習慣與資料隔離要求。例如我偏好繁體中文、短句、先給結論;公司 Google 資料必須用公司帳號,不能為了方便改用個人帳號。

兩者若混在一起,後續很難維護。行為規則改一次,可能誤傷使用者偏好;使用者換了工作情境,也可能連安全底線一起被改掉。

文件 核心問題 適合放入
SOUL.md Agent 如何做事 身份、行為、安全、工具、驗證
USER.md Agent 為誰服務 角色、偏好、授權、長期方向
MEMORY.md 過去要記住什麼 穩定決策、長期規則、可重用事實
Skill 某件事如何重複完成 流程、工具步驟、驗收與例外處理

────────────────────────────────

真正的坑:General 不等於所有 Bot

系統只有一個 Agent 時,把規則集中在 General 很方便。當我把它擴成財務、客服、行銷、工程、研究與私人 Bot,問題就出現了。

General 應只保留所有角色都要遵守的共通原則:回應風格、安全、工具紀律、記憶規則,以及「完成必須有證據」。

各 Bot 的 Profile 文件才放部門使命、資料來源、Cron、權限、輸入輸出與交接對象。財務 Bot 可以讀哪些 Sheet,工程 Bot 如何接收案件,私人 Bot 是否能查 Company Brain,都不該塞進 General。

我曾對八份 Bot 文件做唯讀審查,結果不是單純文字不夠漂亮,而是發現三類 P0 矛盾:知識查詢鏈把 Obsidian 與其衍生索引誤當兩套資料庫;文件指定了實際不存在的「業務」與「採購」Bot;私人 Bot 的規則一面要求資料隔離,一面又允許查公司知識庫。

如果直接用 General 覆寫全部 Profile,格式會更整齊,但錯誤也會一次複製到所有部門。這就是 Prompt 集中化最危險的地方:方便同步,也方便擴散事故。

────────────────────────────────

我的優化方法:先審計,不先改檔

這次我沒有看到缺口就立刻重寫。我先把三個月的實際工作模式,對照現有文件,再按風險分類。

  • P0:會造成資料外洩、越權、錯誤交接或錯誤執行,必須先處理。
  • P1:角色、資料源、輸出或驗收不清,會讓日常工作不穩定。
  • P2:語氣、重複文字、維護資訊等品質問題,可在架構穩定後整理。

審查報告先標示為草案,提出修正方向,不把建議冒充已核准制度。等 owner、權限與交接關係確認後,才分別修改 General 與各 Profile。

這個順序很重要。Agent 文件不是文案,而是執行中的控制面。修改一段「可以直接發送」或「可以讀取公司資料」,實際效果接近改權限設定,不能只追求文字看起來完整。

────────────────────────────────

寫入成功仍不算完成

文件修改後,我的驗收分成三層。

  1. 檔案層:確認內容寫到正確的 General 或 Profile,沒有把部門規則放錯位置。
  2. 載入層:確認新 session 或服務真的載入新文件,而不是仍使用舊上下文。
  3. 行為層:用代表性任務測試資料隔離、外部動作確認與完成證據,觀察 Agent 是否真的照規則執行。

最容易漏掉的是第二層。磁碟上的 SOUL.md 已更新,不代表正在執行的 Agent 已經換規則。若沒有重新載入與行為測試,「已修好」只是對檔案狀態的描述。

────────────────────────────────

今天的結論

Agent 像不像同事,不只取決於模型能力,也取決於規矩是否清楚、角色是否分層、權限是否可驗證。

SOUL.md 定義做事方式,USER.md 定義服務對象,General 保存共通底線,Bot Profile 保存專屬職責。不要用一份全域文件覆蓋所有角色,也不要把短期任務、部門流程與永久原則全部混在一起。

我最大的教訓是:Prompt 文件一旦能影響工具、資料與外部動作,它就不是人格裝飾,而是企業 Agent 的治理設定。先盤點實際行為,按 P0/P1/P2 提案,再寫入、載入、測試,才不會把「更一致」做成「一起出錯」。

下一篇 D8:規矩分層之後,還需要真正隔離的執行空間。我會拆解 Hermes Profile,說清楚 Profile、Bot 與聊天室為什麼不是同一件事。


上一篇
D3 · 接上訊息平台:把 Agent 變成會回訊息的員工
下一篇
D8 · 從對話到系統:Profile 到底是什麼
系列文
用 Hermes Agent 變成企業同事的 30 天11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言