
2025年8月19日,微軟研究院推出POML(Prompt Orchestration Markup Language,提示詞編排標記語言),改變提示詞編寫方式,通過積木式組件設計、樣式控制系統和智能開發工具,將複雜的AI應用開發簡化為類似網頁製作的直觀過程。項目在Github上開源,論文發布於arXiv。
想像你正在學習製作一道複雜的西餐。傳統的做法像是拿著一張大廚給的雜亂無章的食譜,上面胡亂寫著各種食材、步驟和注意事項,沒有任何章法可言。每次做菜時,你都要重新整理這些資訊,經常因為某個關鍵步驟的表述不清而導致整道菜失敗。更災難的是,當你想要調整配方或者換個口味時,幾乎要從頭開始重寫整個食譜。
研究團隊發現,當前與AI大模型對話的困境與這個情況如出一轍。工程師在編寫提示詞(英文名:Prompt)時,就像拿著那張雜亂的食譜做菜一樣痛苦。工程師往往要花費大量時間處理各種格式問題、數據整合問題,而且每次想要修改對話策略時,都要重新編寫大段的代碼。而且AI模型對於提示詞的格式極其敏感,哪怕是一個標點符號的變化,都可能導致完全不同的結果。
為了解決這個問題,微軟研究團隊開發出全新工具系統POML。研究團隊借鑑了網頁開發中HTML和CSS的成功經驗,創造出一套專門用於AI對話的標記語言。這套語言讓開發者可以像搭積木一樣組裝提示詞,每個"積木塊"都有明確的功能和標準的接口。
化繁為簡的積木式設計理念
POML最主要的特點是積木式組件設計。傳統的提示詞編寫就像用一大塊泥巴捏雕塑,所有內容混在一起,改動一處就要重新塑形整個作品。而POML則提供了一套精心設計的"智能積木",每塊積木都有專門的用途和標準的連接方式。

這些積木主要分為三大類。第一類是基礎結構積木,提供基本的文字格式和組織框架。比如列表組織等,這些看似簡單的功能在複雜的AI對話中卻是不可或缺的基礎設施。
第二類是意圖表達積木,這是POML的核心創新之一。這些積木專門用來表達對話的邏輯結構和目標導向。比如角色設定積木
第三類是數據處理積木。AI經常需要處理各種外部數據,比如文檔、表格、圖片等。傳統做法需要程序員編寫大量複雜的代碼來處理這些不同格式的數據,而POML的數據積木則能夠自動處理這些繁瑣的工作。文檔積木
靈活多變的樣式控制系統
AI模型的一個眾所周知的特點是對格式極其敏感。同樣的內容,僅僅因為表達方式的細微差別,就可能得到截然不同的回應。
針對這個問題,POML創新性地引入了類似網頁開發中CSS的樣式控制系統。這個系統的巧妙之處在於將對話的內容邏輯與表現形式完全分離。開發者可以專心編寫對話的核心邏輯,而將格式調整的工作交給樣式系統來處理。
這種分離帶來了巨大的便利。當開發者發現某種表達格式效果不佳時,不需要重新編寫整個提示詞,只需要調整樣式設置就可以嘗試不同的表現形式。比如,可以輕鬆地將列表形式的內容轉換為段落形式,或者將正式的商務語調調整為輕鬆的聊天風格。
樣式系統還支持針對不同AI模型的優化。研究團隊發現,不同的AI模型對格式有著不同的偏好。通過樣式系統,開發者可以為同一套對話邏輯準備多套表現風格,根據目標AI模型自動選擇最合適的格式。
更進一步,POML還提供了動態樣式功能。這意味著提示詞可以根據實際情況自動調整表現形式。比如,當處理的數據量較大時,自動採用更緊湊的表達方式;當面向專業用戶時,自動使用更技術化的詞彙;當目標是普通消費者時,則自動切換到更通俗易懂的表達方式。
智能化的開發助手工具
研究團隊為POML開發了一套完整的開發環境。這套環境集成在主流編輯器Visual Studio Code中,為開發者提供便利。
這個開發環境最大特點是實時預覽功能。開發者在編寫POML代碼時,可以立即看到最終生成的提示詞是什麼樣子,就像網頁設計師能夠實時看到頁面效果一樣。這種即時反饋大大提高了開發效率,避免了傳統方式中反覆測試和調試的繁瑣過程。
智能提示功能是另一個亮點。當開發者在編寫代碼時,系統會自動提供相關的建議和補全選項,就像一個經驗豐富的助手在旁邊隨時給出專業建議。這個功能特別適合初學者,能夠幫助他們快速掌握POML的各種用法和最佳實踐。
錯誤檢測和診斷功能則像一個細心的質檢員,能夠自動發現代碼中的問題並提供具體的修改建議。這不僅包括語法錯誤,還包括邏輯問題和性能優化建議。比如,當系統發現某個數據處理方式可能導致效率低下時,會主動提示更好的替代方案。
最令人印象深刻的是集成測試功能。開發者可以直接在編輯環境中測試自己編寫的提示詞,實時查看AI模型的回應效果。這就像廚師在製作過程中可以隨時品嘗味道並調整配方一樣,大大縮短了從編寫到驗證的時間周期。
真實世界的應用驗證
為了驗證POML的實用性,研究團隊進行了兩個深入的案例研究,這些研究展示了POML的強大功能以及在真實應用場景中的價值。

