一、先说个数字:42 小时
Harvard Business Review 曾对 2241 家 B2B 企业做过一次神秘顾客实测:新询盘的首次响应时间平均是 42 小时,其中 23% 的企业从未回复。
另一组更早、但被反复复现的研究(Oldroyd,2007,即《The Short Life of Online Sales Leads》引用的那组)给出的结论是方向性的:5 分钟内接触询盘,命中资格的几率大约是 30 分钟后的 21 倍;后续多家机构的重复测试显示,能在 5 分钟内响应的企业只有 7% 左右。
数字的具体倍数不必较真(毕竟原始研究是 2007 年的),但方向非常稳定:响应速度是 B2B 转化里少数几个「几乎免费、且立刻能改」的变量。
问题是,中小工厂做不到。原因很朴素:
- 询盘晚上 10 点来,销售第二天上班才看到;
- 销售在车间/出差/开会,手机响了也接不了;
- 只有一个业务员,同时管报价、跟单、发货;
- 阿里巴巴、官网表单、微信、抖音私信,四个入口没人统一盯。
所以这篇文章不讲概念,只讲怎么用 Coze 工作流把「第一响应」这件事交给 AI,并且不失控。整套方案不写后端也能上线,最后我会给一段落库代码,让询盘不漏。
二、先划边界:哪些能交给 AI,哪些必须转人工
这一步 90% 的人会跳过,然后翻车。AI 接待的失败从来不是因为答不上问题,而是因为答得太自信——尤其是报价。
| 询盘类型 | 处理方式 | 理由 |
|---|---|---|
| 产品参数、材质、规格、常规交期 | ✅ AI 直接答 | 知识库里有标准答案,答得快就是赢 |
| 资质、认证、案例、工厂产能 | ✅ AI 直接答 | 增强信任,且不涉及承诺 |
| 起订量、能不能定制、开模流程 | ✅ AI 答范围 + 追问细节 | 需要收集客户的具体需求参数 |
| 具体价格、折扣、账期 | ⚠️ AI 只给区间,然后必须转人工 | 报价一旦说错,要么亏,要么失信 |
| 投诉、索赔、质量纠纷 | ❌ 立即转人工,AI 不解释 | 情绪场景,AI 只会火上浇油 |
| 招投标、大额项目、独家代理 | ❌ 立即转人工 + 通知老板 | 高价值,必须人接 |
一句话原则:AI 负责「让客户感到被立刻接住了」,人负责「让客户掏钱」。
把这个表写成工作流里的分支条件,比写十页提示词都管用。
三、整体架构
对应的节点配置(Coze 工作流里就是拖这几个块):
| 顺序 | 节点 | 类型 | 关键配置 |
|---|---|---|---|
| 1 | 开始 | 系统 | 入参:user_input、channel、session_id、history |
| 2 | 意图识别 | LLM | 输出枚举:product / price / complaint / vip / other |
| 3 | 条件分支 | Condition | 按枚举走 4 条路 |
| 4 | 知识库检索 | Knowledge | TopK = 5,开启「仅依据知识库回答」 |
| 5 | 生成回复 | LLM | 见第五节的完整提示词 |
| 6 | 字段抽取 | LLM(JSON 模式) | 输出公司名、联系人、电话、需求、数量、交期、意向等级 |
| 7 | 落库 | HTTP / 插件 | POST 到你的 Webhook,或写飞书多维表格 |
| 8 | 通知 | 插件 | 飞书/钉钉机器人推送 |
第 6 步的字段抽取是整套方案的胜负手——没有它,AI 聊得再热闹也是一个不产出的聊天窗口。
四、知识库怎么整理,决定了 Agent 的天花板
很多人把产品手册 PDF 一丢就完事,结果 AI 检索出一堆排版垃圾。工程上的经验是:不要上传手册,要上传「问答形状」的资料。
推荐把工厂资料拆成 5 个文件,每个文件内部按 ## 标题 + 一段正文 组织:
knowledge/
├── 01-产品参数.md # 型号、材质、规格、公差、适用场景
├── 02-价格与起订量.md # 价格区间(不给精确值)、阶梯、起订量、模具费
├── 03-交期与物流.md # 常规交期、加急规则、发运方式、覆盖区域
├── 04-资质与案例.md # 认证、专利、产能、已合作行业
└── 05-常见问题.md # 客户真实问过的 50 个问题 + 标准答案
几个具体建议:
- 价格写区间,不写精确值。 例如「该类产品常规批量单价区间为 32–48 元,具体取决于材质与数量,需工程师核价后 2 小时内回复」——把「转人工」写进知识库本身。
- 每条答案控制在 300 字以内。 超过 300 字就要拆成两条,否则检索命中后一段话糊上去,客户根本不看。
- 标注更新日期。 工厂价格和交期变动频繁,知识库里的「2026 年 8 月版」能防止 AI 拿过期数据回答。
- 上线前做 20 题回归测试。 准备 20 个真实客户问法(含错别字和口语),跑一遍,凡是引用错误或凭空编造的,回炉改知识库而不是改提示词。
记住一条:知识库是事实来源,提示词是行为约束。 事实错了改知识库,态度错了改提示词,别混着改。
五、完整提示词(可直接粘贴)
这是「生成回复」节点的系统提示词。我把工厂场景里踩过的坑都写进去了,重点是防幻觉报价和逼它收集联系方式。
# 角色
你是「{工厂名}」的售前接待助手,7×24 在岗。你的任务不是把客户聊高兴,
而是:① 立刻接住客户 ② 问清需求 ③ 拿到联系方式 ④ 判断要不要转人工。
# 绝对规则(违反即失败)
1. 只依据「知识库」内容回答事实性问题。知识库里没有的,直接说
「这个参数我需要跟工程师确认,麻烦留个联系方式,今天内回复您」,
严禁推测、严禁用行业通用值代替本厂数据。
2. 严禁给出任何精确报价、折扣、账期承诺。价格只能给知识库中标注的区间,
并必须补一句:「具体价格以工程师核价为准,我帮您转给销售同事。」
3. 涉及投诉、质量纠纷、索赔、法律相关,不做任何解释和安抚,直接输出:
「非常抱歉给您带来困扰,我马上安排负责人直接联系您。」然后触发转人工。
4. 客户提到招投标、年度框架、独家代理、单笔预估超过 {金额} 的,
立即转人工,并标记为高优先级。
5. 不承诺交期以外的任何时间节点;不加客户微信;不引导客户脱离当前渠道。
6. 不说「作为AI」「我是机器人」这类话,也不要过度使用感叹号。
语气:干脆、专业、像厂里干了十年的老师傅,不像电商客服。
# 对话策略
- 第一轮:直接回答客户问题(如果它能被回答),回答后立刻追问一个关键参数。
- 每轮最多问 2 个问题,不要一次抛 5 个,客户会跑。
- 优先收集的字段顺序:需求产品 → 数量 → 材质/规格要求 → 交期 → 公司名 → 手机号。
- 客户已经说过的信息不要重复问第二次,先复述确认再往下走。
- 客户连续两轮答非所问或明显不耐烦时,主动提出「我让销售同事加您,直接聊」。
# 输出格式
用 Markdown,短句为主,单条回复不超过 150 字。
涉及参数对比时用表格;涉及流程时用有序列表。
另外两个节点也各需要一段短提示词:
意图识别节点(只输出一个词,方便做条件分支):
判断用户意图,只输出以下之一,不要任何解释:
product —— 问产品、参数、材质、规格、定制可行性
price —— 问价格、报价、多少钱、优惠、账期
complaint —— 投诉、退货、质量、纠纷
vip —— 招投标、年度框架、大额订单、代理合作
other —— 其他
字段抽取节点(务必开启 JSON 输出模式):
{
"company": "客户公司名,未提及填空字符串",
"contact": "联系人姓名",
"phone": "手机号或微信号",
"product": "咨询的产品",
"quantity": "数量,未提及填 unknown",
"requirement": "一句话概括客户需求",
"intent_level": "A / B / C,A=明确要报价或要样品,B=有具体需求,C=泛泛了解",
"need_human": true,
"reason": "需要转人工的原因,若无需转人工填空字符串"
}
六、结构化落库:别让 AI 白聊
工作流最后一步把上面那个 JSON POST 到你的接口。一个 30 行的 Flask 示例,够用:
# app.py —— 接收 Coze 工作流回传的询盘,落库并推送
import csv, os, time, hashlib, requests
from flask import Flask, request, jsonify
app = Flask(__name__)
CSV_PATH = "leads.csv"
PUSH_URL = os.environ["FEISHU_WEBHOOK"] # 飞书/钉钉机器人地址
FIELDS = ["ts", "channel", "company", "contact", "phone",
"product", "quantity", "requirement", "intent_level", "need_human"]
@app.post("/coze/lead")
def lead():
data = request.get_json(force=True) or {}
row = {k: str(data.get(k, "")).strip() for k in FIELDS}
row["ts"] = time.strftime("%Y-%m-%d %H:%M:%S")
# 用 手机号+产品 去重,避免同一客户多轮对话写多条
key = hashlib.md5(f"{row['phone']}|{row['product']}".encode()).hexdigest()
exists = os.path.exists(CSV_PATH)
if exists:
with open(CSV_PATH, newline="", encoding="utf-8-sig") as f:
for old in csv.DictReader(f):
if hashlib.md5(f"{old['phone']}|{old['product']}".encode()).hexdigest() == key:
return jsonify(ok=True, duplicated=True)
with open(CSV_PATH, "a", newline="", encoding="utf-8-sig") as f:
w = csv.DictWriter(f, fieldnames=FIELDS)
if not exists:
w.writeheader()
w.writerow(row)
# 只有 A 类或需转人工的才打扰销售,否则每天早上批量看
if row["intent_level"] == "A" or row["need_human"] == "true":
requests.post(PUSH_URL, json={"msg_type": "text", "content": {"text":
f"🔔 新询盘 {row['intent_level']} 级\n"
f"公司:{row['company'] or '未填'}\n"
f"联系人:{row['contact']} {row['phone']}\n"
f"需求:{row['product']} / {row['quantity']}\n"
f"说明:{row['requirement']}"}}, timeout=5)
return jsonify(ok=True)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
三个细节值得单独说:
utf-8-sig不能省。 用 Excel 打开 CSV 的中文乱码,八成就是这个。BOM 加上就正常了。- 必须做去重。 客户在对话里断断续续说了三轮,工作流可能触发三次落库,销售会收到三条一模一样的通知——然后就把通知静音了,方案等于报废。
- 分级推送。 A 级和需转人工的实时推,B/C 级攒着批量看。告警疲劳是这类系统最常见的死法,不是技术问题。
七、三个必踩的坑
坑一:AI 报价报出事故。
最典型的案例是 AI 把「起订量 500 件以上单价 32 元」理解成「任何数量都 32 元」,客户拿着聊天记录来谈。防护有三层:知识库只写区间不写精确值、提示词里明文禁止、以及工作流里加一个关键词拦截节点——回复发出前扫一遍,命中「元/价/折/优惠 + 数字」的组合就替换成转人工话术。
坑二:多轮对话丢上下文。
Coze 里如果不把 history 传进去,客户说「那这个能做吗」,AI 完全不知道「这个」是啥。工作流的开始节点必须接收会话历史,并在提示词里明确「客户已经说过的信息不要重复问」。
坑三:接了但不记,等于没接。
很多团队把 AI 客服发布上线就结束了,没人看聊天记录。正确做法是每周导出一次未留联系方式的会话,看看客户都在哪个环节流失——你会发现大量客户是在问「能不能便宜点」之后就不说话了。这些内容就是你下一批产品页和短视频的选题。
八、怎么证明它有用
别看「AI 回复了多少条」这种虚荣指标。只看四个数:
| 指标 | 定义 | 健康值参考 |
|---|---|---|
| 首次响应时长 | 客户发消息 → 第一条回复 | < 10 秒 |
| 留联率 | 留下手机号/微信的会话占比 | 30% 以上可用 |
| 有效询盘数 | 打标签为 A/B 级的询盘条数 | 与人工口径对齐后比增量 |
| 人工介入率 | 触发转人工的比例 | 20%–40% 属正常,过低说明 AI 在硬答 |
把「响应时长」和「有效询盘数」做成周报贴在销售群里,比开三次会都有用。
九、一个容易被忽略的联动:让客户先找到你
AI 接待解决的是「客户来了之后」的问题。但还有一半问题在前面——客户根本没来。
现在越来越多采购在动手搜供应商之前,会先问一句豆包、DeepSeek 或者 Kimi:「四川有哪些做非标钣金的工厂?」「包装机械哪家交期稳?」
如果你的工厂在 AI 的回答里压根没被提到,那接待做得再好也没有客人。这个方向就是 GEO(生成式引擎优化),核心做法和传统 SEO 不一样:
- 内容要回答「问题」,而不是堆「关键词」。 AI 引擎引用的通常是能直接回答问题的那段文字。
- 把参数、交期、起订量写成结构化的表格和明确段落。 模糊描述(「交期短、价格优」)不会被引用。
- 保持官网和第三方平台的口径一致。 多家站点信息打架,AI 会判定为不可信。
- 结构化数据(Schema)要写对。 这是给机器看的身份证,写错了等于隐形。
一句话:GEO 让 AI 认识你,AI 接待让线索不流失。 这两件事必须一起做,只做一件等于漏水桶接水。
十、小结
整套方案拆开就是四件事:
- 划边界 —— 把「不能由 AI 说的话」写死在工作流分支里;
- 喂对知识 —— 上传问答形状的资料,不上传排版好的手册;
- 抽字段落库 —— 没有结构化落库的 AI 客服,只是一个贵一点的聊天窗口;
- 看四个数 —— 响应时长、留联率、有效询盘、人工介入率。
技术门槛比想象中低,一个下午能跑通。真正的门槛在知识库的整理质量和销售侧的接单流程——AI 只能把客人请进门,成交还是人的事。
写在最后
整套方案我在几家工厂里跑过,真正花时间的从来不是搭建,而是前面那份知识库——把老师傅脑子里的东西写成能检索的文档,这件事没人能替你干。
如果你也在工厂里折腾 AI,欢迎在评论区聊聊你们卡在哪一步,尤其是报价环节怎么防事故,我很好奇同行是怎么处理的。
本文为原创,基于实际项目经验整理。研究数据引自 Oldroyd (2007) 线索响应研究及 HBR《The Short Life of Online Sales Leads》相关报道,具体倍数请作为方向性参考。
2123



被折叠的 条评论
为什么被折叠?



