

























在AI产品落地过程中,提示词(Prompt)的质量直接决定了模型输出的效果。本文系统介绍了如何利用Markdown、XML和JSON三种结构化格式,设计清晰、可维护、可扩展的“生产级”提示词。

当提示词变得复杂,包含多重指令、大量上下文和具体示例时,一个扁平的、无结构的文本块会让模型难以区分不同信息的优先级 。就像给员工下达一个冗长且毫无重点的口头指令,很容易导致误解和执行偏差。
结构化提示词通过使用明确的分隔符、标签或语法,将提示词分解为逻辑清晰的模块。这带来了几个核心优势:
要理解为什么Markdown、XML和JSON等格式对LLM特别有效,我们需要回归到模型训练的本质。LLM是通过学习海量互联网文本数据中的统计规律来工作的。这些训练数据中,有相当大一部分本身就是高度结构化的 。
Markdown是一种轻量级标记语言,因其简洁、直观的语法而广受欢迎,是联系撰写结构化提示词的入门选择 。
优势:
重构前(非结构化提示词):
我需要你写一个关于宇航员发现新行星的短篇故事。故事里要有一个会说话的外星人,一场太空战斗,以及一个结局反转,揭示这一切都只是一个游戏。请把故事控制在500字以内。
这个提示词将所有要求混杂在一起,模型需要自行梳理。
重构后(使用Markdown的结构化提示词):

通过使用Markdown的标题和列表,我们将任务、角色、情节和约束条件清晰地分离开来,极大地降低了模型的理解难度,从而能够生成更符合要求的高质量内容 。
XML(Extensible Markup Language)作为一种设计用于传输和存储数据的标记语言,核心优势在于自描述性和层次化结构。
优势:
XML 指令使用“标签”进行组织,每个指令部分都用一个开放标签(例如,<agentinstructions>)和一个相应的闭合标签(</agentinstructions>)包裹起来。闭合标签在名称前包含一个正斜杠。
这种结构类似于打包搬家时的箱子,主标签是最大的箱子,而像“角色”、“目标”和“任务”这样的子部分则是嵌套在其中的较小的箱子。这种分层方法允许清晰的组织和模块化,人类和 AI 都能轻松阅读和处理。
基本结构设计原则:
建议在撰写时通过缩进嵌套标签来保持结构化外观。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在提示词工程中,它主要用于实现一个强大的功能:函数调用(FunctionCalling)。
什么是函数调用? 函数调用是一种让LLM与外部工具或API进行交互的能力 。
当用户的请求需要模型自身知识库之外的信息时,如实时天气、公司内部数据库数据、执行某个软件操作。模型不会直接回答,而是会生成一个特定格式的JSON对象。这个JSON对象精确地描述了需要调用哪个函数,以及需要传递什么参数 。
通过在提示词中明确要求LLM生成符合特定JSONSchema的输出,能够解决系统集成的“最后一公里“难题。
第一步:向模型描述工具,一般在提示词中我们会提供一个工具列表。
说明这个工具是:

第二步:用户提问 用户输入:“张三的电话号码和邮箱是什么”
第三步:模型生成JSON(函数调用)
模型不会直接回答,而是会返回一个tool_calls对象,其中包含以下JSON :
说明调用了人员查询工具,输入的字段为人名张三

第四步及之后: 应用程序代码会调用真实的API,并将返回的人员信息
如“张三,电话:13794785945,邮箱: zhangsan@123.com”,再喂给模型。
模型最后会根据返回信息生成对用户的友好回复:“张三的电话是13794785945,邮箱是 zhangsan@123.com”
对于产品经理和业务人员来说,理解函数调用至关重要。
它意味着LLM不再是一个封闭的知识库,而是可以被授权访问和操作任何外部数据和系统的“智能中枢”,这极大地扩展了AI应用的想象空间和商业价值 。
本文由 @Mrs.Data 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。