第一個案例是PomLink,一個基於iOS的智能助手應用原型。這個應用的核心功能是幫助用戶與各種文檔、表格、圖片等數據進行智能對話。用戶可以上傳Excel表格詢問數據趨勢,可以導入PDF文檔尋求內容摘要,也可以上傳圖片請求分析解讀。
令人驚訝的是,整個PomLink應用的核心對話邏輯僅用6個POML文件就完成了,每個文件平均只有35行代碼。更令人印象深刻的是,從零開始到完成一個功能完整的原型應用,開發團隊只用了兩天時間,而其中90%的時間都花在了iOS界面設計和環境配置上,真正的對話邏輯編寫只占很小一部分時間。這種開發效率的提升是前所未有的。
第二個案例研究更加深入地探索了AI模型對格式敏感性的問題。研究團隊使用POML設計了一個表格問答任務,然後通過系統性地調整樣式參數,生成了73,926種不同的格式變體。他們用這些變體測試了8個不同的AI模型,得到了令人震驚的結果。

最極端的例子是Phi-3模型,其準確率在不同格式下的差異高達4450%,從最低的0.7%躍升至最高的32.2%。即使是相對穩定的模型,準確率差異也在20%以上。這個發現徹底顛覆了人們對AI模型穩定性的認知,同時也證明了POML樣式系統的重要價值。

通過這個研究,團隊還發現了一些有趣的規律。比如,不同的AI模型對表格格式有著截然不同的偏好:有些模型喜歡簡單的CSV格式,有些則偏愛結構化的HTML表格,還有些對JSON格式響應最好。這些發現被直接應用到PomLink應用中,使其能夠根據用戶選擇的AI模型自動優化數據呈現格式。
用戶體驗的深度調研

為了全面了解POML的實用性和用戶接受度,研究團隊組織了一次詳細的用戶研究。他們邀請了7名不同背景的參與者,包括資深程序員、研究人員和學生,通過5個不同難度的任務來測試POML的易用性。
參與者的反饋普遍積極,特別是對POML的數據處理能力給予了高度評價。一位參與者表示,以前處理Excel數據時需要寫很多複雜的代碼,現在只需要一個簡單的標籤就能完成同樣的工作。另一位參與者則讚賞了樣式系統的靈活性,認為能夠輕鬆調整輸出格式而不影響核心邏輯是一個巨大的進步。
開發工具方面的反饋也很正面。實時預覽功能被認為是最有價值的特性之一,因為它讓開發者能夠立即看到修改的效果,避免了反覆的試錯過程。集成測試功能也受到好評,參與者認為能夠直接在編輯器中測試AI響應大大提高了工作效率。
當然,用戶研究也揭示了一些需要改進的地方。一些參與者提到,對於簡單的一次性對話,POML可能顯得過於複雜,有"用大炮打蚊子"的感覺。另外,雖然POML的學習曲線相對平緩,但對於完全沒有編程背景的用戶來說,仍然需要一定的學習時間。
有趣的是,研究還發現了一些意外的使用模式。一些參與者將POML的數據組件用作快速查看文件內容的工具,這個"副作用"反而成為了他們喜愛的功能之一。還有參與者建議擴展POML的功能,讓其能夠在一個文件中管理多個相關的對話任務,形成更複雜的AI應用邏輯。
技術架構的巧妙設計
POML的技術實現採用了一個巧妙的三階段處理架構,這個設計既保證了系統的靈活性,又確保了高效的性能表現。

