核心提示词管理核心概念

核心概念

本页讲解 prompt 管理的概念和最佳实践。如果你还没看过,建议先阅读概览页面,了解它对应用可观测性的价值。

准备好动手了?查看快速开始指南创建你的第一个 prompt。

Prompt 对象

Litefuse 把 prompt 视为给 LLM 的指令(可以是单个字符串或一组消息)以及可选的附加配置的组合,这些配置会影响行为。

prompt 对象还有几个属性,用于管理不同的版本、变体和部署。本页将带你了解高效使用 prompt 的关键原则。

关于 prompt 对象所有字段和方法的详细说明,参见 SDK 参考文档

Chat 与 Text 类型 prompt

Litefuse 支持两种 prompt 类型。type 字段决定了格式,创建后不可更改。

Text prompt 是单个字符串,适合简单场景,或者你只需要一条 system 消息时。

Chat prompt 是一组带有特定角色(system、user、assistant)的消息,适用于你想管理完整对话结构、包含示例对话或处理聊天历史的场景。

Text prompt example
{
  "name": "movie-critic",
  "type": "text",
  "prompt": "As a movie critic, do you like Dune 2?",
  "version": 1
}
Chat prompt example
{
  "name": "movie-critic-chat",
  "type": "chat",
  "prompt": [
    {
      "role": "system",
      "content": "You are a movie critic."
    },
    {
      "role": "user",
      "content": "Do you like Dune 2?"
    }
  ],
  "version": 1
}

何时使用 chat prompt: 大多数应用从 text prompt 起步。当你的逻辑变得更复杂,需要管理多条消息、基于角色的结构或聊天历史时,切换到 chat prompt 就更合适。这样你可以在 prompt 管理系统中维护完整的对话结构。

Prompt 的动态渲染

你可以在 prompt 中加入变量,运行时动态填充。可用的变量类型有几种,下面分别说明。

Prompt 支持三种方式在运行时插入动态内容:

类型适用场景
变量在消息中插入动态文本
Prompt 引用在多个 prompt 之间复用 prompt,避免重复编写公共指令
消息占位符插入消息数组(例如聊天历史)

Prompt 缓存

Litefuse Prompt 管理使用缓存的 prompt 主要有两个原因:

  1. 不会给应用增加延迟。
  2. 消除可用性风险。

这意味着你更新 prompt 之后最初几次 trace 可能仍在使用旧版本。如果你的场景对实时更新有强需求,可以禁用缓存或配置更短的 TTL(生存时间)。

关于缓存如何工作以及如何配置,参见缓存文档

版本与标签

理解版本和标签如何配合是生产环境管理 prompt 的关键。它们各有用途,但相辅相成。

版本为每一次 prompt 变更提供不可变的历史记录。每次更新都会生成一个新版本(1、2、3……)。

标签是指向某个具体版本的指针。你的代码通常应当指向标签。常见标签包括:

  • production - 默认标签,用于生产环境应用
  • latest - 始终指向最新版本
  • 自定义标签 - 创建用于 staging、testing、租户或 A/B 测试的标签

更多内容参见版本与标签

部署流程

下面是一个典型的 prompt 变更部署流程:

  1. 创建并测试: 创建一个新的 prompt 版本(自动获得 latest 标签)
  2. 校验: 在开发环境或 Playground 中测试新版本
  3. 部署:production 标签更新到指向新版本
  4. 监控: 你的生产应用会在下次获取时自动用上新版本
  5. 必要时回滚: 直接把 production 标签重新指回上一个版本

由于你的代码引用的是标签,整个过程不需要修改代码。

这个页面对你有帮助吗?