📰 重點摘要
IBM 發布了 LLMON(LLM Object Notation,發音同「lemon」),一種專為大型語言模型設計的標記語言,並同步釋出兩個實驗性預覽模型:granite-4.1-3b-LLMON-preview 與 granite-4.1-8b-LLMON-preview,皆由 Granite 4.1 基礎模型衍生,經訓練後能讀取並產生 LLMON 標記文字,另附 GitHub 工具包,內含範例工作流程與模板。
動機在於長對話中的上下文混雜了系統提示、過往對話、針對檢索文件的指令、工具回應、輸出限制與推理鏈等多種成分,其結構多半隱含,或被塞進原本為解析器設計的 JSON 格式,這使規模較小的模型容易出錯,也讓攻擊者能利用缺乏明確結構的弱點進行提示注入。
LLMON 的做法是用有意義的標籤標記語意完整的區塊,並以保留的特殊 token 作為分隔符,同時以因果語言模型能明確理解的方式宣告資料結構與巢狀關係。每則指令都有唯一 ID,可指向上下文中任何位置的指令,並綁定它該處理的資料,概念類似程式語言中的函式呼叫與參數傳遞。
原文列出的效益包括:藏在使用者資料中的間接提示注入大多被忽略,部分基準測試的攻擊成功率降到接近零,而一般指令微調模型被劫持的機率很高,且整體能力與 Granite 4.1 Instruct 相當;無關段落、舊對話與工具輸出不會被混入答案;可用轉換器將既有 JSON 無損轉為 LLMON,也能自訂標籤並在其上訓練 LoRA;Mellea 框架已原生支援,會自動將呼叫轉成 LLMON。後半段關於為何不用 JSON 的說明原文摘要被截斷,詳細內容請見原文連結。
💬 JudyAI Lab 觀點
IBM 推出的LLMON,等於替大型語言模型的上下文加上一套明確的結構標記,同步釋出兩個Granite 4.1衍生的預覽模型。值得關注的原因是,它直接瞄準長對話容易混亂、又容易被提示注入利用的老問題。
長對話裡的系統提示、歷史對話、檢索檔案、工具回應與輸出限制,過去多半隱含在文字裡,或被硬塞進原本給解析器用的JSON。這讓小模型容易出錯,攻擊者也有空隙可鑽。LLMON的思路是用有意義的標籤和保留的特殊token劃出語意區塊,每則指令有唯一ID並繫結要處理的資料,概念接近函式呼叫與引數傳遞。原文提到,藏在使用者資料裡的間接提示注入大多被忽略,部分基準測試的攻擊成功率降到接近零,整體能力仍與Granite 4.1 Instruct相當。對AI builder來說,這反映出一個設計方向:安全與穩定不一定只靠外掛防護,也可以在輸入格式與模型訓練層就把「指令」和「資料」分開。
如果你正在串接工具或檢索流程,可以先盤點自己的上下文裡哪些內容是指令、哪些是外部資料,看看目前的格式能不能讓模型明確區分兩者。
📅 原文資訊
- 發布時間:2026-11-12T19:07
- 來源原文:https://huggingface.co/blog/ibm-granite/llmon-an-llm-native-markup-language-now-in-granite