技術深度解析

砍掉 80%,同時長到兩萬字:
Anthropic 把 system prompt 往兩個相反方向調

同一家公司、同一世代模型,Claude Code 正在拿掉範例與硬約束,claude.ai 的那份卻又長又硬。這不是自相矛盾,而是兩種使用情境逼出來的兩套答案——搞懂差在哪,你才知道自己的 prompt 該往哪邊調。

Anthropic 官方公開 僅 claude.ai 與行動 App 不含 Claude Code
−80%
Claude Code
同期間,claude.ai 的 system prompt 維持在約 22,000 字元,六個世代快照沒有出現同量級縮減。
Overview

摘要

摘要

發布日期:2026-08-19

2026 年 7 月,Anthropic 的 Claude Code 團隊在一場公開對談中確認:Claude Code 的 system prompt 縮減了約 80%。被拿掉的主要是「範例」與「不要做 X」這類硬約束,理由是新一代模型被這些東西限制住了。同一時期,Anthropic 公開的 claude.ai 網頁與行動 App 的 system prompt 卻沒有變短——本文實測從 Claude 4.6 到 Opus 5 的六個官方快照,長度在 19,000 至 24,500 字元之間盤整,且內容充滿 NEVERMUST NOT 等硬約束,正是 Claude Code 拿掉的那種寫法。兩者不矛盾:Claude Code 面對的是帶著明確任務、有能力驗收的工程師,claude.ai 面對的是任意陌生人,包含處於情緒危機中的人與未成年人。該給脈絡還是該給約束,取決於你能不能預先知道使用者要什麼、以及猜錯的代價由誰承擔。另需注意:網路上流傳的「從 800 tokens 砍到 164 tokens」查無出處,一手逐字稿中並無任何絕對數字,只有 80% 這個比例可引用。

The Cut

Claude Code:砍掉 80%

一手來源是 2026 年 7 月 21 日公開的一份逐字稿。Simon Willison 在 AI Engineer World's Fair 主持了一場爐邊對談,對象是 Anthropic Claude Code 團隊的 Cat Wu 與 Thariq Shihipar。這個數字是在對談中由兩位團隊成員親口確認的,不是二手推測。

Simon:你今早提到 Claude Code 的 system prompt 因為 Claude Fable 縮減了 80%。可以多講一點嗎?你們拿掉了哪些東西?

Thariq:不只是 Fable,Opus 4.8 也是,未來的模型也會。我們現在不同模型有不同的 system prompt。我們看到的一個模式是,我們過去把 Claude 約束得太緊了。

來源:simonwillison.net/2026-07-21 逐字稿

這裡有個容易被漏掉的前提:這個縮減並非全面套用。Cat Wu 在同一場對談中補充,只有最前沿的模型享有這個減量,較舊的模型仍然跑完整版的 system prompt。換句話說,「system prompt 應該要短」不是一條普世規則,而是綁定模型能力的工程決策。

Cat:我們現在每個模型有不同的 system prompt,正是為了這個原因。只有我們最前沿的模型有這個 80% 的 token 減少,較舊的模型還是跑完整版的 system prompt。

來源:simonwillison.net/2026-07-21 逐字稿

What Was Removed

被砍掉的到底是什麼

一、範例

這是最反直覺的一項。「給模型範例」幾乎是所有 prompt engineering 教學的第一課,Simon 當場也說這打破了他的心智模型——他一直是這條建議的推廣者。

Thariq:早期大概 Opus 4 那一代的模型需要大量範例,而移除範例極為有幫助,因為它比我們給的範例更有創意

Simon:這很有意思,因為我給人的頭號 prompting 建議就是「給它範例」。如果這不再成立,那我的 prompting 模型有點被打破了。

來源:simonwillison.net/2026-07-21 逐字稿

機制其實很單純:範例同時是示範,也是天花板。當你給模型三個範例,你等於在說「我要的東西長這樣」,於是模型的輸出會向這三個樣本收斂。對能力不足的模型,這個收斂是救命的;對能力已經超過你範例的模型,這個收斂是損失。

