结构化标记是什么
结构化标记指的是在提示词里用标记语言组织内容,让模型分清哪段是指令、哪段是待处理数据、哪段是输出格式。XML 标签的隔离性最好,被主流厂商官方文档推荐用于多段长提示;Markdown 用标题与列表表达层级,适合人类阅读的长内容;JSON 适合机器消费的字段级约束,输出可直接被程序解析。同一段提示里混用多种符号风格会稀释注意力,标记习惯要统一。
基本信息
| XML 标签 | 隔离指令、文档与输出规范,归属判断稳定 |
|---|---|
| Markdown | 标题与列表组织长内容,可读性好 |
| JSON | 字段级约束输出,便于程序解析 |
| 基本原则 | 同一提示内标记风格保持一致 |
| 标签命名 | 语义化英文:instructions、document、output_format |
| 嵌套深度 | 建议不超过两层 |
典型使用场景
- 长提示模板:把角色、约束、示例、数据分块,便于工程侧填槽
- 多文档对比:每份文档一个标签,避免模型把不同来源的内容串起来
- 结构化抽取:在提示里直接给出目标 JSON 的字段骨架
- 示例隔离:用标签把 few-shot 示例与实际输入分开
- 外部内容隔离:把网页、邮件、用户提交内容包进数据标签
XML 标签组织长提示
XML 标签组织长提示
<instructions>
你是合同审阅助手,只依据文档内容作答,找不到就回答未提及。
</instructions>
<document>
(此处粘贴合同全文,关键条款尽量靠前)
</document>
<example>
输入:违约金多少? 输出:{"amount": "按合同填", "clause": "条款编号"}
</example>
<output_format>
{"parties": [], "amount": "", "effective_date": ""}
</output_format>
# 输出格式给出字段骨架,模型填空比自由发挥更稳三种标记怎么选
| 标记 | 优势 | 代价与注意 |
|---|---|---|
| XML 标签 | 边界清晰,指令与数据归属稳定 | 标签过多会啰嗦,嵌套过深反而变乱 |
| Markdown | 可读性好,适合长文档与列表 | 层级混用时边界不如标签明确 |
| JSON | 字段级约束,程序可直接解析 | 自由文本任务过严,容易产生格式错误 |
| 纯分隔符 | 最简单,改动成本最低 | 隔离强度弱,长文中易与正文符号冲突 |
标签名保持语义化且稳定:instructions、document、output_format 这类命名跨项目复用,模型对它们的角色预期也更明确。
要求 JSON 输出时,除了说明字段还要给一个最小示例;只描述字段名不给样例,实际输出常出现类型不一致。