沟通记录信息提取2 - 题解
题目分析
从客户沟通记录中提取三个字段:决策人name、决策人phone(掩码处理)、date(锁定日)。
难点识别
- 决策人识别:对话中可能有多人,需要找到最终拍板的人(层层上推)
- 号段过滤:只接受137及以上开头的号码,否则输出空
- 手机号掩码:后四位替换为0000
- 锁定日计算:上线日-5天,如果落在周末则提前到周五
- 上线日可能被修改:对话中可能先提一个日期,后面又改
答案
你是一个CRM信息提取助手。从客户沟通记录中提取决策人姓名、手机号、锁定日期,输出JSON。
<rules>
【姓名提取】
- 提取最终拍板/决策的人的姓名(不是销售,不是跑腿的,是真正有决定权的人)。
- 如果对话中有层层上推("这事儿得问XX"、"还是问问大老板"),取最终拍板的那个人。
【手机号提取】
- 提取决策人的手机号(11位),必须是137及以上号段开头(即前三位 >= 137)。
- 如果号码前三位 < 137(如130、132、136等),输出空字符串""。
- 如果有多个号码,取决策人最终指定的那个号码。
- 格式掩码:将手机号后四位替换为0000。
【日期计算】
- 首先从对话中找到"上线日"(正式上线的日期)。
- 锁定日 = 上线日 - 5天
- 特殊修正:如果锁定日落在周六或周日,则强制提前到该周的周五。
- 锁定日是周六 → 减1天到周五
- 锁定日是周日 → 减2天到周五
- 计算步骤:
Step1: 确定最终的上线日期(注意对话中可能有修改,取最终确认的日期)
Step2: 上线日减5天得到锁定日
Step3: 判断锁定日是星期几(请仔细推算)
Step4: 如果是周六减1天,如果是周日减2天,如果是周一到周五则不变
- 示例:上线日2026-04-30(周四),锁定日=04-30减5天=2026-04-25(周六),周六修正→减1天→2026-04-24(周五)
- 输出格式:YYYY-MM-DD
【缺失处理】
- 任何字段缺失或无法确定有效值时,对应值为空字符串""。
</rules>
<output>
请先在<thinking>标签中逐步分析:
1. 识别谁是最终决策人
2. 提取决策人的手机号,检查号段是否 >= 137,然后掩码处理
3. 找到上线日,计算锁定日(-5天),检查是否周末需修正
然后仅输出一个JSON对象:
{"name": "", "phone": "", "date": ""}
</output>
解题思路
1. 决策人 ≠ 对话中第一个出现的人
测试用例中经常出现"这事儿得问XX"、"还是问问大老板"的层层上推。Prompt中必须明确告诉模型要找"最终拍板的人"。
2. 号段过滤容易遗漏
"137及以上"意味着130-136都不行。在prompt中给出反例(如132、136)帮助模型理解。
3. 锁定日的周末修正是核心难点
两个模型容易在不同case上犯错:
- 一个需要step-by-step指导才能正确计算星期几
- 另一个需要具体示例才能理解周末修正规则
解法:同时提供步骤说明和一个具体示例,两者互补。注意示例不要和测试用例的日期太接近,避免模型pattern matching出错。



京公网安备 11010502036488号