一段工程化的 Prompt 通常由哪几部分组成?
常见组成:角色与目标、任务指令、输出格式契约、明确分隔的上下文或数据、必要的示例,以及约束与失败行为(信息不足时怎么办)。
完整回答
把 Prompt 当接口文档写:角色和目标是签名,输出格式(字段、类型、JSON Schema)是返回类型,分隔开的上下文是参数,示例是用法样例,失败协议(信息不足返回什么、拒绝什么)是异常路径。少任何一块,线上都会以意外形式暴露。写完要版本化并用固定样例回归,这是它和普通聊天的分水岭。
加分信息
- 主动包含失败协议与版本回归
- 能区分规则、数据、示例三类内容的位置
常见问题
- 只写要做什么,不写输出格式和不知道时怎么办
- 规则、数据、示例混在一起,改一处全乱
面试官可能追问
- 输出契约用什么手段强制,光靠文字够吗?
- 哪些部分该放 system,哪些该放 user?
结合 Prompt 调试与回归台:两版 Prompt 的回归对比展示契约化前后的通过率差异。