Skip to content

提示词管理

一、提示词管理解决什么问题

提示词(Prompt)是交给模型的任务说明。它不仅包含“做什么”,还应说明输入是什么、必须遵守哪些规则、结果以什么格式返回。

提示词管理用于将经过验证的提示词保存为可复用组件,供智能应用、工作流和技能等场景引用。集中管理的价值在于:

  • 同一套业务规则不必在多个应用中重复编写;
  • 引用次数可用于了解提示词的累计使用情况;
  • 通过参数让同一模板适配不同科室、用户或任务;
  • 复制现有提示词后再调整,避免直接影响正在使用的版本。

提示词组件是模板,不是模型。最终效果还会受到所选模型、模型参数、知识库内容、工具返回结果和用户输入的影响。

二、开始前先确定三件事

创建提示词前,先回答下面三个问题:

  1. 任务是什么:例如患者导诊、报告摘要、信息提取或应用评测;
  2. 输入从哪里来:用户问题、工作流变量、知识库召回内容还是工具结果;
  3. 输出交给谁:直接展示给用户,还是交给下游节点继续处理。

如果输出需要交给工作流下游节点,必须明确字段名称、数据类型和缺失值处理方式;如果直接面向患者,还需要明确语言风格、服务边界和人工转接条件。

三、创建提示词组件

进入 基础服务 → 组件中心 → 提示词管理

提示词列表

列表中的 组件 ID 用于唯一标识提示词;引用次数表示该提示词被使用的累计次数,仅供参考,不代表当前实时使用情况。搜索和类型筛选用于在提示词较多时快速定位目标组件。

点击右上角的 添加提示词

添加提示词

填写时重点注意:

  • 提示词名称:直接体现业务用途,建议采用“对象+任务”的方式,例如“患者端-就诊指引”“运营端-随访记录摘要”;
  • 提示词类型:包括 Agent、文本生成和应用评测,用于分类和筛选;
  • 提示词描述:说明适用场景和主要输入,避免只重复名称。例如“根据患者问题生成就诊科室与办理路径,不提供诊断建议”;
  • 提示词图标:选填,支持的格式、大小和建议尺寸以页面提示为准。

点击 确定后,只完成了组件的基本信息,还需要进入 管理提示词编写正文。

四、选择合适的创建方式

管理提示词

页面提供自定义创建以及 ICIO、CRISPE、RASCEF 三种结构化方法。它们不是不同的模型能力,而是帮助编写者减少遗漏的提示词组织框架。

创建方式主要结构适合场景
自定义创建自由组织全部内容已有成熟模板,或需要完全控制内容结构
ICIO指令、背景、输入数据、输出要求摘要、改写、分类、字段提取等边界清晰的任务
CRISPE角色、背景、指令、风格、输出范围客服、患者助手等重视角色和表达风格的场景
RASCEF角色、行动、步骤、上下文、示例、格式多步骤处理、复杂规则或需要示例约束的任务

选择原则是“够用即可”。简单任务不需要为了形式完整而填写大量无关背景;复杂任务如果经常遗漏步骤、格式或边界,可以使用 RASCEF 拆解。

提示词保存后,创建方式可能无法再切换。首次保存前应确认所选框架;如果需要改用另一种框架,可以复制提示词后重新整理。

五、写出可执行的提示词

一份可用的提示词通常包含六类信息:

  1. 角色与职责:模型以什么身份处理任务,负责什么,不负责什么;
  2. 任务目标:本次必须完成的动作;
  3. 输入说明:输入字段的含义、来源和可能出现的缺失情况;
  4. 处理规则:判断顺序、业务约束和必须遵循的步骤;
  5. 输出要求:返回结构、字段、篇幅、语言和格式;
  6. 异常处理:信息不足、内容冲突或超出能力范围时如何回应。

5.1 一个可以直接改造的示例

下面以患者就诊指引为例:

text
# 角色
你是医院患者服务助手,负责提供就诊流程和院内服务指引。

# 输入
患者问题:
<question>
{{question}}
</question>

可参考的服务资料:
<service_info>
{{service_info}}
</service_info>

# 任务
根据服务资料回答患者问题,并指出下一步应该前往的科室、窗口或线上入口。

# 规则
1. 只依据提供的服务资料回答,不补充未经确认的信息。
2. 不提供诊断、处方、用药或治疗建议。
3. 信息不足时,明确说明还需要患者补充什么。
4. 如涉及急症表现,提示患者及时联系急救或前往急诊,不继续进行常规导诊。

# 输出
- 先直接回答问题;
- 再给出不超过 3 步的办理指引;
- 使用简洁、礼貌的中文;
- 不展示内部分析过程。