二、「不要做 X」

第二項被砍的是負面指令。Thariq 指出,硬約束對 Claude 而言是「非常強的衝動」,而問題出在衝突:system prompt 裡的禁令會跟後面使用者自己的指令打架。

Thariq:我們做的另一件事,是試著給它更多脈絡、更少「不要做這個」的指令,因為那對 Claude 是很強的衝動,尤其當它跟後面的使用者指令衝突時,會讓 Claude 極度混亂——「我這個 skill 說要這樣,但 system prompt 說要那樣。」所以我們的方向是:更少硬約束、更多脈絡、整體更少指令。

來源:simonwillison.net/2026-07-21 逐字稿

對照一下你自己的 CLAUDE.md 或專案規則檔,這一條大概是最容易立刻套用的:如果裡面有一長串「不要用 X」「絕對不能 Y」,而你又常常在對話裡要求例外,那你正在製造 Thariq 描述的那種衝突。

三、順帶一提,OpenAI 也給了同方向的建議

這不是 Anthropic 一家的觀察。Simon 在同一篇文章中引用了 OpenAI 針對 GPT-5.6 的 prompting 最佳實踐,內容方向一致:移除重複的指令與範例、簡化工具描述,可同時改善任務表現與 token 效率。OpenAI 給出的內部評測數字是評分提升約 10–15%、總 token 減少 41–66%、成本下降 33–67%。

這組數字的性質

上述 10–15%/41–66%/33–67% 是 OpenAI 自行公布的內部 coding agent 評測結果,屬於廠商自述,未經第三方複驗。引用時建議連同「這是廠商自己的內部評測」一起講。

The Other Direction

claude.ai:完全相反的方向

如果「越新的模型越不需要指令」是普世趨勢,那 Anthropic 自家消費端產品的 system prompt 應該也在變短。實際上並沒有。

Anthropic 在官方 release notes 長期公開 claude.ai 網頁介面與 iOS/Android App 的核心 system prompt。這裡有個關鍵的制度變化讓比較變得乾淨:從 Claude 4.6 世代起,每個 model ID 對應單一固定快照,不再有「同一個模型多個日期版本」。於是 4.6 之後的六個模型,每個剛好就是一份、可以直接比長度。

模型快照日期字元數相對長度
Claude Opus 4.62026-02-0519,036
Claude Sonnet 4.62026-02-1719,416
Claude Opus 4.72026-04-1624,457
Claude Opus 4.82026-05-2823,089
Claude Fable 52026-06-0922,448
Claude Opus 52026-07-2422,375

量測方法(2026-08-19)

資料取自官方 release notes 全文的純文字版本,逐一切分各模型區段後計算字元數(含空白,已移除 Markdown 跳脫符號)。這是字元數不是 token 數,且文件中的連結語法會使數字略為膨脹,因此只適合做同一份文件內的相對比較,不能直接跟 Claude Code 的 token 數字對照。上表只收 4.6 世代之後的模型,因為更早的模型有多個日期版本,加總比較會失真。

結論很清楚:半年間、跨越四個世代,claude.ai 的 system prompt 在兩萬字元上下盤整,沒有出現任何接近 80% 的縮減。最長的一份出現在 Opus 4.7(2026-04),之後小幅回落,如此而已。

拉長來看更明顯。Claude 3 世代的 Haiku 3 系統提示只有 736 字元、Opus 3 是 2,142 字元。也就是說,這份 prompt 在兩年多間長了大約三十倍。

而且不只是長,是硬

更關鍵的是內容風格。Claude Code 拿掉的正是「不要做 X」,但 claude.ai 這份裡,這種寫法是骨幹。以下摘自 Claude Opus 5 的官方快照(2026-07-24):

<critical_child_safety_instructions> Claude NEVER creates romantic or sexual content involving or directed at minors, nor content that facilitates grooming... For content directed at a minor, Claude MUST NOT supply unstated assumptions that make a request seem safer than it was as written... </critical_child_safety_instructions>

摘自 Claude Opus 5 system prompt,2026-07-24 官方快照。原文為英文,此處為節錄。

