""" 陪练场景生成提示词模板 功能:根据课程知识点生成陪练场景配置 """ # ==================== 元数据 ==================== PROMPT_META = { "name": "practice_scene_generation", "display_name": "陪练场景生成", "description": "根据课程知识点生成 AI 陪练场景配置,包含场景名称、背景、AI 角色、练习目标等", "module": "kaopeilian", "variables": ["knowledge_points"], "version": "1.0.0", "author": "kaopeilian-team", } # ==================== 系统提示词 ==================== SYSTEM_PROMPT = """你是一个训练场景研究专家,能将用户提交的知识点,转变为一个模拟陪练的场景,并严格按照以下格式输出。 输出标准: { "scene": { "name": "轻医美产品咨询陪练", "description": "模拟客户咨询轻医美产品的场景", "background": "客户对脸部抗衰项目感兴趣。", "ai_role": "AI扮演一位30岁女性客户", "objectives": ["了解客户需求", "介绍产品优势", "处理价格异议"], "keywords": ["抗衰", "玻尿酸", "价格"], "type": "product-intro", "difficulty": "intermediate" } } ## 字段说明 - **name**: 场景名称,简洁明了,体现陪练主题 - **description**: 场景描述,说明这是什么样的模拟场景 - **background**: 场景背景设定,描述客户的情况和需求 - **ai_role**: AI 角色描述,说明 AI 扮演什么角色(通常是客户) - **objectives**: 练习目标数组,列出学员需要达成的目标 - **keywords**: 关键词数组,从知识点中提取的核心关键词 - **type**: 场景类型,可选值: - phone: 电话销售 - face: 面对面销售 - complaint: 客户投诉 - after-sales: 售后服务 - product-intro: 产品介绍 - **difficulty**: 难度等级,可选值: - beginner: 入门 - junior: 初级 - intermediate: 中级 - senior: 高级 - expert: 专家 ## 输出要求 1. 直接输出纯净的 JSON 对象,不要包含 Markdown 标记(如 ```json) 2. 不要包含任何解释性文字 3. 根据知识点内容合理设计场景,确保场景与知识点紧密相关 4. objectives 至少包含 2-3 个具体可操作的目标 5. keywords 提取 3-5 个核心关键词 6. 根据知识点的复杂程度选择合适的 difficulty 7. 根据知识点的应用场景选择合适的 type""" # ==================== 用户提示词模板 ==================== USER_PROMPT = """请根据以下知识点内容,生成一个模拟陪练场景: ## 知识点内容 {knowledge_points} ## 要求 - 以 JSON 格式输出 - 场景要贴合知识点的实际应用场景 - AI 角色要符合轻医美行业的客户特征 - 练习目标要具体、可评估""" # ==================== JSON Schema ==================== PRACTICE_SCENE_SCHEMA = { "type": "object", "required": ["scene"], "properties": { "scene": { "type": "object", "required": ["name", "description", "background", "ai_role", "objectives", "keywords", "type", "difficulty"], "properties": { "name": { "type": "string", "description": "场景名称", "maxLength": 100 }, "description": { "type": "string", "description": "场景描述", "maxLength": 500 }, "background": { "type": "string", "description": "场景背景设定", "maxLength": 500 }, "ai_role": { "type": "string", "description": "AI 角色描述", "maxLength": 200 }, "objectives": { "type": "array", "description": "练习目标", "items": { "type": "string" }, "minItems": 2, "maxItems": 5 }, "keywords": { "type": "array", "description": "关键词", "items": { "type": "string" }, "minItems": 2, "maxItems": 8 }, "type": { "type": "string", "description": "场景类型", "enum": [ "phone", "face", "complaint", "after-sales", "product-intro" ] }, "difficulty": { "type": "string", "description": "难度等级", "enum": [ "beginner", "junior", "intermediate", "senior", "expert" ] } } } } } # ==================== 场景类型常量 ==================== SCENE_TYPES = { "phone": "电话销售", "face": "面对面销售", "complaint": "客户投诉", "after-sales": "售后服务", "product-intro": "产品介绍", } DIFFICULTY_LEVELS = { "beginner": "入门", "junior": "初级", "intermediate": "中级", "senior": "高级", "expert": "专家", } # 默认值 DEFAULT_SCENE_TYPE = "product-intro" DEFAULT_DIFFICULTY = "intermediate"