第一階段是解析階段,系統會仔細分析POML代碼,識別各種組件和樣式設置,同時處理模板邏輯和變量替換。這個過程就像一個細心的翻譯官,將開發者的意圖準確地轉換成系統能夠理解的內部表示。
第二階段是構建階段,系統利用React框架的虛擬DOM技術,將解析後的內容構建成一個完整的中間表示結構。這個結構包含了所有必要的資訊:內容、樣式、元數據等,就像一個詳細的施工圖紙,為最終的輸出做好了完整的準備。
第三階段是輸出階段,專門的寫入器模塊會根據目標格式的要求,將中間表示轉換成最終的提示詞。這種模塊化設計的好處是,如果需要支持新的輸出格式,只需要開發一個新的寫入器模塊,而不需要修改前面兩個階段的任何代碼。
這種三階段架構還帶來了一個意外的好處:緩存優化。由於中間表示是獨立的,系統可以將其緩存起來,當需要生成不同格式的輸出時,可以直接從第三階段開始,避免重複執行前兩個階段的計算。對於複雜的提示詞,這種優化能夠帶來顯著的性能提升。
當前的POML實現包含了約14,800行TypeScript代碼,支持37個不同的組件和283個屬性。這個規模既體現了系統的完整性,也說明了其複雜度仍然在可控範圍內。研究團隊還為系統編寫了115個測試用例,覆蓋了從基本標籤解析到複雜多模態數據集成的各種場景。
至頂AI實驗室洞見
POML解決了當前提示詞編寫中的諸多痛點,為AI應用開發領域創造了新的可能性。研究團隊已經在GitHub上開源了POML項目,而且計劃在Visual Studio Code擴展商店發布,會有更多開發者能參與體驗。
POML將原本需要深厚編程功底才能掌握的提示詞編寫,轉化為一種更加直觀和標準化的創作過程。這種轉變的意義不僅僅在於技術層面,更在於它降低了AI應用開發的門檻,讓更多非技術背景的創意工作者也能參與到AI應用的創造中來。
POML未來可能會發展成為AI領域的HTML,成為一種通用的提示詞描述語言。就像HTML統一了網頁內容的表示方式一樣,POML有潛力統一提示詞的編寫標準,促進整個行業的協作和發展。
論文地址:https://arxiv.org/abs/2508.13948
Q&A
Q1:什麼是POML語言?
A:POML(Prompt Orchestration Markup Language)是一種用於大語言模型提示工程的標記語言。它採用類似HTML的結構化組件來組織提示內容,包括角色(role)、任務(task)和示例(example)等元素。POML集成了數據組件(如文檔、表格、圖像)來簡化多模態數據集成,並提供CSS樣式的系統來分離內容與呈現格式。該語言還包括模板引擎和開發工具包,旨在提升提示的可維護性和協作效率。
Q2:POML語言解決了哪些提示工程挑戰?
A:POML針對當前提示工程的四大挑戰提供解決方案:缺乏標準化結構編排導致提示雜亂難維護、多樣數據源(如文檔和表格)集成複雜、大型語言模型對格式敏感導致性能波動,以及開發工具不足影響版本控制和協作。它通過組件化標記實現結構化和可重用性,數據組件簡化了文件嵌入,樣式系統允許獨立調整呈現方式,工具包提供IDE支持和SDK集成。這些功能減少了手動錯誤,提升了開發效率和模型魯棒性。
Q3:POML語言的主要功能是什麼?
POML的核心功能包括結構化組件(如