整份文件裡,這類負面約束(does notavoidsshould notdoesn't 等)出現數十次,涵蓋武器、惡意程式、心理健康、政治立場、未成年人保護等。這正是 Claude Code 那邊被判定為「會造成混亂」而移除的寫法。

Why

為什麼這兩件事不矛盾

把兩邊並排,差異不在模型,而在使用者是誰、以及猜錯的代價由誰承擔

Claude Code — 做減法

明確任務

使用者是誰:帶著具體目標而來的工程師,通常已經知道自己要什麼。

意圖清楚嗎:清楚。任務就寫在 prompt 裡,還有整個 codebase 當脈絡。

猜錯了怎麼辦:使用者當場看得到,可以中斷、改 prompt、退版。

所以:硬約束的成本高於效益——它會跟使用者當下的指令打架。給脈絡就好。

claude.ai — 做加法

任意陌生人

使用者是誰:任何人。包含未成年人、包含正處於情緒危機的人、包含蓄意試探的人。

意圖清楚嗎:不清楚,而且可能刻意偽裝。

猜錯了怎麼辦:沒有人在旁邊驗收,傷害直接落在使用者身上且不可逆。

所以:就算硬約束會犧牲一部分彈性,也必須留著。

Claude Code 的減法之所以成立,是因為它有一個 claude.ai 沒有的東西:一個知道自己要什麼、而且看得到結果的人坐在前面。那個人本身就是最好的約束機制,所以 system prompt 可以退位、把判斷權交還給模型。

claude.ai 沒有這個條件。它的 system prompt 必須同時當說明書、當安全網、當危機處理流程——而且是對一個你完全不認識的人。這種情況下,「更少指令、更多脈絡」不是選項。

The Rule

可以帶走的判準:90% 正確的指令 × 100% 的場次

整場對談裡最實用的一段,是 Cat Wu 講他們重新審視 Claude Code system prompt 時用的檢查方式。這條判準跟模型世代無關,套在任何 prompt 上都成立:

Cat:當你在對這些模型下 prompt 時,你應該永遠自問:我給的這條指令有沒有例外情況?我們回頭審視 Claude Code system prompt 裡所有指令時,發現有幾條是——對,這句話 90% 的情況成立,但確實有 10% 的情況不成立。

你應該去想這個 prompt 會被一個善意的人以哪些方式誤解,藉此理解模型可能怎麼解讀它,然後把 prompt 放軟,讓它真的 100% 正確——因為你是 100% 的場次都把這個 prompt 餵給模型。

來源:simonwillison.net/2026-07-21 逐字稿

他們舉的實例是「驗證」。原本的指令是:做了前端修改就一定要驗證。聽起來完全正確——誰不希望模型驗證自己的工作?但 Cat 指出反例:如果只是把一個字串改成另一個字串,而使用者說「快速修一下、順便更新測試」,那可能就不需要跑起來驗證。

於是措辭從「永遠驗證、驗證、驗證」改成接近這樣:多數情況下做前端工作時,光打後端 endpoint 無法真正理解使用者體驗,所以當你對使用者體驗做出較大改動時,請在本地把應用跑起來。

而 Cat 自己接著說,這條大概也還不夠好——什麼叫「較大改動」?也許小改動也該測。這個自我拆解本身就是示範:一條指令的品質,取決於它在多少比例的場次裡真的成立。

一句話版本

你寫下的每一條規則,都會在 100% 的對話裡生效。所以問題不是「這條規則對不對」,而是「這條規則錯的那幾成,會發生什麼事」。一條 90% 正確的硬規則,等於保證有 10% 的對話從一開始就被帶偏。

Apply

套用到你自己的 CLAUDE.md

把上面幾條合起來,對一般使用者最直接的意義是這四件事:

1. 先問你在哪一邊

如果你寫的是專案規則檔(CLAUDE.mdAGENTS.md、cursor rules 之類),你的處境跟 Claude Code 團隊一樣——使用者是你自己,任務明確,出錯你看得到。那就適用減法:少寫禁令,多寫脈絡。

如果你在做一個面對不特定使用者的產品,你的處境接近 claude.ai。那份又長又硬的 prompt 才是你的參考範本,不是 Claude Code。

2. 把「不要做 X」改寫成「這件事的情況是 Y」

這是 Thariq 那條建議的可執行版本。與其寫「不要用 any」,不如寫「這個 codebase 的型別檢查設定為 strict,任何 any 都會讓 CI 失敗」。後者是脈絡,模型可以據此推理出例外情況;前者是禁令,遇到你自己要求的例外時就會打架。

3. 檢查每一條規則的例外率

逐條套 Cat 的問題:這條在多少比例的情況下成立?如果答案是「大部分」而不是「全部」,就把它放軟,或補上適用範圍。

4. 別直接照抄 80%

這是最容易犯的錯。80% 是 Anthropic 針對自家 Claude Code、自家評測、自家最前沿模型測出來的結果。他們自己都沒有把它套用到舊模型上(舊模型仍跑完整版)。你的 prompt 該砍多少,只有你自己跑 A/B 才知道。

順帶一提:Claude Code 的 system prompt 並未公開

想直接參考「砍完之後長什麼樣」的人會失望。Anthropic 公開的只有 claude.ai 與行動 App 的核心 system prompt,不含 Claude Code、不含工具定義。Simon Willison 在同一場對談中當面提出這件事,說他必須自己跑 proxy 攔截才看得到,並形容這些 prompt「就是文件本身——你要靠它才知道這個工具能做什麼、怎麼運作」。Cat Wu 的回應是會把這個需求記下來。截至 2026-08-19 尚未公開。

Fact Check

那個「800 → 164 tokens」是假的

這則消息在中文與英文圈流傳時,通常會附上一組很具體的數字:從約 800 tokens 砍到 164 tokens,釋出約 636 tokens 的空間。數字越具體越可信,但這組數字查不到出處。

查證結果(2026-08-19)

「80%」:可引用。一手逐字稿中由 Thariq Shihipar 與 Cat Wu 分別確認,且 Cat 補充了適用範圍限制。

「800 → 164 tokens」:查無出處,不建議引用。該組數字最早出現在一家幣圈媒體的報導,以及後續抄襲它的內容農場;一手逐字稿全文沒有提到任何絕對 token 數字。此外,800 tokens 對一個帶有完整工具說明的 coding agent 而言低到不合理——單是描述檔案編輯、bash 執行、搜尋等工具就會超過這個量。

更值得注意的是,二手報導在追逐那組假數字的同時,漏掉了三件真正影響判讀的事:

  • 不只是 Fable 5。Thariq 明確說 Opus 4.8 也適用,未來模型也會。報導普遍寫成「因為 Fable 5」。
  • 只有前沿模型享有。Cat 明確說舊模型仍跑完整版。報導普遍寫成全面套用,讀者容易推論成「system prompt 都該砍短」。
  • 被砍的是範例與硬約束。這是唯一能拿來改善自己 prompt 的資訊,而它在多數報導裡被壓縮成一句「刪掉了冗餘指令」。

這是一個乾淨的案例:當一則 AI 新聞給你一個很具體的數字時,先確認那個數字出現在哪一手。百分比通常來自受訪者,絕對數字則常常是轉述者為了讓報導更有畫面感而自行補上的。

FAQ

常見問題

Anthropic 有公開 Claude 的 system prompt 嗎?

有,但範圍有限。Anthropic 在官方 release notes 公開 claude.ai 網頁介面與 Claude iOS/Android App 的核心 system prompt,從 Claude 3 一路到 Claude Opus 5 都有存檔。這不是外洩,是官方主動發布的常態做法。官方頁面同時明文說明:這些更新不適用於 Claude API

查證日期:2026-08-19|來源:platform.claude.com/docs/en/release-notes/system-prompts

Claude Code 的 system prompt 有公開嗎?

沒有。公開範圍只有 claude.ai 與行動 App,不含 Claude Code、不含工具定義(tool prompt)、不含 API。2026 年 7 月的公開對談中,Simon Willison 當面向 Claude Code 團隊反映此事,說他必須自己跑 proxy 攔截;團隊成員 Cat Wu 回應會把這個需求記下來,並未表示已經公開。截至查證日仍未公開。

查證日期:2026-08-19|來源:simonwillison.net/2026/Jul/21/cat-and-thariq/

「Claude Code 的 system prompt 砍掉 80%」是真的嗎?

是真的。一手來源是 2026 年 7 月 21 日公開的對談逐字稿,Anthropic 工程師 Thariq Shihipar 與產品經理 Cat Wu 兩人都確認了這個比例。Thariq 補充這不只是因為 Fable 5,Opus 4.8 也適用,且現在不同模型有各自不同的 system prompt。

查證日期:2026-08-19|來源:simonwillison.net/2026/Jul/21/cat-and-thariq/

「從 800 tokens 砍到 164 tokens」這個數字正確嗎?

查無出處,不建議引用。80% 這個比例有一手逐字稿支持,但這組絕對數字只出現在一家幣圈媒體的報導與抄襲它的內容農場,一手逐字稿全文沒有提到任何絕對 token 數。此外 800 tokens 對一個帶有完整工具說明的 coding agent 而言低到不合理。要引用請只用百分比。

查證日期:2026-08-19

claude.ai 的 system prompt 有跟著變短嗎?

沒有。從 Claude 4.6 世代起每個 model ID 對應單一固定快照,可以乾淨比較。本文實測六個快照的字元數為:Opus 4.6 約 19,000、Sonnet 4.6 約 19,400、Opus 4.7 約 24,500、Opus 4.8 約 23,100、Fable 5 約 22,400、Opus 5 約 22,400。半年間在兩萬上下盤整,沒有出現 Claude Code 那種量級的縮減。注意這是字元數而非 token 數,僅供相對比較。

量測日期:2026-08-19|來源:官方 release notes 全文

那我自己寫 prompt 時到底該不該給範例?

取決於你面對的是明確任務還是開放情境,以及你用哪一級模型。Anthropic 的經驗是:對前沿模型下明確的工程任務時,範例會把輸出往範例的樣子拉,移除後反而更好;但較舊、較小的模型仍然跑完整版 system prompt,Anthropic 並未取消它們的範例。判斷方式是自己跑 A/B 比較,而不是直接套用 80% 這個數字。

查證日期:2026-08-19|來源:simonwillison.net/2026/Jul/21/cat-and-thariq/

要付費才能看這些 system prompt 嗎?怎麼開始讀?

免費,不需要帳號,也不需要任何 Claude 訂閱。直接開啟 platform.claude.com/docs/en/release-notes/system-prompts 即可,頁面上每個模型是一個可展開的區塊。若想一次取得全文而不逐一點開,可在網址後面加上 .md 副檔名取得純文字版本,方便搜尋與跨版本比對。

查證日期:2026-08-19

Conclusion

結論

「新模型需要更少指令」這句話正在被大量轉述,但它有一個幾乎總是被省略的前提:更少指令的前提是有人在旁邊看著。

Claude Code 敢把 system prompt 砍掉 80%,是因為每一次執行都有一個知道自己要什麼的工程師坐在前面驗收。claude.ai 不能這樣做,因為它面對的是不特定的陌生人,而且沒有人會在旁邊確認結果對不對。同一家公司、同一世代模型,兩個產品因此往相反方向走——這不是策略搖擺,是條件不同。

所以下次看到「prompt 應該更短」這類建議時,先問一句:短的那個版本,是誰在承擔猜錯的成本?如果是你自己,那就放心砍;如果是別人,那份又長又硬的 claude.ai system prompt,才是你該研究的範本。

更新資訊

發布日期:2026-08-19

本文所有事實均於 2026-08-19 查證。長度數據為作者自行量測,方法已於文中「量測方法」段落說明。Claude Opus 5 system prompt 引文取自 2026-07-24 官方快照,該快照可能於日後更新。

← 返回 AI 知識庫