跳到主要內容

Anthropic 的秘密與 Peter 的實作:當「靈魂文檔(Soul Doc)」從概念變成了可編輯的 Markdown

這一套以 SOUL.md、HEARTBEAT.md 為核心的檔案架構並不是偶然。

在前一篇文章中提到 OpenClaw prompt 和 md 的解析,而是採用了許多前人的累積與邏輯上把 AI 的「意識」與「記憶」封裝成人類可讀的 Markdown 檔案,初看覺得這種 Unix 哲學的「Everything is a file」很優雅,但實際思考這套系統要跑在生產環境時,體感上出現了一些有趣的摩擦點。

核心是把複雜的向量資料庫(Vector DB)還原成最原始的文字檔。

■ 狀態同步的 Technical Debt:當 Agent 運作頻率變高,頻繁讀寫 Markdown 造成的 IO 競爭與檔案鎖定,在多 Agent 協作時可能變成系統瓶頸。

■ 記憶碎片的清理機制:雖然借鏡了史丹佛的記憶流理論,但現實中長期精華(MEMORY.md)的摘要演算法如果沒寫好,檔案體積膨脹後的 Context Window 成本與遺忘曲線會變得很難調校。

■ 「心跳」的邊際成本:透過 Cron Job 定時讀取 HEARTBEAT.md 讓 Agent 自發行動,這在 0 到 1 的 Side Project 很浪漫,但到了需要規模化的擴張期,這種「主動式」消耗的 Token 成本與實質產出比,目前還看不太出回報率。

同時有朋友提到的 https://soul.md/ 網站,確實很容易讓人誤以為這是一個獨立於 OpenClaw 之外的原始出處。

經過仔細查證,這其實是一個**「概念致敬」與「工程實作」的結合體**。簡單來說:概念來自 Anthropic 的內部洩漏,但你看到的這套 Markdown 檔案架構(SOUL.md 等),確實是 OpenClaw (Peter Steinberger) 的原創發明。

這裡幫你釐清這三者錯綜複雜的關係:
https://soul.md/ 這個網站就是 OpenClaw 的作者 Peter Steinberger 建立的。

如果你看該網頁的最底部,署名是:
Written by Clawd 🦞 ... The original soul document Clawd's instructions @steipete

所以這個網站並不是 OpenClaw 的「前身」或「參考來源」,而是作者為了闡述 OpenClaw 「為什麼要設計 SOUL.md 這個檔案」 所寫的哲學宣言(Manifesto)。

網站開頭提到的:「In December 2025, researchers discovered that Claude... could partially reconstruct an internal document...」

這段話引用的是真實發生的 AI 圈大事件(被稱為 The Claude "Soul Doc" Leak):

事件背景:2025 年底(現實時間線),有研究者(如 Richard Weiss)發現可以透過特定誘導,讓 Claude 吐出它內建的隱藏指令(System Prompt / Constitution)。

術語由來:

Anthropic 的研究員 Amanda Askell 曾在討論中承認,他們內部非正式地將這份塑造 Claude 性格的核心文件稱為 "Soul CoC" (Soul Chain of Command) 或 "Soul Document"。

Peter Steinberger 覺得這個概念太酷了,所以他做了一個工程上的決定:致敬概念:既然 Claude 的靈魂是一份文件,那就在我的 Agent 架構裡,直接建立一個名叫 SOUL.md 的檔案。

他把原本藏在模型權重裡的抽象概念,變成了可以編輯的 Markdown 檔案。架構定型:為了配合這個靈魂檔,他才發展出了你現在看到的整套體系:
  • SOUL.md:性格與自我認知(致敬 Anthropic 的 Soul Doc)。
  • AGENTS.md:行為準則(操作手冊)。
  • HEARTBEAT.md:生理時鐘(主動性機制)。
這點在處理「Local-First」的小型專案或個人助理時特別有感,有一種把 AI 關進籠子裡、隨時可以進去 Debug 性格的掌控感。

或許這種架構追求的不是效能極大化,而是「可解釋性」的極致

但我好奇的是,當專案複雜度提升到需要處理萬等級的狀態變更時,這種「文字檔靈魂」還能撐多久??? 也就是當這樣的模式如果用了 100 人團隊採用超過 180 天之後,會如何維運?

你們會選擇繼續擁抱向量資料庫,還是回歸這種純文字的浪漫?

留言

這個網誌中的熱門文章

[CSS] z-index 在不同瀏覽器繼承問題

今天會討論到這個課題,是因為要實做一個Popup dialog,所以我們希望的結果如下圖。 可是在IE7 卻發生了這樣的情況。 Popup不論怎麼設定z-index都無法浮在最上層,我們看一下html架構發生什麼事情。

[教學] 快快樂樂刪除CodeIgniter index.php

預設的CI網址預設都設定為index.php同一層級,因此所有的程式都必須指定index.php導向才能開始,例如 http://localhost/ci/index.php/welcome/test http://localhost/ci/welcome/test 本文將說明如何將惱人的index.php消除,還你一個漂亮的URL。 設定開始: 接下來說明如何使用rewrite方式將惱人的index.php去除。 rewrite不清楚的人,煩請先自行google 首先要先確定Apache的 mod_rewrite 有 開啟 ,如果沒有開啟請設定好之後重新啟動apache。 接著,在根目錄底下建立一個新檔案,檔名為 .htaccess ,裡面程式碼如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 接著到 application/config/config.php ,開啟檔案修改 $config['index_page'] = ""; 注意: /index.php/$1 要根據你目錄,例如 http://localhost/index.php ,網站根目錄為 /ci/index.php 則要寫成 /ci/index.php/$1 接著至CI目錄下,尋找 config\config.php , 修改一下裡面的檔案,修改如下: $config['index_page'] = ""; 存檔後,如此一來大功告成。 參考資料 官方網站說明

[教學] Mojito 安裝與入門,install mojito for beginner.

mojito ,最近終於從 YDN 對外公開此專案,這個套件主要用於解決前端多重裝置及瀏覽器端的問題,後端服務採取 node.js ,因此使用上必定要先準備以下幾個元素 準備素材 c++ complier git Node.js > 0.4.x NPM > 1.0.x 安裝方式 git clone git://github.com/yahoo/mojito.git cd mojito/source sudo npm install -g . npm install . 以上四個簡單的步驟,就可以把 mojito module 完整安裝到服務器上,接著就可以開始進入 mojito 的世界 使用方式 mojito 提供了完整的 command line 給開發者使用,接著先建立一個基本 hello world 專案,跟著以下步驟完成第一個專案。首先建立一個 mojito application, mojito create app hello cd hello 切換到目錄之後,再接著建立自己的 mojit,這邊的 mojit 就像是一個應用(application)可能會包含許多個獨立網站體,擁有獨立架構的 MVC ,包含內部設定等,詳細資料可以參考官方的 說明 ,建立 mojit mojito create mojit HelloMojit 輸入指令後,會看到顯示結果如下, creating mojit called 'HelloMojit' (using "default" archetype) ✔ mojit: HelloMojit created! ✔ mojito done. 接著修改 application.json 這個 mojit 設定檔案,讓剛才新建立的 hellp application 指定底下有一個 mojit -> HelloMojit ,讓應用可以去執行 mojit controller ,修改如下, [ { "settings": [ "master" ], "appPort": 8666, "specs": { ...