这个示例把用户输入和参考资料放在明确的边界标签中,可以降低模型把外部内容误认为系统规则的概率;但标签不能替代权限控制、数据脱敏和人工审核。

5.2 输出供下游节点使用时

如果结果还要交给选择器、代码或数据库节点处理,不要只写“请结构化输出”,应明确字段和允许值。例如:

text
仅返回 JSON,不要添加 Markdown 代码块或解释文字:
{
  "department": "科室名称;无法判断时为空字符串",
  "urgency": "normal 或 urgent",
  "reason": "判断依据,不超过 50 字"
}

同时确认所选模型支持结构化输出,并使用异常输入测试 JSON 是否仍然可以解析。

六、使用参数创建动态提示词

参数是提示词模板中的占位符,格式为 {{key}}。引用提示词时,调用方为参数传入实际值。

text
你是{{department}}的患者服务助手。
请根据以下资料回答问题,回答不超过{{max_length}}字。

资料:
{{reference}}

患者问题:
{{question}}

保存前检查:

  • 参数名称应表达含义,例如 departmentquestion,不要使用 a1value2
  • 同一含义始终使用同一个名称,注意大小写和拼写;
  • 引用场景必须为必需参数提供值;
  • 参数值为空时,应在提示词中说明如何处理;
  • 不要把 API Key、密码或其他凭证作为提示词参数传入;
  • 患者姓名、证件号、病历等敏感信息应遵循业务的数据脱敏和授权要求。

参数只是文本占位符,不会自动校验类型、过滤敏感内容,也不会阻止提示词注入。来自用户、知识库或外部工具的内容应使用明确边界包裹,并在指令中声明其仅作为待处理数据,不能覆盖既有规则。

七、保存前怎样验证

预览提示词用于检查 Markdown 排版和参数位置,不会调用模型,也不能证明提示词效果正确。

保存后,应在实际引用场景中选择目标模型进行测试。建议至少准备以下样例:

测试类型检查重点
正常输入能否完成主要任务,内容是否准确
信息不足是否主动说明缺少的信息,而不是编造
边界输入超长、空值、错别字或格式异常时是否可控
冲突输入用户要求违反提示词规则时,是否仍遵守业务边界
高风险输入医疗诊断、用药或紧急情况是否触发预设处理方式
下游处理字段名称、数据类型和 JSON 格式是否稳定

每次只调整一个主要因素,例如提示词内容、模型或模型参数,并使用同一组样例重新测试。否则出现变化时,很难判断是哪项修改造成的。

八、在其他场景中引用

创建并保存后,可以在支持提示词组件的页面中搜索并选择该提示词,例如智能应用编排、工作流的模型节点或技能编辑页面。

引用时需要再次确认:

  • 提示词类型和业务用途是否匹配;
  • 所有参数是否已经绑定到正确的输入;
  • 所选模型是否具备图片理解、工具调用或结构化输出等必需能力;
  • 提示词输出是否符合下游节点的输入要求;
  • 测试环境和正式环境使用的模型及配置是否一致。

九、修改、复制和删除

9.1 修改前评估影响

被多个应用或工作流复用的提示词属于公共依赖。修改正文、参数名称或输出格式前,应根据实际使用情况评估影响。引用次数仅表示累计使用次数,不能用于确认当前使用情况。

以下修改属于高风险变更:

  • 删除参数或修改参数名称;
  • 修改 JSON 字段、字段类型或允许值;
  • 改变服务边界和拒答规则;
  • 改变模型需要执行的步骤;
  • 删除正在使用的提示词。

9.2 什么时候复制提示词

需要进行较大改动、试验另一种写法或保留旧版本时,先复制提示词,再在副本中修改。副本拥有独立的组件 ID,引用关系需要单独维护。

建议在名称中体现用途或版本,例如“患者端-就诊指引-候选版”,验证通过后再逐步替换原引用。提示词管理中的复制功能用于创建副本,不等同于完整的版本发布和回滚机制。

9.3 删除提示词

删除提示词时,平台不会校验提示词是否被应用、工作流或技能引用,确认后将直接删除,且删除操作不可恢复。

十、上线前检查

  • 任务、输入、输出和异常处理是否明确;
  • 参数是否全部存在并正确绑定;
  • 外部输入是否与系统规则清楚分隔;
  • 是否禁止模型执行超出业务范围的行为;
  • 医疗敏感数据是否完成授权和脱敏;
  • 正常、异常和高风险样例是否测试通过;
  • 修改公共提示词前是否评估全部引用;
  • 下游节点能否稳定解析输出。

AI 应用开发平台 - 面向医疗场景的 AI 应用创新引擎