销售与 CRM 助手
销售场景用三类模型配合:主力模型把通话和会议转写稿整理成 CRM 纪要,另一个主力模型起草跟进邮件,便宜的小模型按写清楚的标准给线索评分、批量清洗 CRM 备注。每个销售团队用一把单独的 API Key,控制台「操作日志」按 Key 筛选,就能分清各团队花了多少。按每月 3,000 通电话、1 万条新线索、2 万条历史备注估算,用各模型最低价分组的实时价格计算,模型费用每月约 ¥71.26。
价格更新于 2026年11月13日 17:53
月成本估算
假设:30 人的销售团队,每月 3,000 通电话或会议,转写稿每份约 6,000 tokens,整理纪要每次输入约 7,000 tokens、输出约 600 tokens;起草 3,000 封跟进邮件,每封输入约 1,500 tokens、输出约 400 tokens;1 万条新线索评分,每条输入约 800 tokens、输出约 100 tokens;夜间清洗 2 万条历史备注,每条输入约 600 tokens、输出约 300 tokens。
业务问题
销售每天打电话、开会,CRM 里却常常只有一句“已沟通,待跟进”。客户的痛点、预算、决策人、下一步约定散落在各人的记忆和聊天记录里,换人跟进就得从头再问一遍。
线索越来越多,先跟进谁全凭感觉;CRM 备注格式五花八门,想按行业、阶段、下次跟进时间做个统计都做不出来。
大模型适合把这些文字工作先做一遍:从转写稿整理纪要,按约定起草跟进邮件,按写清楚的标准给线索评分,把历史备注整理成统一字段。邮件由销售改过再发,评分标准由销售负责人来定。
推荐模型组合
推荐模型按实时目录自动选取,价格取各模型最低价分组,更新于 2026年11月13日 17:53。点模型名可查看全部分组价格。
通话纪要与备注整理(主力模型)
qwen3.5-plus通义千问
输入 ¥1.12 / 输出 ¥6.72 每百万 tokens国产模型分组
读通话或会议的转写稿,按固定字段输出纪要:摘要、痛点、异议、决策人、下一步和日期,直接写进 CRM。转写稿长、纪要短,输入单价对这一项影响最大。录音转文字见语音转写方案。
跟进邮件起草(主力模型)
deepseek-v4.1-flashDeepSeek
输入 ¥2.8 / 输出 ¥11.2 每百万 tokens国产模型分组
根据纪要和客户资料起草跟进邮件,写明双方约定的下一步。只写纪要里有的内容,不替销售承诺价格和交期。给海外客户写英文邮件时,可以用自己的样本评测一下备选里的模型。
线索评分与备注清洗(小模型)
gemini-2.5-flash-liteGoogle
输入 ¥0.2 / 输出 ¥0.8 每百万 tokens标准分组
对每条新线索逐项判断评分标准,比如有没有预算、对方是不是决策人、需求是否匹配,分数由程序按固定分值计算;夜间再把历史备注批量整理成统一字段。量大、任务简单,选单价低、响应快的小模型。
参考架构
- 1
转写与收集
通话录音按语音转写方案转成文字,会议软件导出的转写稿可以直接用;新线索来自官网表单、展会名单或 CRM 导出。
- 2
纪要写回 CRM
主力模型从转写稿抽取固定字段:摘要、痛点、异议、决策人、下一步和日期,只写对话里出现过的内容,按 JSON 写回 CRM 对应字段。
- 3
起草跟进邮件
根据纪要和客户资料起草邮件,保存为草稿,由销售修改后发送;价格、折扣、交期只引用纪要里明确说过的内容。
- 4
按标准给线索评分
销售负责人写好评分标准和分值,小模型对每条标准回答是、否或不确定,程序按分值求和、排出跟进顺序;标准调整后重新计算。
- 5
夜间批量处理
历史备注清洗和线索评分放到夜间批量跑,客户端限制并发数(比如 8 个),遇到 429 等一会儿再重试,失败的放回队列第二天再跑。
- 6
按团队分 Key 管成本
每个销售团队或区域一把 API Key,并设好额度上限;控制台「操作日志」按 Key 筛选、导出 CSV,就能按团队核算模型费用。
成本估算
假设:30 人的销售团队,每月 3,000 通电话或会议,转写稿每份约 6,000 tokens,整理纪要每次输入约 7,000 tokens、输出约 600 tokens;起草 3,000 封跟进邮件,每封输入约 1,500 tokens、输出约 400 tokens;1 万条新线索评分,每条输入约 800 tokens、输出约 100 tokens;夜间清洗 2 万条历史备注,每条输入约 600 tokens、输出约 300 tokens。
| 项目 | 模型 | 用量假设 | 费用 |
|---|---|---|---|
| 通话纪要 | qwen3.5-plus | 3,000 次 × 输入 7,000 + 输出 600 tokens | ¥35.62 |
| 跟进邮件 | deepseek-v4.1-flash | 3,000 次 × 输入 1,500 + 输出 400 tokens | ¥26.04 |
| 线索评分 | gemini-2.5-flash-lite | 10,000 次 × 输入 800 + 输出 100 tokens | ¥2.4 |
| CRM 备注清洗 | gemini-2.5-flash-lite | 20,000 次 × 输入 600 + 输出 300 tokens | ¥7.2 |
| 合计(每月) | ¥71.26 | ||
按各模型最低价分组的实时价格计算,价格更新于 2026年11月13日 17:53。
只含模型调用费用,不含录音转写、CRM 系统和人工成本,录音转文字的费用见语音转写方案。历史备注清洗通常是一次性或阶段性的,清洗完之后每月只需处理新增备注。按团队分 Key 时,各团队的实际费用以控制台「操作日志」为准。
示例代码
每个团队一把 Key;主力模型把转写稿整理成 CRM 字段,小模型按评分标准逐项判断、程序计分,线索评分用线程池批量跑;跟进邮件只生成草稿,由销售修改后发送。
import json
import os
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI
# One API key per sales team (e.g. TUTUJIN_KEY_EAST): usage details can then be filtered and exported per key.
TEAM = os.environ.get("SALES_TEAM", "EAST")
client = OpenAI(base_url="https://www.tutujin.com/v1", api_key=os.environ["TUTUJIN_KEY_" + TEAM], max_retries=3)
# Set by the sales lead; every lead is scored on the same criteria.
CRITERIA = [
{"id": "budget", "points": 30, "text": "Mentions a budget or a buying timeline"},
{"id": "authority", "points": 25, "text": "The contact decides or names who decides"},
{"id": "need", "points": 30, "text": "Describes a problem our product solves"},
{"id": "fit", "points": 15, "text": "Company has 50 to 2,000 employees"},
]
def ask(model, system, user, temperature=0):
resp = client.chat.completions.create(
model=model,
messages=[{"role": "system", "content": system}, {"role": "user", "content": user}],
temperature=temperature,
)
return resp.choices[0].message.content
def as_json(raw):
return json.loads(raw[raw.find("{"): raw.rfind("}") + 1])
def call_notes(transcript):
return as_json(ask(
"qwen3.5-plus",
"Turn the sales call transcript into CRM notes. Use only what was said. Reply with JSON only: "
'{"summary": "", "pain_points": [], "objections": [], "decision_makers": [], "next_step": "", "next_step_date": "YYYY-MM-DD or empty"}',
transcript,
))
def score_lead(lead):
answers = as_json(ask(
"gemini-2.5-flash-lite",
'For each criterion answer yes, no or unknown, using only the lead data. Reply with JSON only, e.g. {"budget": "unknown"}',
"Criteria:\n" + json.dumps(CRITERIA) + "\n\nLead:\n" + json.dumps(lead, ensure_ascii=False),
))
return {"id": lead["id"], "score": sum(c["points"] for c in CRITERIA if answers.get(c["id"]) == "yes"), "answers": answers}
def follow_up_draft(notes, contact):
# saved as a draft: the rep checks and sends it
return ask(
"deepseek-v4.1-flash",
"Write a short follow-up email for the sales rep. Restate the agreed next step and date. "
"Never promise prices, discounts or delivery dates that are not in the notes.",
"Contact: " + json.dumps(contact, ensure_ascii=False) + "\nNotes: " + json.dumps(notes, ensure_ascii=False),
temperature=0.5,
)
# nightly batch: score yesterday's leads with a few requests in flight at a time
leads = [{"id": 1, "company": "Example Co", "employees": 300, "message": "I run support and we must replace our ticket tool before Q3."}]
with ThreadPoolExecutor(max_workers=8) as pool:
ranked = sorted(pool.map(score_lead, leads), key=lambda r: r["score"], reverse=True)
print(ranked)
with open("call-0412.txt", encoding="utf-8") as f:
notes = call_notes(f.read())
print(follow_up_draft(notes, {"name": "Ms. Chen", "company": "Example Co"}))常见问题
销售团队每月用大模型要花多少钱?
按每月 3,000 通电话整理纪要、3,000 封跟进邮件、1 万条线索评分、2 万条备注清洗估算,用最低价分组计算约 ¥71.26。不含录音转写费用;转写稿越长,纪要这一项越贵。
怎么按团队统计模型费用?
给每个销售团队或区域单独建一把 API Key,并设好额度上限。控制台「操作日志」可以按 Key 筛选、导出 CSV,按团队核算;某个团队用超了,只停那一把 Key,其他团队不受影响。
批量处理大量线索要注意什么?
客户端限制并发数,从 8 个左右开始,看 429 出现的比例再调;收到 429 等一会儿再重试,失败的放回队列。批量任务可以放到夜间跑,也可以用一把单独的 Key,方便和线上调用分开统计。
模型写的跟进邮件可以自动发出吗?
不建议。模型可能写错客户名称,或者写出对话里没有的承诺。邮件应先保存为草稿,由销售核对后发送;系统提示词里也要要求只使用纪要里出现过的信息。
线索评分准不准?
取决于评分标准写得是否具体、线索资料是否完整。让模型逐条回答是、否或不确定,再由程序按固定分值计分,结果可以复核;定期把评分和实际成交情况对照,调整标准和分值。
转写稿里有客户的个人信息,能发给模型吗?
请求会经本站转发给模型服务处理。建议只提交整理纪要需要的内容,隐去手机号、身份证号这类信息,并按你们适用的个人信息保护规定和公司制度评估。
