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>
相关推荐
ZhengEnCi7 小时前
vLLM是什么:PagedAttention 让大模型推理快 2-4 倍,还能撑起更长思维链
人工智能·性能优化·llm
DigitalOcean12 小时前
WorkBuddy 接入自定义模型教程:配置 GPT、Claude 等大模型
llm·agent
iiiiii1114 小时前
大模型批量生成中的左填充 (left padding)与右填充 (right padding):从生成正确性到 GRPO 的混合策略
人工智能·机器学习·语言模型·大模型·llm·attention·注意力
Eloudy15 小时前
从 huggingFace 下载大模型命令备忘
llm·gpu·rdma
lucas_AI16 小时前
不用一行恶意代码,就能教坏你的 AI Agent:SkillPoison 只用了 15 条『成功经验』
llm
lucas_AI16 小时前
把图转成文字再答题,为什么反而错得更狠?图森破了:答案就吊在那一条边上
llm
lucas_AI17 小时前
DeepMind 发布 Genie 4:世界模型会「出声」了,一句话实时改写世界
人工智能·llm
lucas_AI17 小时前
为什么大模型总敢一本正经地胡说?研究者关掉了它脑内的 8 个「自信开关」
人工智能·llm
blackappleD1 天前
百度 Unlimited OCR 2 拆解:SR-SWA 如何让百页文档的 KV 缓存不再涨
人工智能·llm