你知道換一個 AI 工具,60 天訓練就歸零嗎?
一份共享檔讓三家 AI 共用同一版規則。
想像一下。你花兩個月幫 Claude Code 建好記憶系統、設好偏好、調好安全規則。某天想試試 GitHub Copilot CLI 或 Google 的 Antigravity CLI(agy)。打開一看。60 天的心血,歸零了?
它對你一無所知。
偏好?不知道。專案結構?沒概念。安全底線?也沒有。就像你在 A 辦公室辛辛苦苦手寫了一整本員工手冊。結果 B 辦公室的新人連影印本都沒拿到。從頭開始摸索。之前花的時間全被吃掉了。你以為自己在「試新工具」。其實是在重新訓練一個失憶的助手。
問題很明確:怎麼讓同一份 AI Agent 記憶跟規則在多個平台之間共享?不是複製貼上三份各自維護。而是一份核心、三家引用。就這樣。就像連鎖店的經營手冊。每間分店各有店長。但開店 SOP 永遠只有一版。共享之後,規則維護成本降了約 70%。
我目前同時跑 Claude Code、Copilot CLI、agy 三個工具。以下是實際在用的做法。
跨平台記憶同步是一種 AI Agent 設定管理策略,透過將核心規則與記憶集中在一份共享檔案(如 AGENTS.md),再由各平台的入口設定檔分別引用,達成「維護一處、同步多家」的效果。

