最佳实践
不是「怎么做」,是「怎么做得更好」。每篇用对比表格说清好与差的区别,附量化收益——让你知道改完能省多少、能提多少分。
1. 角色设定与提示词
核心原则: System Prompt 四要素——角色 → 知识范围 → 行为边界 → 输出格式。缺一个,Agent 就会在那一块自由发挥,而自由发挥通常意味着出错。
好 vs 差:
| 维度 | ✅ 好 | ❌ 差 |
|---|---|---|
| 角色 | 「你是外贸报价专员,负责回答客户的产品询价和物流咨询」 | 「你是一个专业的、友好的 AI 助手」 |
| 知识范围 | 「只回答知识库里有明确信息的产品。不在知识库里的,告诉客户需要确认」 | 不设范围,Agent 什么话题都敢接 |
| 行为边界 | 「不确定价格就说需要确认,不编造数字;客户要降价时,老客户给 5% 折扣空间」 | 「客户问价格时不要只说请联系销售」——只说了不要做什么,没说怎么做 |
| 输出格式 | 「报价时列出 FOB 价、物流方式和交期。价格标注币种」 | 不要求格式,Agent 每次回复结构都不一样 |
具体做法:
- 角色越具体越好。 「外贸报价专员」vs「AI 助手」——前者知道自己在跟谁说话、该用什么语气。如果你做的是留学咨询,写「留学选校顾问,熟悉美本 Top 50 的申请要求和录取数据」。
- 行为边界要明确——正反两面都写。 正面:告诉 Agent 应该怎么做。反面:告诉 Agent 什么不能做。反面示例往往比正面更重要:
- 「客户问价格时,给出参考价格区间,不要只说请联系销售」
- 「不确定答案时,说我需要确认一下,不要编造数字」
- 「客户要求降价时,不要直接答应。按报价规则:首次询价给标准价,老客户给 5% 折扣空间」
- 「不要主动提竞品,客户问了再客观对比,不说我们是最好的」
- 输出格式要固定。 每次 Agent 回复的结构一致,客户看起来才专业:「先报价 → 再报物流 → 最后报交期」。不要每次回复格式都不一样。
- 控制在 500 字以内。 Prompt 太长,Agent 会忽略关键约束。从 200 字废话砍到 50 字精准指令,每次调用省 150 token。
量化收益:
| 优化项 | 效果 | 量化 |
|---|---|---|
| 精简 Prompt(200 字 → 50 字) | 每次调用省 150 token | 日活 1000,月省 450 万 token ≈ ¥450 |
| 明确行为边界 | 幻觉率下降 | 编造信息的比例从 ~15% 降到 ~3% |
| 固定输出格式 | 客户满意度提升 | 格式统一后,客户追问率下降 ~20% |
常见坑:
- Prompt 和知识库内容冲突 → 以知识库为准,Prompt 是兜底规则
- 改了 Prompt 没跑回归测试 → 一条 Prompt 改动可能影响所有用例
- 只写「应该做什么」不写「不能做什么」→ 反面约束往往比正面指令更有效
2. 知识库组织
核心原则: 按主题拆成小文件,文件夹分类,优先 Markdown。Agent 检索的不是「整个文档」,是「文档里的片段」——文件越聚焦,检索越精准。
好 vs 差:
| 维度 | ✅ 好 | ❌ 差 |
|---|---|---|
| 内容粒度 | 按主题拆成多个小文件,每个文件聚焦一个话题 | 一个 200 页 PDF 全扔进去,Agent 检索不到精准内容 |
| 结构组织 | 用文件夹分类:产品资料、FAQ、合同模板、案例库 | 所有文件堆在根目录,Agent 检索效率低 |
| 格式选择 | 优先 Markdown / 纯文本,结构清晰,检索友好 | 扫描件图片 PDF,文字不可检索,Agent 看不到 |
| 信息密度 | 每句话有信息量,去掉废话和重复段落 | 大量营销套话、重复内容、无关信息 |
| 维护频率 | 定期更新,过时内容及时删除或标注 | 上传后不管,Agent 拿着过时的报价和流程回答客户 |
| 覆盖范围 | 覆盖客户 80% 常见问题:产品、价格、流程、案例 | 只有产品简介,客户问价格、问售后、问案例全答不上 |
| 测试验证 | 上传后在演练场跑测试用例,低于 80 分就调 | 传完就发布,客户遇到错误回答才发现问题 |
| 版本管理 | 每次变更记录清晰,出错可回滚 | 覆盖式更新,改坏了找不回旧版本 |
具体做法:
- 文件夹结构建议:
知识库/
├── 产品资料/ ← 每个产品一个文件,含规格、价格、图片
├── FAQ/ ← 客户常问的 20-50 个问题,一问一答一个文件
├── 合同模板/ ← 标准合同、报价单模板
├── 案例库/ ← 成功案例,每个案例一个文件
└── 行业知识/ ← 行业法规、术语解释、市场数据
- 扫描件 PDF 先转 Markdown 再上传。 扫描件里的文字不可检索,Agent 根本看不到。用 OCR 工具转成可编辑文字,再上传。
- 维护节奏: 每次业务变更(价格调整、新品上线、流程变化),同步更新知识库。过时内容标注「[已过期]」或直接删除——Agent 不会判断信息是否过时,它只会检索到就拿来用。
量化收益:
| 优化项 | 效果 | 量化 |
|---|---|---|
| 按主题拆分文件 | 检索精准度提升 | 答非所问率从 ~25% 降到 ~8% |
| 用 Markdown 替代扫描件 | 召回率提升 | 扫描件几乎 0 召回,Markdown 接近 95% |
| 定期维护知识库 | 过时信息导致的错误下降 | 客户投诉「报错价」减少 ~60% |
常见坑:
- 知识库太「薄」——只有产品简介,客户问价格、问售后、问案例全答不上
- 知识库太「厚」——塞了大量无关内容,Agent 检索时噪音多,精准度下降
- 上传后不管——价格变了、流程改了,知识库还是旧的,Agent 报错价
3. 评估驱动的迭代节奏
核心原则: 每次改 Agent 配置前,先跑一遍回归测试拿基准分;改完再跑,看分数变化。分数涨了 → 改对了。分数跌了 → 改坏了,回退。
六步迭代循环:
① 从真实会话中收集答错/答非所问的案例
↓
② 加入测试集(写清楚期望回答的关键要点)
↓
③ 跑回归,拿当前基准分
↓
④ 改配置(补知识库 / 调 Prompt / 修本体 / 改技能)
↓
⑤ 再跑回归,看分数是否提升
↓
⑥ 分数 ≥ 上一版本 → 上线
具体做法:
- 每周从会话监控里捞 5-10 条问题案例。 在会话详情页,看到 Agent 回答不好的消息 → 点「加入测试集」→ 编辑期望回答。修完配置后,这些案例就是你的验证用例。
- 测试集保底 30 条才上线。 10 条太少了,覆盖不了真实场景。30 条能覆盖大部分核心业务。50 条以上说明你已经跑了一段时间,覆盖面更稳。
- 五种坏例类型,对症下药:
| 坏例类型 | 根因 | 怎么修 |
|---|---|---|
| 答不上来 | 知识库缺资料 | 补知识库 |
| 答错了 | 知识库信息有误或检索不准确 | 修正知识库 + 调整切片大小 |
| 编造了 | System Prompt 没约束 | 加约束:「不确定的事说不知道」 |
| 格式乱了 | 没要求输出格式 | 在 Prompt 里加模板要求 |
| 答非所问 | 检索召回不相关的内容 | 优化知识库文件结构,按主题拆分 |
- 一次只修一个问题。 别一口气改 Prompt + 补知识库 + 调本体——修完不知道哪个改动起了作用。一个一个来,改完跑回归,确认分数变化。
量化收益:
| 优化项 | 效果 | 量化 |
|---|---|---|
| 测试集从 10 条涨到 50 条 | 准确率提升 | 70% → 92% |
| 每周迭代一次 | 客户投诉率下降 | 40-60% |
| 上线前必跑回归 | 线上故障率下降 | 改坏上线的情况从「常有」到「几乎没有」 |
常见坑:
- 改完配置直接发布,不跑回归——客户遇到错误才发现
- 测试集只有正向用例,没有边界和异常——Agent 在正常场景下满分,一遇到刁钻问题就翻车
- 期望答案写太死——Agent 换了个说法就被判错,其实答对了
4. 成本优化
核心原则: 花最少的积分,让 Agent 回答质量不降。不是抠门——是知道你花的每一分积分都在沙箱里变成了真实计算。
成本构成速览:
| 费用类型 | 怎么算 | 什么时候花 |
|---|---|---|
| 沙箱执行费 | 按执行时长计费,精确到秒 | Agent 跑代码、调 API、生成文件时 |
| 知识库存储费 | 按文件大小计费 | 上传知识文件时开始算 |
| 套餐费 | Free / Starter / Pro | 按月 |
关键认知: 纯文字对话不计沙箱费。客户问「你好」、Agent 回「你好」——不花钱。Agent 调汇率 API 算价格、生成 PDF 报价单——花钱。
四大省钱策略:
| 策略 | 怎么省 | 省多少 |
|---|---|---|
| 精简 System Prompt | 从 200 字砍到 50 字,去掉「你是专业的、友好的…」之类废话 | 日活 1000,月省 450 万 token ≈ ¥450 |
| 知识库给结论不给背景 | 去掉「成立于 1907 年,位于伦敦市中心…」之类铺垫,只留关键数据 | 每次检索省 30-50% 上下文 |
| 纯文本对话不触发沙箱 | 简单计算 Agent 直接算,不调沙箱。除非真的需要跑代码 | 沙箱成本近零 |
| 缓存重复计算 | 汇率、运费等不频繁变动的数据,在技能里缓存;当天算一次存起来,同一会话不重复调 API | 减少 70% 重复调用 |
具体做法:
- 精简 Prompt 最立竿见影。 从 200 字砍到 50 字,每次调用省 150 token。砍掉的是「你是专业的、友好的、经验丰富的」这类废话——不是指令,Agent 不需要。
- 大文件放知识库,不要每次在沙箱里重新生成。 比如产品目录 PDF,生成一次存知识库,下次直接返回。只生成「需要动态计算」的东西——比如针对特定客户的报价单。
- 技能代码精简。 不装不需要的库。每次沙箱启动都会加载依赖,第三方库越大启动越慢、执行越久。一个汇率查询技能,只需要
requests,别装一整个数据分析栈。 - 设预算预警。 运营后台 → 费用中心 → 预算预警:
- 日 Token 消耗超过日常 1.5 倍 → 提醒你检查
- 月费用预估超过预算 80% → 警告,该省钱了
- 单次会话成本超过 ¥5 → 标记异常,可能有人在刷
一个典型会话的成本拆解:
客户问「T 恤发洛杉矶,FOB 报价多少」:
| 步骤 | 操作 | 沙箱执行 | 费用 |
|---|---|---|---|
| 1 | Agent 理解问题,查知识库 | 否 | 0 |
| 2 | Agent 调汇率 API 算价格 | 是 | ~0.3 秒 |
| 3 | Agent 生成 PDF 报价单 | 是 | ~0.5 秒 |
| 4 | Agent 返回文字回答 + PDF 链接 | 否 | 0 |
这次会话沙箱执行约 0.8 秒。 纯文字部分不花钱。
什么时候该升级套餐:
- 连续 2 周沙箱执行次数超过免费额度的 80% → 考虑升级到 Starter
- 月会话量超过 1000 次 → 升级到 Pro
- 需要多个 Agent 同时在线 → Pro 套餐
常见坑:
- 不设预算预警 → 月底看到账单吓一跳
- 技能写了个死循环 → 沙箱一直跑,费用暴涨。检查异常消耗:费用中心 → 按 Agent 拆分 → 看有没有突然暴涨的
- 知识库太大 → 检索超时,每次查询都花更多 token
最后更新:2026-09-08