Communitygithub.com

AnsirStudio/self-distiller

將零散素材中關於「這個人本身」的資訊,蒸餾成一套結構化、可重用、可追溯的 markdown 身份層,並產生一個精簡的個人檔案卡片。靈感來自 Karpathy 的 LLM Wiki 與 honcho 專案。

self-distiller 是什麼?

這是一個專門用於 AI Agent 的「個人身份蒸餾」技能。它的核心功能是從聊天記錄、文章、影片、工作文件等各種 raw 素材中,提取關於使用者本人的原子化事實(顯式或推斷),然後按照嚴格的寫作規範寫入一個結構化的 markdown 身份層。該身份層由五個文件組成:`observations.md`(真相之源,只追加的事實流)、`identity.md`(穩定身份與性格)、`preferences.md`(偏好,帶適用域標記)、`now.md`(當前關注,易變)、以及 `profile.md`(約150 token 的壓縮名片)。這個技能的獨特之處在於它嚴格區分了「蒸餾(寫入)」與「查詢(問答)」,它只負責生成和維護這份結構化的個人檔案,而非直接回答關於使用者的問題。此外,它設有「人審門控」機制,所有推斷的個性特質與敏感資訊在寫入永久文件前,都需要經過使用者本人確認,確保身份資訊的準確與安全。此技能支援任何需要維護長期、結構化使用者身份的 AI Agent 生態系統。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add AnsirStudio/self-distiller

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

self-distiller —— 個人身份蒸餾操作手冊

把零散素材裡「關於這個人本身」的資訊,蒸餾成一套結構化、可重用、可追溯的 markdown 身份層。

它只做一件事:蒸餾(寫入)。 輸入 = raw/ 裡的素材;輸出 = 寫進 self/ 五件套。它不負責查詢/問答——「調用這份畫像回答問題」是另一回事(由別的 skill 或專案的 CLAUDE.md 規範),不在本手冊內。 它不會自己定時執行。 整理/合併是一個被調用時執行的操作(見 §3)。要不要定期跑,由排程或專案策略決定,不是本 skill 的職責。 語言: 用使用者偏好的語言書寫。隱私: 身份資訊敏感,所在倉庫應私有。 獨立性: 只管「關於使用者本人」的事實;不知道也不依賴其它 skill。

0. 首次執行:預檢 + 搭目錄(冪等)

缺什麼補什麼,已存在跳過。從 templates/ 拷模板:

<專案根目錄>/
├── self/                 # 身份層(本 skill 寫入)
│   ├── observations.md   # 真相之源:只追加的原子事實流
│   ├── identity.md       # 穩定身份與性格
│   ├── preferences.md    # 偏好(每條標適用域)
│   ├── now.md            # 當前關注(會被新值取代)
│   └── profile.md        # 壓縮名片(≈150 token,出口)
└── raw/                  # 素材來源(讀取用,完整樹,缺則建)
    ├── inbox/            # 新素材先落這;蒸餾後清空
    ├── chats/ articles/ research/ videos/ papers/ work/ ideas/ design/   # research/=搜尋/深度調研報告
    └── attachment/       # 圖片/媒體(被 md 引用)

自我事實可來自任何來源(一段對話、一條影片、一份舊方案、一批設計收藏),不止 chats。

1. 工作流:DISTILL(蒸餾)

每次蒸餾按此順序:

  1. 掃 raw/(尤其 inbox/),逐個來源處理。
  2. 判斷相關性:這條素材有沒有「關於這個人本身」的資訊?沒有就跳過(那是純客觀知識,不歸本 skill)。
  3. 抽取原子事實(核心,見 §2):從內容裡析出關於此人的顯式事實 + 可推斷的性格/偏好。
  4. 寫入 observations.md:每條原子事實只追加,帶來源 + 日期 + explicit/inferred 標記。絕不改寫舊條目。
  5. 人審門控(見 §4):把「建議進 identity/preferences/now 的條目」列給本人確認,通過後才固化。
  6. 路由(見 §3):確認後的事實歸併進對應頁(identity / preferences / now)。
  7. 更新 profile.md:重新生成壓縮名片(≈150 token)。
  8. 記一筆:在 observations.md 頂部或專案 log.md 寫明本次新增/更新了什麼。
  9. inbox/ 清空 = 本批已蒸餾(注意:已蒸餾 ≠ 已核實,verified 由本人蓋章)。