三家平台的入口設定檔
檔名不同、語法不同、放的位置也不同。
2025 到 2026 年之間,三家都推出了設定檔機制。用途相同:用 Markdown 告訴 AI「你是誰、該怎麼做」。但檔名不同。放的位置不同。語法也不同。光搞清楚三家的差異就用掉我一整個下午。
把它想成三間不同的辦公室。每間辦公室門口都有一塊布告欄。你要在上面貼「公司規範」讓裡面的人看到。問題是,三塊布告欄的格式規定不一樣。
Claude Code:CLAUDE.md
入口檔案是 CLAUDE.md。放在專案根目錄。支援 @import 引用其他檔案。你可以把它想成一本活頁夾。封面頁寫 Claude 專屬的東西。內頁用 @import 夾進共用的規則手冊:
# CLAUDE.md
@import AGENTS.md
## Claude 專屬設定
- Skill 路由:memory/fact_sop_dispatch.yml
- 記憶索引:memory/SKILLS_INDEX.md
還有第二層:使用者層級的 ~/.claude/CLAUDE.md。作用於所有專案。等於你個人的跨專案預設值。不管開哪個專案都會先讀到這一層。
GitHub Copilot CLI:copilot-instructions.md
入口設定是 .github/copilot-instructions.md。放在 .github/ 目錄下。標準 Markdown 語法。不支援 @import。這是三家裡最大的限制。後面會講怎麼繞過去:
# Copilot Instructions
## 語言
- 使用台灣繁體中文
- 禁用簡體字與中國用語
## 安全規則
- rm 禁止,改用 mv + _DELETE_ 前綴
- API Key 嚴禁 hardcode
全域設定在 ~/.config/github-copilot/instructions.md。
Antigravity CLI(agy):GEMINI.md
Google 的 agy 繼承 Gemini CLI 配置基礎。入口檔是 GEMINI.md。放在專案根目錄。跟 Claude Code 一樣支援 @import。可以引用 AGENTS.md 跟共用 memory 檔:
# GEMINI.md
@import AGENTS.md
## agy 專屬設定
- 預設使用 Google Search 作為搜尋後端
全域設定在 ~/.gemini/GEMINI.md。
三家差異比較
Hook 系統是三家最大差異。
| 面向 | Claude Code | Copilot CLI | Antigravity CLI(agy) |
|---|---|---|---|
| 入口檔案 | CLAUDE.md |
.github/copilot-instructions.md |
GEMINI.md |
| 全域設定 | ~/.claude/CLAUDE.md |
~/.config/github-copilot/instructions.md |
~/.gemini/GEMINI.md |
| @import 支援 | 原生支援 | 不支援 | 支援(透過 GEMINI.md) |
| 記憶持久化 | 支援(memory 檔案系統) | 有限(依 session) | 有限 |
| Hook 系統 | PreToolUse / PostToolUse | 無 | 無 |
| 規則檔格式 | Markdown + YAML | 純 Markdown | Markdown |
| 專案層級 rules | .claude/rules/*.md |
無 | 無 |
最大差異在 Hook 系統。只有 Claude Code 有。這也是我拿它當主力的原因。@import 方面 Claude Code 跟 agy 都支援。Copilot 不行。但核心規則三家都能共享。後面會講怎麼繞過去。
AGENTS.md:三家共用的員工守則
六章節結構,共用與專屬徹底分離。
整套做法的心臟就是一份 AGENTS.md。你可以把它想成公司的員工守則。不管你在哪間辦公室上班,翻開都是同一本。
AGENTS.md 裡該放什麼?
我自己的 AGENTS.md 拆成六個章節。每一節對應一個關注點:
## §1 身份
契約者資訊、時區、語言偏好
## §2 語言與風格
語言偏好、禁用詞、AI 回應風格
## §3 安全規則
- rm 禁止,改用 mv + _DELETE_ 前綴
- API Key 嚴禁 hardcode,只走環境變數
- 敏感檔案清單(.env, credentials.json 等)
- git push --force 到 main/master 禁止
- 不可逆操作前必須確認
## §4 記憶系統路由
- 事實層:memory/fact.yml
- 情節層:memory/episodic.jsonl
- 暫存層:memory/scratchpad.md
## §5 路徑速查
VAULT、工作區、模板庫的絕對路徑
## §6 任務完成規範
每次任務結束時該做的事:記憶寫回、狀態更新
重點是:這份檔案裡不放任何平台專屬的東西。Hook 規則不放。Skill 路由不放。Google Search 設定不放。它是純粹的「跨平台共識」。像 DNA 一樣。決定了所有平台上的 AI 助手長出來的基本樣貌。
然後三家入口設定檔各自引用:
AGENTS.md(共享核心,規則+記憶路由)
├── CLAUDE.md → @import AGENTS.md + Claude 專屬設定
├── GEMINI.md → @import AGENTS.md + agy 專屬設定
└── .github/copilot-instructions.md → 內嵌 AGENTS.md 精華版

Copilot 不支援 @import 怎麼辦
這是最常被問的問題。兩條路。
第一條簡單粗暴:把 AGENTS.md 最重要的規則(語言、安全、路徑)直接寫死在 copilot-instructions.md 裡。大約 40-60 行 就能涵蓋 90% 場景。想成「員工守則的口袋摘要版」。帶著走就好。
第二條稍微花功夫:寫一個 shell script。AGENTS.md 更新時自動萃取核心規則覆寫過去:
#!/bin/bash
# sync-agents-to-copilot.sh
# 從 AGENTS.md 萃取核心規則,同步到 Copilot 設定
SOURCE="AGENTS.md"
TARGET=".github/copilot-instructions.md"
echo "# Copilot Instructions (auto-synced from AGENTS.md)" > "$TARGET"
echo "" >> "$TARGET"
# 萃取 §1-§3(身份、語言、安全)
sed -n '/^## §1/,/^## §4/p' "$SOURCE" | head -n -1 >> "$TARGET"
echo "" >> "$TARGET"
echo "# 完整規則見 AGENTS.md" >> "$TARGET"
我兩種混著用。平常靠精華版撐著。想到的時候跑一次同步腳本。老實說大概兩三週才跑一次。但也沒出過什麼大問題。
你也可以更進一步。把同步腳本掛到 git pre-commit hook:
# .git/hooks/pre-commit 裡加一行
bash sync-agents-to-copilot.sh
git add .github/copilot-instructions.md
這樣每次 commit 都自動同步。完全不用記。
記憶層怎麼處理:不是所有回憶都該搬家
只有事實層需要跨平台同步。
規則層好處理。記憶層就頭痛了。
直覺上你會想「全部同步不就好了」。不行。把記憶同步想成搬家打包行李:有些東西每個家都需要(身份證、護照)。有些東西只在特定房子才用得到(那把只配這扇門的鑰匙)。硬把 A 屋的鑰匙帶去 B 屋。只是讓鑰匙圈越來越重。找對的鑰匙反而更慢。
| 記憶層 | 像什麼 | 內容 | 跨平台同步 | 做法 |
|---|---|---|---|---|
| 事實層 | 護照/身份證 | 使用者偏好、工具設定、專案清單 | 需要 | AGENTS.md 內嵌路徑,各平台自行讀取 |
| 情節層 | 日記本 | 過去的決策紀錄、錯誤經驗 | 不需要 | 僅 Claude Code 使用 |
| 暫存層 | 便利貼 | 當前任務的臨時筆記 | 不需要 | 各平台各自管理 |
事實層的偏好(語言用繁體中文、rm 禁止、時區 GMT+8)跨平台都需要。這沒爭議。但情節層跟暫存層?各平台的對話脈絡完全不同。硬要同步只會讓 AI 更混亂。我試過一次。agy 讀到 Claude Code 的決策紀錄後,反而開始用錯誤的上下文做判斷。就像你把 A 公司的會議紀錄丟給 B 公司的新人看。他不但用不上,還會被裡面的內部黑話搞得一頭霧水。後來就放棄了。
實際做法很單純:在 AGENTS.md 裡放記憶檔的路徑指引就好:
## §4 記憶系統
- 正式記憶:WORKSPACE/memory/
- 事實層:memory/fact.yml(偏好、設定、工具索引)
- 情節層:memory/episodic.jsonl(決策、失敗、里程碑)
- 暫存層:memory/scratchpad.md(當前任務筆記)
Claude Code 完整使用這三層。就像一個熟悉你全部習慣的老員工。Copilot 跟 agy 看到路徑後,至少能讀 fact.yml 裡的偏好設定。等於拿到了一份新人入職須知。基本盤穩住了。真的。不是每家都能像 Claude Code 一樣深度整合記憶。但偏好同步到位,語言正確率從約 60% 拉到接近 95%。日常使用就不會踩到「怎麼又變簡體字」這種雷。
記憶系統的完整設計,參考AI Agent 記憶系統設計:三層架構實作。
平台專屬設定怎麼處理
各寫各的入口檔,別污染共享層。
有些設定只在特定平台有意義。硬塞進共享層只會製造噪音。就像把 Mac 的快捷鍵教學塞進 Windows 使用手冊。越幫越忙。
Claude Code 專屬: Hook 守門系統(前一篇有講)、Skill 路由引擎(fact_sop_dispatch.yml)、.claude/rules/*.md。這三個佔了我 CLAUDE.md 的大半篇幅。但其他平台完全用不到。
Copilot CLI 專屬: GitHub 整合設定(PR 模板、issue 格式)、程式碼補全偏好。就這些。很精簡。
agy 專屬: Google 生態系整合(Search、Drive)、多模態處理設定。
原則很簡單:各自寫在自己的入口設定檔裡。別污染共享層。員工守則只放所有人都該遵守的。部門規定各部門自己貼。
從零開始的遷移步驟
五步,約一到兩小時搞定。
如果你現在只用一家,想開始做跨平台同步,照這個順序走:
Step 1:盤點現有規則(約 20 分鐘)
打開你目前的入口設定檔。不管是 CLAUDE.md、copilot-instructions.md 還是 GEMINI.md。把裡面的規則分成兩堆:
- 共用堆:語言偏好、安全規則、路徑定義、記憶路由、任務完成規範
- 專屬堆:Hook 設定、Skill 路由、平台特定整合
Step 2:建立 AGENTS.md
把共用堆的內容搬進 AGENTS.md。建議用 §1 §2 §3 分章節。方便日後同步腳本抓取特定區段。
Step 3:主力工具掛上 @import
主力工具的入口檔加上 @import AGENTS.md。把原本寫在入口檔裡的共用規則刪掉。只留專屬設定。跑幾個日常任務驗證行為不變。
Step 4:接上第二家
挑一個次要工具。建立它的設定檔。引用同一份 AGENTS.md。兩家平台跑同一類任務。確認行為一致(語言對不對、安全規則有沒有生效)。
Step 5:穩定後再接第三家
先跑穩兩家。確認同步機制沒問題。第三家以後再說。貪多嚼不爛。
常見踩坑
4 個 高頻踩坑,先知道先閃。
幾個我自己或讀者踩過的坑。先列出來省你除錯時間:
坑 1:AGENTS.md 放了平台專屬語法。 例如在 AGENTS.md 裡寫了 Claude Code 的 Hook 規則。agy 讀到後不認得。整段被當成純文字忽略。不會報錯。但你以為生效其實沒有。解法:共享層只放純 Markdown + 自然語言規則。任何平台專屬語法留在各自入口檔。
坑 2:Copilot 精華版太久沒更新。 改了 AGENTS.md 的安全規則。忘記同步到 copilot-instructions.md。結果呢?Copilot 用的還是舊版規則。某次操作差點踩到底線。解法:掛 git hook 自動同步。或者至少在 AGENTS.md 頂部加一行 # Last updated: YYYY-MM-DD。每次改完掃一眼 Copilot 那邊的日期對不對。
坑 3:記憶路徑用了相對路徑。 memory/fact.yml 在 Claude Code 裡沒問題。因為它會自動從專案根目錄算。但 Copilot 跟 agy 未必。如果你的記憶檔在工作區以外(比方 iCloud 路徑),務必用絕對路徑。
坑 4:三家同時改 AGENTS.md。 不同平台的 session 裡都叫 AI「幫我更新 AGENTS.md」。結果互相覆蓋。設定被打碎。解法:只在一個平台(我選 Claude Code)修改 AGENTS.md。其他平台只讀不寫。很簡單。
FAQ
Q: 三家平台同時用,不會很混亂嗎?
A: 不會。各有強項。分開用就好。Claude Code 處理多步驟的重活(文獻管線、SOP 路由之類的)。Copilot 負責日常程式碼補全。它這塊很快。agy 拿來做需要即時搜尋的查詢。核心規則共享。使用場景各自歸位。就像廚房裡的菜刀、水果刀、麵包刀。各有各的用途。不會因為三把刀同時存在就打架。
Q: AGENTS.md 改了之後,AI 會不會搞混新舊版本?
A: 不會。三家工具都是每次執行重新讀取設定檔。沒有快取舊版的問題。改了 AGENTS.md。下一次呼叫就讀到最新版。
Q: 如果三家平台的某個規則需要不同設定怎麼辦?
A: 共通的留在 AGENTS.md。差異的寫在各自的入口檔。入口檔的設定會覆蓋或補充 AGENTS.md。例如 Claude Code 的 Hook 規則只寫在 CLAUDE.md 跟 settings.json 裡。不影響其他兩家。
Q: Copilot 和 agy 真的能讀懂 YAML 格式的記憶檔嗎?
A: 可以。YAML 是結構化純文字。三家 AI 都能解析。不過 Copilot 跟 agy 主動讀取外部檔案的能力不如 Claude Code。實務上你可能需要在對話裡明確說「請讀取 memory/fact.yml」。別期待它們自動載入。
Q: 跨平台同步最大的安全風險是什麼?
A: 最常見的迷思是「全部同步最安全」。其實剛好相反。情節層跟暫存層包含任務脈絡。硬同步到不同平台會讓 AI 用錯誤的上下文做判斷。只同步該同步的(事實層)。其餘各管各的。
Q: 這套做法適用於 Cursor、Windsurf 等其他 AI 工具嗎?
A: 核心概念通用。Cursor 有 .cursor/rules 目錄。Windsurf 有 .windsurfrules。只要工具能讀專案目錄下的設定檔,「共享層 + 專屬層」這套策略就搬得過去。差別只在入口檔名稱跟語法。邏輯完全一樣。
想更深入?
想看整套系統怎麼兜起來的?從CLAUDE.md 設計哲學開始。接著記憶系統跟Skill 路由引擎。三篇串完你就有全貌了。
另外我整理了一份《Claude Code 快速上手速查表》。安裝、CLAUDE.md 配置、記憶系統基礎、常用指令,一頁搞定。
常見問題
Claude Code、Copilot CLI、agy 的設定檔到底放哪裡?
三家入口檔位置完全不同。Claude Code 是專案根目錄的 `CLAUDE.md`,Copilot CLI 是 `.github/copilot-instructions.md`,agy 是專案根目錄的 `GEMINI.md`。全域設定也各有自己的路徑:`~/.claude/CLAUDE.md`、`~/.config/github-copilot/instructions.md`、`~/.gemini/GEMINI.md`。搞清楚三家路徑差異,是跨平台同步的第一步。
Copilot CLI 不支援 @import,怎麼共享 AGENTS.md?
兩條路。簡單做法:把 AGENTS.md 最關鍵的 40-60 行規則直接寫死在 `copilot-instructions.md` 裡,涵蓋約 90% 場景。進階做法:寫一支 shell script 從 AGENTS.md 自動萃取核心章節覆寫過去,還可以掛進 git pre-commit hook 讓每次 commit 自動同步。兩種混著用最實際。
記憶系統需要三層全部跨平台同步嗎?
不需要。只有事實層(使用者偏好、工具設定)需要跨平台同步。情節層跟暫存層的上下文跟特定平台綁定,硬同步反而讓 AI 用錯誤的脈絡做判斷。文章作者實測過把 Claude Code 的決策紀錄同步到 agy,結果 agy 反而開始誤判。只同步該同步的就好。
這套做法對 Cursor、Windsurf 等其他 AI 工具也有效嗎?
核心邏輯完全通用。Cursor 有 `.cursor/rules` 目錄,Windsurf 有 `.windsurfrules`。只要工具能讀專案目錄下的 Markdown 設定檔,「共享層 + 專屬層」這套分離策略就搬得過去。差別只在入口檔名跟語法,架構思路一模一樣。
AGENTS.md 更新後,其他平台會不會讀到舊版?
不會。Claude Code、Copilot CLI、agy 三家都是每次執行時重新讀取設定檔,沒有快取舊版的機制。改了 AGENTS.md,下一次呼叫就是最新版。唯一風險是 Copilot 那邊的精華版忘記同步,所以建議在 AGENTS.md 頂部加一行 Last updated 日期方便核對。
三家平台同時改 AGENTS.md 會不會衝突?
會。不同平台 session 裡同時叫 AI 更新 AGENTS.md,很容易互相覆蓋導致設定被打碎。建議只在一個主力平台(例如 Claude Code)修改 AGENTS.md,其他平台一律只讀不寫。規則維護成本能降低大約 70%。