Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
獨立知識媒體
與任何項目無關聯
學會用 Claude,每件事都做得更好
claudeskill-me.com
最新
Subagent 不是更聰明的小 Claude——它解決的是隔離問題,不是能力問題  ·  SKILL.md 到底該寫多長?官方 500 行門檻背後的三層漸進式披露邏輯  ·  XML 標籤怎麼用才對?3 個真實案例對比純文字 Prompt 的差異  ·  MCP 是什麼?一次搞懂「AI 界的 USB-C」,還有怎麼幫 Claude 接上你的第一個外部工具  ·  Claude API 帳單突然變貴?先檢查你有沒有用 Prompt Caching,還有那個悄悄改掉的 TTL  ·  Claude Temperature 參數怎麼設?從 0 到 1,還有那個讓開發者集體踩雷的隱藏限制
prompt-examples

XML 標籤怎麼用才對?3 個真實案例對比純文字 Prompt 的差異

30 秒速讀
XML 標籤不是裝飾符號,是把 Claude 原本要用猜的語意邊界,改成明確宣告。

完整解析 +
01 · 為什麼發生?

XML 標籤和純文字用分段、標題來區隔內容,效果有差很多嗎?

差別在於「訊號的明確程度」。用分段和標題(例如用「範例:」「輸入:」這樣的文字標記)確實也能提供一定程度的區隔,人類讀者能看懂,但這些標記本質上還是自然語言的一部分,Claude 在處理時仍然是把它們當成內容的一部分去解讀,而不是結構性的邊界宣告。

XML 標籤的差異在於它是一種格式層級的訊號,不需要 Claude 去「理解」標記文字的意思,而是直接辨識出這是一個容器邊界。這也是為什麼官方文件特別強調在「多種內容類型混雜」的情境下用標籤效果最明顯——內容類型越多、越容易混淆時,格式層級的訊號比語意層級的標記更可靠。

02 · 運作原理是什麼?

標籤名稱有沒有標準規範?隨便取名會不會影響效果?

官方文件明確說明,Claude 沒有被特別訓練成只認識某一組「標準」XML 標籤,任何描述性的標籤名稱都能運作,例如 <customer_data><financial_report> 這類針對特定情境命名的標籤同樣有效。

但「隨便取名」和「描述性命名」是兩回事。標籤命名的原則有兩個:第一,名稱要能讓人一眼看出裡面裝的是什麼內容,這對日後回頭修改 Prompt 也有幫助;第二,同一個 Prompt 內部要保持命名一致,不要這段用 <input>、下一段類似性質的內容又換成 <user_input>,這種不一致本身就會製造新的混淆。

03 · 如何應用

XML 標籤可以跟少樣本學習(Few-Shot Prompting)或思維鏈(Chain-of-Thought)一起用嗎?

不只可以,官方文件把這個組合列為「進階技巧」明確推薦。常見的搭配方式是把多個範例包進 <examples>,內部再用 <example> 個別分隔每一組輸入輸出範例,這樣 Claude 能清楚辨識出「這裡有好幾組範例,每一組都是獨立的輸入輸出配對」,而不會把不同範例的內容混在一起解讀。

思維鏈的部分則常搭配 <thinking><answer> 標籤,讓 Claude 把推理過程和最終答案分開輸出,方便後續程式化擷取其中一部分。需要注意的是,如果你的應用場景已經在用 API 的擴充思考功能,就不建議再疊加 <thinking> 標籤要求 Claude 額外輸出推理過程,兩者的推理機制可能互相干擾,效果反而打折。

04 · 我該怎麼做?

如果我平常用 claude.ai 網頁版聊天,不是透過 API 開發,這個技巧還有用嗎?

完全有用,而且門檻比想像中低。你不需要理解 XML 語法規則或寫任何程式,只要在對話框裡貼上文字時,用 <範例>...</範例><instructions>...</instructions> 這樣的角括號把不同性質的內容包起來即可,Claude 一樣能識別。

最實用的場景是你需要一次貼給 Claude 好幾段不同性質的文字時——例如同時貼上「這是我要遵守的寫作風格範例」「這是背景資料」「這是我今天要寫的主題」。這三段內容如果不特別標記,很容易被 Claude 誤判成同一類東西。花十秒鐘加上標籤,換來的是更準確、更不需要來回澄清的回覆,對日常聊天使用來說是相當划算的投資。

完整內容 +

如果你寫過超過三段的 Prompt,大概都遇過同一個問題:Claude 把你的「範例」當成了「指令」的一部分,或是把「背景資料」誤認成「要處理的問題」。這不是 Claude 不夠聰明,而是純文字 Prompt 在內容一多的時候,本來就缺乏清楚的邊界。System Prompt 寫得再細,如果內部結構混亂,一樣會被讀錯。

