销售团队每天要处理大量重复性文档——管线简报、会前准备包、预测复盘、客户规划、停滞订单诊断。这些工作内容高度结构化,却总是靠人工从 CRM、邮件、通话记录里拼凑,耗时且容易遗漏关键信息。Codex 的能力恰好匹配这类需求:从真实工作输入中提取要点,按固定模板生成可交付的文档。
五个高频场景,一个底层逻辑
Codex 在销售场景的核心用法可以归结为一句话:把散落在各处的原始素材,按业务需要的格式一次性组装出来。下面逐个拆解。
管线简报(Pipeline Brief)
管线简报需要回答三个问题:当前有哪些活跃机会、每个机会处于什么阶段、本周重点推进哪几个。输入素材通常是 CRM 导出的机会列表、上周的推进记录、关键客户的最新邮件摘要。
会前准备包(Meeting Prep Packet)
和客户开会前,销售需要快速回顾:上次谈了什么、客户当前痛点、竞品动态、内部产品最近更新。这些信息分散在通话记录、CRM 备注、产品 changelog 里。Codex 可以把它们压缩成一页会前摘要。
预测复盘(Forecast Review)
预测复盘的核心是识别风险:哪些机会可能 slip,哪些 commit 有隐患。输入是预测数据 + 各机会的最近活动记录,输出是风险标注和调整建议。
客户规划(Account Plan)
客户规划需要长期视角:客户战略方向、组织架构、历史采购、扩展机会。Codex 从多渠道信息中提取结构化的账户画像。
停滞订单诊断(Stalled-Deal Diagnosis)
订单卡住时,销售需要快速判断卡点在哪——预算、决策人变动、竞品介入、还是内部跟进不足。Codex 对比历史成功路径和当前停滞信号,给出诊断和下一步建议。
实战:用 Python + OpenAI API 批量生成会前准备包
下面这段代码演示如何把 CRM 导出的机会数据和通话摘要喂给 Codex,批量生成会前准备包。你可以直接改造 prompt 模板来适配其他四个场景。
import os
import json
from openai import OpenAI
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
# ---- 输入:从 CRM 或手动整理的真实工作素材 ----
opportunities = [
{
"account": "星辰科技",
"stage": "方案验证",
"last_call_summary": "客户对数据迁移方案有顾虑,希望看到参考案例;CTO 张伟下周出差,需提前确认参会时间。",
"recent_emails": [
"张伟:上次演示的 API 限流数据能否补充完整版?",
"采购李芳:预算审批预计下月中旬完成。",
],
"competitor_activity": "竞品 X 近期在该客户行业发布了垂直解决方案白皮书。",
"product_updates": "v2.4 支持增量迁移,无需全量停机。",
},
{
"account": "云帆数据",
"stage": "商务谈判",
"last_call_summary": "客户要求合同增加 SLA 条款,法务正在评估。",
"recent_emails": [
"法务王磊:SLA 99.9% 可接受,但需明确故障响应时间窗口。",
],
"competitor_activity": "无明显竞品动作。",
"product_updates": "SLA 模板已更新,含 15 分钟响应承诺。",
},
]
# ---- Prompt 模板:会前准备包 ----
MEETING_PREP_PROMPT = """你是一位资深销售教练。根据以下机会信息,生成一份会前准备包,严格按此格式输出:
## 客户:{account}
- 当前阶段:{stage}
- 上次通话要点:{last_call_summary}
- 近期邮件关键信息:{recent_emails}
- 竞品动态:{competitor_activity}
- 产品更新(可用于本次沟通):{product_updates}
## 会前准备建议
1. 开场切入点(基于上次通话遗留问题)
2. 需准备的资料/数据
3. 需确认的内部协调事项
4. 预判客户可能提出的异议及应对思路
请用简洁的中文,控制在 300 字以内。"""
# ---- 批量生成 ----
prep_packets = []
for opp in opportunities:
prompt = MEETING_PREP_PROMPT.format(**opp)
response = client.chat.completions.create(
model="gpt-4.1", # 或使用 codex 相关模型
messages=[{"role": "user", "content": prompt}],
temperature=0.3, # 低温度保证输出稳定可复用
max_tokens=500,
)
packet = response.choices[0].message.content
prep_packets.append({"account": opp["account"], "packet": packet})
# ---- 输出结果 ----
for item in prep_packets:
print(f"========== {item['account']} 会前准备包 ==========")
print(item["packet"])
print()
运行前确保:
pip install openai并设置OPENAI_API_KEY环境变量。opportunities列表替换为你从 CRM 导出的真实数据——字段名保持一致即可。temperature建议保持在 0.2–0.4,销售文档需要稳定输出而非创意发散。
把 MEETING_PREP_PROMPT 换成其他模板,就能生成管线简报、停滞订单诊断等。核心逻辑不变:定义输入字段 → 写 prompt → 批量调用 → 结构化输出。
Prompt 模板速查:四个场景一表搞定
| 场景 | 关键输入字段 | 输出格式要点 |
|---|---|---|
| 管线简报 | 机会列表、阶段、金额、上周推进记录 | 活跃机会表 + 本周重点推进 3 条 |
| 预测复盘 | commit/upside/risk 分类、各机会最近活动 | 风险标注 + slip 预警 + 调整建议 |
| 客户规划 | 客户战略、组织树、历史采购、扩展机会 | 账户画像 + 12 个月路线图 |
| 停滞诊断 | 停滞天数、历史成功路径、当前卡点信号 | 卡点分类 + 下一步行动清单 |
每个模板的写法遵循同一模式:先列出输入数据,再规定输出段落和字数限制。这样 Codex 的输出才能直接粘贴进邮件或 CRM 备注,不用二次加工。
落地时的坑和对策
数据质量是天花板。 Codex 无法凭空创造信息。如果 CRM 里机会备注是空的、通话记录只有"聊了聊",输出再漂亮的模板也只是空壳。建议在推行前先做一轮数据清理:关键机会至少有 3 条有意义的备注。
批量生成需要人工抽检。 第一批跑完后,挑 5–10 份让资深销售逐条核对。重点看两个维度:事实是否准确(不能编造客户没说过的话)、建议是否可执行(不能给"加强沟通"这种废话)。根据反馈调整 prompt 的约束条件。
敏感信息要脱敏。 客户姓名、内部定价、法务条款等内容进 API 前要评估合规风险。最简单的做法是在 prompt 里加一句:"如涉及具体金额或合同条款,用[待补充]替代,不要输出真实数值。"
不要替代思考,只替代拼凑。 Codex 生成的会前准备包是起点而非终点。销售仍然需要判断哪些建议真正适合当前客户关系——但至少不用再花 40 分钟翻邮件找上次聊了什么。
如果你正在搭建销售团队的 AI 工作流,建议从会前准备包这个场景切入——输入最明确、输出最即时、销售体感最强。跑通一个场景后,再把同样的模式复制到管线简报和停滞诊断上,逐步形成团队自己的 prompt 库。