POML 语法基础(Language Basics)

POML 语法基础(Language Basics)

参考官方文档:microsoft.github.io/poml/stable...

独立文件模式(Standalone .poml)

  • 最常用方式:创建以 .poml 为后缀的文件,使用接近 XML 的语法描述提示。
  • 顶层需要使用 <poml> 标签包裹全部内容,便于解析与渲染。

最小示例:

poml 复制代码
<poml>
  <p>Hello, world!</p>
</poml>

要点:

  • 文件后缀:.poml
  • 必须有顶层 <poml>,否则许多能力不可用。

Free Text 模式(不推荐)

  • 你也可以不写 <poml>,直接写普通文本,POML 会把它当作字符串处理。
  • 但当前存在多项限制:
    • 不能正确渲染任何使用尖括号包裹的"标签样"文本(如 <...>)。
    • 许多特殊字符不可用。
    • 无法使用 POML 的诸多"结构化"能力。
  • 因此官方建议:始终使用顶层 <poml>

基本术语

  • 标签(Tag):用尖括号 < > 包裹的元素标记,如 <p> 是开始标签,</p> 是结束标签。

  • 属性(Attribute):写在开始标签内的键值对,形如 name="value",为元素提供附加信息,例如:

    poml 复制代码
    <p speaker="human">Hello</p>

    其中 speaker 为属性名,"human" 为属性值。

  • 内容(Content):元素起止标签之间的文本或子元素,例如:

    poml 复制代码
    <p>Hello, world!</p>

    Hello, world! 即为 <p> 的内容。

转义字符(Escapes)

由于实现差异,POML 的转义语法与 HTML/XML 略有不同。以下为常用转义:

  • #quot; 表示 "
  • #apos; 表示 '
  • #amp; 表示 &
  • #lt; 表示 <
  • #gt; 表示 >
  • #hash; 表示 #
  • #lbrace; 表示 {
  • #rbrace; 表示 }

示例(在内容与属性值中使用转义):

poml 复制代码
<poml>
  <p>He said #quot;POML is cool!#quot; & smiled.</p>
  <p note="curly #lbrace;demo#rbrace; & quote #quot;ok#quot;">Escapes in attributes</p>
</poml>

提示:多数场景无需转义,但当遇到无法正常显示或被误解析的字符时,使用以上转义可避免问题。

实践建议

  • 始终以 <poml> 作为文件根元素;避免使用 Free Text 模式。
  • 保持标签闭合与缩进清晰,便于阅读与诊断。
  • 若内容中含有尖括号、引号、花括号、和号等,请使用转义。
  • 将结构(标签/组件)与内容区分,便于后续与样式/模板结合使用(见入门篇与快速上手篇)。

练习

  1. 将一段自由文本改写为标准 POML:
poml 复制代码
<!-- 原:Hello, world! -->
<poml>
  <p>Hello, world!</p>
</poml>
  1. 在属性与内容中同时使用转义,确保不会被误解析:
poml 复制代码
<poml>
  <p meta="use #lbrace;curly#rbrace; and #quot;quotes#quot;">Show <tags> as text with #lt; and #gt;</p>
</poml>
相关推荐
Tadas-Gao24 分钟前
大模型幻觉治理新范式:SCA与[PAUSE]注入技术的深度解析与创新设计
人工智能·深度学习·机器学习·架构·大模型·llm
猿小羽25 分钟前
基于 Spring AI 与 Streamable HTTP 构建 MCP Server 实践
java·llm·spring ai·mcp·streamable http
AndrewHZ2 小时前
【AI黑话日日新】什么是隐式CoT?
人工智能·深度学习·算法·llm·cot·复杂推理
一个处女座的程序猿15 小时前
CV之VLM之LLM-OCR:《DeepSeek-OCR 2: Visual Causal Flow》翻译与解读
llm·ocr·cv·vlm
dawdo2221 天前
自己动手从头开始编写LLM推理引擎(9)-KV缓存实现和优化
缓存·llm·transformer·qwen·kv cache
小杨互联网2 天前
LLM应用三大隐形风险与防护方案详解
llm
小汤圆不甜不要钱2 天前
「Datawhale」RAG技术全栈指南 Task 5
python·llm·rag
五点钟科技2 天前
Deepseek-OCR:《DeepSeek-OCR: Contexts Optical Compression》 论文要点解读
人工智能·llm·ocr·论文·大语言模型·deepseek·deepseek-ocr
AndrewHZ2 天前
【AI黑话日日新】什么是AI智能体?
人工智能·算法·语言模型·大模型·llm·ai智能体
山顶夕景2 天前
【LLM】多模态智能体Kimi-K2.5模型
llm·agent·多模态