LLM响应Markdown中嵌入应用组件的标准规范问询
在LLM生成的Markdown中指定应用组件的方式
目前没有官方统一的标准,但行业里已经形成了几种被广泛采用的实践方案,核心思路是通过约定好的标记让前端应用识别并替换为对应组件:
1. 带自定义语言标识的代码块
这是最常用的方式,利用Markdown代码块的语言字段声明组件类型,应用端解析时根据标识渲染对应组件。比如:
{ "xAxis": ["Mon", "Tue", "Wed"], "yAxis": [120, 200, 150] }
或者更简洁的语言标识:
Mon:120,Tue:200,Wed:150
应用端检测到代码块语言为chart:bar或bar-chart时,就会解析内容并渲染为柱状图组件。
2. 自定义HTML注释标记
通过Markdown支持的HTML注释标记组件范围,适合包裹多段内容的场景:
| 日期 | 销售额 |
|---|---|
| 周一 | 120 |
| 周二 | 200 |
应用端会提取两个注释间的内容,用自定义表格组件渲染,而非默认的Markdown表格。
3. 特殊格式的代码块前缀/后缀
部分团队会约定特定前缀标记组件,无需依赖代码块语言字段,兼容性更强:
--- component:pie-chart --- { "data": [{"name": "A", "value": 30}, {"name": "B", "value": 70}] } --- end-component ---
4. 扩展Markdown语法(非通用)
少数团队会自定义扩展语法,比如:
[component:line-chart]({"data": [10, 20, 30, 40]})
但这种方式需要应用端实现自定义解析器,通用性较差,不推荐跨团队使用。
关键注意点
- 所有方案都需要应用端和LLM提前约定规则,确保双方能识别对应标记。
- 优先选择基于标准Markdown特性的方案(如代码块语言标识),避免自定义语法导致兼容性问题。
- 复杂组件建议在代码块内用JSON格式传递配置,方便应用端解析。
内容的提问来源于stack exchange,提问作者Jonathan.Brink
相关产品推荐
相关产品推荐

