日常居 AI、SEO与投放的一些笔记
AI 应用工程

提示词别硬编码在业务代码里

2026-10-05 · AI 应用工程

最开始我把提示词写成模板字符串,直接塞在 service 里:

const prompt = `你是一个专业的客服助手,请根据以下资料回答用户问题...`;

三个月后这段代码变成了 200 行,改一个字要发一次版,运营想调语气得找我。这明显不对。

把提示词当配置,不当代码

现在所有提示词放在一张表里,字段是:key、版本、内容、备注、启用状态。业务代码只认 key,比如 support.reply.v3。

好处很直接:

  • 运营可以自己在后台改措辞,改完点"试运行",看十个样例的输出
  • 出问题能一键回滚到上一版
  • 谁改的、什么时候改的、为什么改,都有记录

版本号怎么定

不是每次改都升大版本。我们的规则是:

  • 改错别字、调语气 → 同一个版本,记一条变更说明
  • 改输出结构、加字段 → 升版本,旧版本保留,允许业务方慢慢迁
  • 换模型 → 一定升版本,因为同样的提示词在不同模型上表现可能完全不同

提示词里该写什么

踩过的坑是"什么都往里塞"。系统提示词一度有 1800 token,里面写着公司简介、产品线、竞品对比、话术禁忌。结果模型经常抓错重点。

现在的结构是分层的:

  1. 角色和边界(必须):你是谁、能做什么、不能做什么,控制在 100 字以内
  2. 任务说明(必须):这次要完成什么,输入是什么,输出格式是什么
  3. 业务规则(按需):真正跟本次任务相关的规则,不超过 5 条
  4. 示例(可选):一两个就够,多了反而限制发挥

公司简介这类"背景知识"不要放系统提示词,走检索。需要的时候才带进来,不需要就是纯浪费。

一个容易忽略的点

提示词改了,评估集要跟着更新。我们有一次把输出格式从"段落"改成"要点列表",提示词改完直接上线,结果下游解析代码全挂了——因为没人想到要去跑一遍回归。

现在改提示词会自动触发一次评估,通过率低于阈值就不让发布。流程重一点,但比线上出事强。

← 更新的一篇一个失败的小工具项目复盘
更早的一篇 →结构化数据:别为了富媒体结果乱标
← 返回首页