整理(合併)是同一工作流的「批次版」:被調用「整理一下我的畫像」時,跳過 1–2,直接對 observations.md 全量做 §3 的歸併、去重、用新值取代舊值(now)、過期項標註不刪。

2. 怎麼蒸餾:從素材分析一個人(核心)

這是本 skill 的靈魂。讀一段內容時,按下面的方法把「這個人是誰」析出來。

2.1 兩類事實

  • explicit(顯式):本人直接說的。例:「我是服裝設計專業」 → [explicit] 學服裝設計。
  • inferred(推斷):從言行模式推出的性格/價值觀/審美,必須寫出依據 + confidence。例:多次主動收集低飽和配色 → [inferred, conf=medium] 審美偏好低飽和/莫蘭迪,依據:反覆收藏此類配色。

2.2 抽取寫作規範

  • 原子且自包含:一條只說一件事,單獨讀也懂(「此人對這次面試緊張」,不是「很緊張」)。
  • 絕對日期(2026年6月16日,不是「昨天」)。
  • 正確歸屬:是本人的就標本人;引用別人的別記成他自己的。
  • 帶來源:來源:[[raw/chats/...]]。
  • 按出處去重:寫入前 grep 來源,同一來源同一事實只記一次。

2.3 分析維度(從素材裡找這些訊號)

讀內容時,主動在這幾個維度上找線索(詳表見 reference.md):

  • 身份背景:職業、教育、經歷、所在地。
  • 價值觀/原則:他在乎什麼、反感什麼、做選擇的依據。
  • 性格特質:如何反應、表達風格、情緒模式(例:思維發散、追求掌控、謹慎/果斷)。
  • 思維方式:怎麼推理、怎麼做決定、容易卡在哪。
  • 偏好(標適用域):溝通 / 工作 / 學習 / 設計審美。
  • 當前關注:在忙什麼、近期目標(→ now,易變)。
  • 審美傾向:反覆被什麼吸引(配色/版式/風格)。

2.4 護欄

  • 別過度推斷:證據薄的性格判斷標 conf=low 或先不寫,寧缺勿編。
  • 絕不編造:沒有就留 ___,不腦補。
  • 敏感內容走 §4 人審,不靜默寫入。

3. 路由:哪條事實進哪頁

  • observations.md —— 全部原子事實都先進這裡(真相之源,只追加)。
  • identity.md —— 穩定的身份與性格(evergreen)。
  • preferences.md —— 偏好,每條標適用域(通用/程式碼/寫作/設計審美/溝通/學習)。
  • now.md —— 當前關注(volatile,新值取代舊值,舊的移「曾經在忙」,不刪)。
  • profile.md —— 從上面三頁蒸餾出的壓縮名片,只挑穩定且對回答有用的,≈150 token。

4. 人審門控(比知識庫更嚴)

身份資訊敏感、最容易寫歪:抽出的事實(尤其 inferred 性格判斷)先列給本人確認再固化進四頁;一切頁 verified: false,只有本人能改 true。

5. 跨 agent 使用(不屬於蒸餾,僅說明出口)

profile.md 是出口:複製進任意 agent 的自訂指令即可。控量原則:永遠只帶 profile(L0);按場景再加相關偏好(L1);完整 observations 只在需要時檢索,不整體注入(L2)。真正的「問答式調用這份畫像」是另一個 skill 的事,不在本手冊。


  • 詳細分析維度、事實分類、frontmatter 規範 → 見 reference.md
  • 五件套空白模板 → 見 templates/
  • 一個完整蒸餾範例(對話 → 抽取 → 歸檔)→ 見 examples/

相關技能