首页/AI/提示词工程速查/提示模板的占位符设计

提示模板的占位符设计

模板把可变部分做成占位符:命名语义化、区分必填与可选、给默认值与类型;避免用位置顺序隐式传参导致维护困难。

提示词工程速查AI更新于 2026-10-13

模板占位符设计是什么

提示模板把可变部分抽成占位符:命名语义化、区分必填与可选、给默认值与类型。设计得好不好,直接决定模板能不能长期维护——用 {{a}}、{{1}} 这类位置式占位时,过几个月没人说得清哪个变量对应什么,改一处要在所有调用方里找。占位符本质是模板与调用方之间的接口契约,接口变更的纪律和函数签名一样严。

基本信息

适用平台应用侧模板引擎(Jinja2、Handlebars 等)或框架自带的提示模板机制
命名规则语义化命名,如 {{source_text}},避免 {{a}}、{{1}} 式占位
必填与可选必填显式声明;可选项带默认值,如 {{tone | 默认: 正式}}
类型标注注明文本、列表或枚举,渲染层按类型校验与转换

典型使用场景

  • 多业务线共用模板:不同调用方传入不同变量值,模板本身保持不变
  • 翻译与改写服务:目标语言、风格、术语表作为可配项
  • 抽取任务:待处理文本作为必填变量,字段清单作为可选变量
  • 批量任务:列表类变量按行展开,需在渲染层做长度与条数校验
  • 模板复用:把稳定部分沉淀为公共片段,减少重复维护

模板示例

模板示例
# 任务:将以下内容翻译为 {{target_lang}}(必填,枚举)
# 风格:{{tone | 默认: 正式}}
# 术语表:{{glossary?}}          # 可选,缺省时不出现该行
# 输出格式:{{format | 默认: 纯文本}}
# ---
# {{source_text}}                  # 必填,超长时由渲染层截断并记录
# 说明:变量清单同步维护在接口文档中,新增必填变量需更新全部调用方

占位符字段设计

字段要素作用设计要点
名称让调用方与维护者理解含义语义化、全小写下划线分隔
必填标记区分缺失时是报错还是用默认值必填缺失一律报错,不静默变空串
默认值减少调用方重复传参默认值写在模板里,不散落在代码中
类型决定渲染方式与校验规则文本、列表、枚举分别标注
长度上限控制 token 与注入面渲染前截断并记录原文长度
变量值不要直接拼接进指令区:文本类变量应放入明确的数据段(带分隔标记),否则用户内容里的语句会被模型当作指令执行。
新增必填变量属于不兼容变更:所有调用方更新完成后模板才能上线,否则线上渲染直接报错。

易错点

  • 占位符命名含糊(如 {{a}}),后续无人能判断含义,改动只能靠猜
  • 新增必填变量未同步调用方,线上渲染报错导致接口不可用
  • 变量为空时静默渲染成空串,模型把「无要求」当成一种要求处理
  • 默认值散落在调用代码里而非模板中,同一模板在不同调用方行为不一致

数据来源与参考

  • 模板引擎(Jinja2、Handlebars 等)占位符与默认值文档概念;提示模板工程通用实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