Anthropic 官方的提示詞工程指南明確指出,當 Prompt 混合了指令、背景、範例、變動輸入這幾種不同性質的內容時,XML 標籤能大幅降低 Claude 誤判每個段落用途的機率。這篇不重複官方文件已經寫過的語法規則,而是直接用三組「有標籤 vs 沒標籤」的真實案例,讓你看到差異具體長什麼樣。

案例一:客服回覆生成,範例被誤認成待處理輸入

沒有標籤的寫法通常長這樣:先給一段「請用友善的語氣回覆客訴」的指令,接著貼一則過去的優秀回覆當範例,最後貼上這次真正要處理的客訴內容。三段文字看起來層次分明,但對 Claude 而言,這三段在語意上都是「文字」,沒有任何結構訊號告訴它「第二段是參考範例、不用回覆」「第三段才是真正要處理的」。實務上常見的錯誤,就是 Claude 把範例內容也一併回覆了一次,或是誤把範例的語氣套用錯了對象。

加上標籤後,只需要把範例包進 <example>、把待處理內容包進 <input>,指令維持在 <instructions> 裡,三個區塊的角色立刻變得無法混淆。這不是「多打幾個符號」的美化,而是把原本要靠 Claude 自己猜測的語意邊界,改成明確宣告。

案例二:多文件比對,Claude 引用錯來源

當一次丟給 Claude 兩份以上的文件要求比較差異時,純文字貼法最容易出問題——兩份文件之間如果沒有清楚分隔,Claude 有時會把 A 文件的內容誤植成 B 文件的說法,尤其在文件本身格式相近、又缺乏標題區隔的情況下更明顯。

官方文件建議的做法是把每份文件包進 <document> 標籤,並用 index 屬性標號,內部再細分 <source><document_content> 子標籤。這種巢狀結構讓 Claude 在生成回覆時,能明確標注「這句話出自第幾份文件」,也是本站在處理多來源搜尋結果時實際採用的寫法——正文如果需要引用具體來源,都會先用這種巢狀標籤把每份來源獨立包起來,再要求逐句標注出處。

案例三:角色設定被後面的指令稀釋掉

另一個常見情況是:Prompt 開頭設定了角色(例如「你是一位資深後端工程師」),但後面接了一長串格式要求、輸出規範、注意事項,結果角色設定的影響力被稀釋,Claude 的回覆語氣逐漸「泛用化」,不再貼合原本設定的專業視角。

把角色設定和格式規範分別放進不同標籤(例如角色維持在 System Prompt 裡,格式要求包進 <formatting>),能讓 Claude 清楚區分「這是我的身分」跟「這是我的輸出規則」,不會因為規則段落變長就稀釋掉角色設定的權重。

什麼時候不需要 XML 標籤

官方文件的用詞是「當 Prompt 混合了指令、背景、範例、變動輸入」時使用 XML 標籤——這句話反過來說也成立:如果你的 Prompt 只是一句單純的問題,沒有多種內容類型混雜,硬加標籤只是徒增雜訊,不會帶來實質改善。判斷標準不是「Prompt 長不長」,而是「裡面有幾種不同性質的內容需要互相區隔」。

這對你的 Prompt 設計有什麼影響

下次寫 Prompt 時,先問自己一個問題:這段文字裡有幾種不同角色的內容(指令、範例、背景資料、待處理輸入)?如果答案是兩種以上,把每種內容包進對應的標籤,會比繼續依賴 Claude 自己去猜測邊界更可靠。標籤名稱本身沒有強制規範,重點是同一個 Prompt 裡保持一致、且名稱要能讓人一眼看出裡面裝的是什麼。

資料來源:Use XML tags to structure your prompts - Claude DocsPrompting best practices - Claude Platform Docs
圖解
純文字 Prompt 與 XML 標籤 Prompt 對比純文字 Prompt 缺乏結構邊界,容易讓 Claude 混淆各段落角色;XML 標籤把角色邊界明確宣告出來Plain Text vs XML-Tagged PromptPlain Text PromptInstruction text...Example text...Input text...No structural boundary→ Claude may confuse rolesXML-Tagged Prompt<instructions>...</instructions><example>...</example><input>...</input>Explicit role boundary→ Claude parses each block correctlyClaude Skill Me · claudeskill-me.com
歡迎截圖分享,轉載請註明來源
提問
請至少輸入 10 個字
相關文章
System Prompt 跟 User Prompt 差在哪?搞懂這個結構,你的 Prompt 才會真的聽話
beginners · 08/27
新手第一次寫 System Prompt:從「你是一個助理」到真正能用的角色設定
prompt-examples · 08/14
Subagent 不是更聰明的小 Claude——它解決的是隔離問題,不是能力問題
advanced · 08/31
SKILL.md 到底該寫多長?官方 500 行門檻背後的三層漸進式披露邏輯
skill-library · 08/31
更多相關主題