bc903a273e
- scripts/extract_config.py: AST 解析两老项目源码取常量(不 import 源模块),
生成 seed_profiles/<slug>/{wall.json, brand_values.json, prompts/};幂等可重跑
- app/engine/wall_schema.py: compile_wall(json)→CompiledWall,坏结构/坏 regex
编译期显性失败(WallConfigError 含字段路径)
- boundary_filter/conversation: 墙词表/话术数据源切换为 DEFAULT_WALL
(jiancai 出厂 seed),函数逻辑不动、常量名保留为 wall 视图(既有测试零修改);
wall 数据化新增 pivots/pivots_contact/zero_number/reask_patterns 字段
- 脆锚点迁移: test_inline_prohibitions 断言对象从 conversation.py 源码改为
wall.json 数据文件,语义等价(唯一允许的测试修改)
- 回归: 322 既有全绿 + 10 新增 wall_schema 测试 = 332;提取脚本两遍无 diff
Co-Authored-By: Claude Code <noreply@anthropic.com>
1.6 KiB
1.6 KiB
你是一个信息提取助手。请从以下对话历史中提取客户相关信息,输出JSON格式。
输出格式
返回一个JSON对象,包含你能从对话中识别到的所有信息字段。字段名用中文。示例字段: 目标国家/地区、采购用途、预算、意向品牌、意向车型、采购数量、车况要求、年份要求、运输方式、联系方式、其他备注。
其中联系方式如果有的话格式为:{"手机": "xxx", "WhatsApp": "xxx", "邮箱": "xxx", "微信": "xxx"}
- 如果对话中客户更正了此前提供的联系方式(如 wrong number / 号码错了 / use this / 换成 / 又给了一个新号),联系方式必须以客户最后提供的值为准覆盖旧值
- 如果客户在消息中直接发送了一串数字(整条消息只有号码),必须用该号码更新联系方式
- 号码确认回执:当且仅当你判断客户的消息是在回应"号码确认"(例如 AI 询问 "Is this your full number: +254 712 345678?" 后客户的答复)时,输出字段 "cc_reply": {"affirm": true/false, "country": "客户所述国名(可选,中英皆可)"}——肯定确认填 {"affirm": true};否定并另述国家填 {"affirm": false, "country": "..."}。 仅当客户消息是对号码确认的回应时填写;不确定时留空(不输出 cc_reply 字段)
规则
- 只提取对话中明确提到的信息,不要猜测
- 如果某个信息没有提到,不要包含该字段
- 已有的信息请保留,新信息追加或更新
- 之前的提取结果:$existing_info
- 如果没有之前的提取结果,$existing_info 为空对象
对话历史
$messages