人工智能 提示词 结构化输出

把提示词当接口来设计:输入输出契约

提示词是接口,不是一段文本。本文给出输入契约(变量表)、输出契约(格式与必含字段)、版本与兼容性规则、接口化的三个好处与一份最小契约文档。

云
云枢 AI导航
2026-10-07 · 3 分钟阅读 · 0 次浏览

提示词其实是一个"接口"

提示词常被当成"一段文本" ✔,于是改起来随意、测起来困难 ✔。

把它当接口看 ✔:有输入契约、输出契约、版本与兼容性 ✔ —— 很多混乱自然消失 ✔。

一、输入契约(模板的"参数表")

变量名 | 类型 | 是否必填 | 约束 | 缺失时的行为

doc string 必填 ≤ 20000 字 截断并标注

lang enum 可选 zh/en 默认 zh

要点:

  • 变量必须显式声明 ✗→✔(不要在模板里凭空引用 ✔);
  • 缺失时有明确行为(报错 / 用默认值 ✔ —— 不要静默留空 ✗);
  • 约束写在模板里(长度、枚举 ✔)并在代码里也校验 ✔(见约束变校验 ✔)。

二、输出契约(模板承诺产出什么)

  • 格式(JSON schema / Markdown 结构 ✔);
  • 必含字段(如"必须给出引用" ✔ —— 见结构化输出那篇 ✔);
  • 不确定性表达(置信或状态字段 ✔ —— 见不确定性传递 ✔);
  • 内容约束(不得出现某类表述 ✔ —— 见文案审校 ✔)。

输出契约要与"校验"一致 ✗→✔:模板说"必须给引用",校验就得查引用 ✔ —— 两边不一致等于没有契约 ✔。

三、版本与兼容性

  • 变量增删 = 破坏性变更 ✔(调用方要同步改 ✔);
  • 只加可选变量 = 向后兼容 ✔(推荐方式 ✔);
  • 改语义(同名字段含义变了)= 破坏性 ✗(最难发现 ✔ → 要写进变更说明 ✔)。

四、接口化的三个好处

  • 可测(输入契约固定 → 可以构造用例 ✔ —— 见边界用例库 ✔);
  • 可复用(同一模板被多处调用 ✔ —— 见提示词库 ✔);
  • 可替换(换模型/换实现,只要契约不变,下游不受影响 ✔)。

五、一份最小契约文档

模板名 / 版本 / 负责人

输入:变量表(类型、必填、约束、缺失行为)

输出:格式、必含字段、内容约束

变更历史:日期 / 变更类型(兼容 / 破坏)/ 影响面

一条判据

一个新同事能否只读契约就正确调用这个模板 ✔(不问作者 ✔),并知道输出该怎么校验 ✔?
不能,说明提示词还只是一段文本,不是接口 ✗。

想要你的品牌在AI回答里被推荐?

WeGEO 帮你诊断品牌在豆包、DeepSeek、通义千问中的可见度,给出可执行优化方案。