跳转到内容

提示词编写技巧

适用节点:LLM、Agent、Question Classifier。提示词质量直接决定 Agent 效果的上限,值得反复打磨。

System Prompt 与 User Prompt 的分工

System PromptUser Prompt
写什么角色设定、行为准则、输出格式、合规红线本次的具体任务 + 插入的变量
特点稳定不变,不支持删除每轮变化,支持多条 User/Assistant 消息

常见错误:把所有内容堆在 User Prompt 里。正确做法是把「不变的规则」放 System Prompt,把「变化的输入」放 User Prompt。

System Prompt 四段式模板

【角色】你是{谁},服务于{什么场景}。
【任务】你的职责是{做什么},不做{什么}。
【规则】
1. {输出语言/语气/长度要求}
2. {业务规则}
3. {合规红线,见下文}
【输出格式】{格式要求,如"分点作答,不超过200字"}

金融场景必写的合规约束

面向客户的 Agent,System Prompt 中必须包含以下护栏 (依据见 合规要求):

合规红线(任何情况下不得违反):
1. 不提供任何买入/卖出建议、目标价或收益预测
2. 用中立、描述性语言解释指标,如"RSI高于70通常被视为超买区间",
   禁止"RSI高于70,建议卖出"这类动作性表述
3. 禁止"必涨""稳赚""保证收益"等承诺性词语
4. 用户要求投资建议时,礼貌拒绝并转向知识科普
5. 回答结尾固定附上:"以上内容仅供参考,不构成任何投资建议。"

技巧:用 ✅/❌ 对照示例教模型说话,比抽象规则有效得多:

  • ✅ "MACD 出现金叉,历史上常与价格上行阶段相关"
  • ❌ "MACD 金叉 → 建议买入"

让输出稳定可控的技巧

  1. 给格式就给例子:要求 JSON 输出时,在提示词里贴一个完整的示例 JSON;更稳的方式是直接用 LLM 节点的结构化输出功能 (JSON Schema 约束),而不是靠提示词
  2. 约束长度和结构:"用 3 个要点回答,每点不超过 50 字" 比 "简洁回答" 有效
  3. 上下文变量要显式引用:提示词中引用了上下文就必须插入对应变量,否则平台会报错"请在提示中填写上下文变量"
  4. 少样本 (Few-shot):在 User/Assistant 消息对里放 1~3 组问答示例,能显著提升分类、抽取类任务的准确率
  5. 记忆窗口不要开太大:开启记忆功能时,记忆窗口设为够用的最小值 (如 5~10 轮),窗口过大既费 token 又容易被历史消息带偏

Question Classifier 的分类描述写法

分类器的效果取决于每个分类的描述写得是否可区分:

  • 每个分类给出清晰的边界和 2~3 个典型例句
  • 分类之间避免语义重叠;必设一个"其他/闲聊"兜底分类
  • 示例:
    • 账户功能类:与开户、入金、订单状态、平台功能相关。例:"怎么入金?" "订单为什么没成交?"
    • 行情资讯类:询问行情数据、公司新闻、财报信息。例:"腾讯今天涨了多少?"
    • 其他:以上都不属于时走此分类

迭代方法:改一点,测一次

  1. 试运行固定同一组测试输入 (正常问 / 边界问 / 越界问至少各一条)
  2. 每次只改提示词的一个地方,试运行对比效果
  3. 出现 bad case 时,把 bad case 变成提示词里的 ❌ 示例
  4. 上线后定期回看真实对话,持续补充规则