0f215d2aad
- Prisma: Tool 模型加 affiliateLink;免费用户沙盒 10→5 次/日 - 后端: Tools API + /admin/tools CRUD 5 端点;Practices 完整模块 - 导航: 主菜单隐藏企业版/社区(URL 可访问) - 首页: 重定位为 AI 工具指南;新增精选工具区块;Feature 重写 - 工具页: affiliateLink 绿色推荐 Badge - SSG 修复: config.ts 构建时直连 localhost:4000,页面 108→127 - 沙盒: 新增编程导师场景(苏格拉底教学法) - 练习系统: Practices 多场景练习(含结构化评分) - 技能广场: 6 个付费 Skill(标题大师/回款助手等) - 管理后台: Models/Posts/Practices CRUD 页面 - 文档: README + progress.md 全面更新;AGENTS.md 同步定位 - 清理: .env.example 移除;tsbuildinfo gitignore
349 lines
34 KiB
TypeScript
349 lines
34 KiB
TypeScript
import { PrismaClient } from '@prisma/client';
|
||
|
||
const prisma = new PrismaClient();
|
||
|
||
const practices = [
|
||
{
|
||
title: '客户服务邮件回复',
|
||
scenario: '你是一家电商公司的客服主管。一位客户发来邮件投诉:他购买的商品延迟了 5 天仍未发货,且客服电话一直打不通。他要求立即退款并赔偿损失。',
|
||
description: '模拟客服场景:处理客户投诉邮件,需要体现共情能力、问题解决能力和专业性。',
|
||
instructions: '请你以客服主管的身份,撰写一封回复邮件。要求:1. 首先表达歉意和理解 2. 解释原因(库存系统故障)3. 给出具体解决方案(加急发货 + 优惠券补偿)4. 保持专业礼貌的语气。邮件长度 200-300 字。',
|
||
difficulty: 'BEGINNER',
|
||
category: 'customer',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '共情表达', maxScore: 20, description: '是否对客户的不满表达了理解和歉意' },
|
||
{ name: '解决方案', maxScore: 30, description: '是否提供了具体、可行的补偿方案' },
|
||
{ name: '专业性', maxScore: 25, description: '语气是否专业礼貌,格式是否规范' },
|
||
{ name: '完整性', maxScore: 25, description: '是否涵盖了问题说明、解决方案和后续跟进' },
|
||
]),
|
||
hint: '可以先表达感谢客户的反馈,然后说明调查结果,再给出具体补偿方案,最后承诺改进。',
|
||
sortOrder: 1,
|
||
},
|
||
{
|
||
title: 'SQL 数据查询优化',
|
||
scenario: '你是一个数据分析师。公司的订单表 orders 已有 500 万条数据。产品经理需要查询"过去 30 天内,每个分类下销售额最高的前 5 个商品"。现有查询执行需要 45 秒,严重超时。',
|
||
description: '数据库查询优化场景:分析慢查询并给出优化方案。',
|
||
instructions: '请分析以下原始 SQL 的问题,并给出优化后的查询:\n\n原始 SQL:\nSELECT * FROM orders o JOIN products p ON o.product_id = p.id JOIN categories c ON p.category_id = c.id WHERE o.created_at > DATE_SUB(NOW(), INTERVAL 30 DAY) GROUP BY c.name, p.name ORDER BY SUM(o.amount) DESC;\n\n要求:1. 指出至少 2 个性能问题 2. 给出优化后的 SQL 3. 建议必要的索引 4. 解释优化原理',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '问题诊断', maxScore: 25, description: '是否准确指出了慢查询的根因' },
|
||
{ name: 'SQL 优化', maxScore: 35, description: '优化后的 SQL 是否正确且高效' },
|
||
{ name: '索引建议', maxScore: 25, description: '索引建议是否合理' },
|
||
{ name: '原理解释', maxScore: 15, description: '优化原理解释是否清晰' },
|
||
]),
|
||
hint: '思考:SELECT * 是否必要?GROUP BY 的字段是否都有索引?子查询或窗口函数是否更适合?',
|
||
sortOrder: 2,
|
||
},
|
||
{
|
||
title: '产品文案撰写',
|
||
scenario: '一家新兴的智能水杯创业公司需要为他们的旗舰产品撰写电商详情页文案。产品卖点:48 小时保温、智能水温显示、杯盖温度触控、500ml 容量、食品级 316 不锈钢、支持 APP 记录饮水量。目标用户是 25-40 岁的都市白领。',
|
||
description: '电商文案写作场景:针对目标用户撰写有说服力的产品文案。',
|
||
instructions: '请撰写一段产品详情页的"核心卖点"部分文案(300-400 字)。要求:1. 突出 2-3 个核心差异化卖点 2. 针对都市白领的痛点(忙碌、注重健康、追求品质)3. 使用有画面感的语言 4. 包含一个吸引人的标题。',
|
||
difficulty: 'BEGINNER',
|
||
category: 'writing',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '卖点提炼', maxScore: 25, description: '是否准确提炼了核心差异化卖点' },
|
||
{ name: '用户洞察', maxScore: 25, description: '是否针对目标用户的痛点和需求' },
|
||
{ name: '语言表达', maxScore: 30, description: '语言是否生动有感染力' },
|
||
{ name: '结构逻辑', maxScore: 20, description: '文案结构是否清晰有说服力' },
|
||
]),
|
||
hint: '想想都市白领的一天:早上匆忙出门需要热水、下午开会时想喝温水、晚上健身需要补水。从场景出发更容易打动人心。',
|
||
sortOrder: 3,
|
||
},
|
||
{
|
||
title: 'Python 数据分析脚本',
|
||
scenario: '市场部给你一份 CSV 文件(sales_2024.csv),包含全年销售数据:日期、产品、区域、销售额、数量。市场总监需要一份按月的各区域销售趋势报表,同时标识出同比增长超过 20% 的明星产品。',
|
||
description: '数据分析编程场景:用 Python 处理真实业务数据。',
|
||
instructions: '请编写一个 Python 脚本来完成以下任务:\n1. 读取 CSV 并按月份和区域汇总销售额\n2. 计算每个产品相对于去年同期的增长率\n3. 标记增长率 > 20% 的产品为"明星产品"\n4. 生成一个可视化图表(按月/区域的热力图)\n5. 输出汇总报表到 Excel\n\n要求:使用 pandas + matplotlib,代码要有注释,考虑异常处理。',
|
||
difficulty: 'ADVANCED',
|
||
category: 'coding',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '功能完整性', maxScore: 30, description: '是否完成了所有要求的 5 个任务' },
|
||
{ name: '代码质量', maxScore: 25, description: '代码是否规范、可读性强、有注释' },
|
||
{ name: '数据处理', maxScore: 25, description: '数据聚合和计算逻辑是否正确' },
|
||
{ name: '异常处理', maxScore: 20, description: '是否考虑了文件缺失、数据格式等异常' },
|
||
]),
|
||
hint: '使用 pd.read_csv() 读取,pd.to_datetime() 处理日期,df.pivot_table() 做透视表。同比增长需要先按年月分组,然后用 shift() 获取同期数据。',
|
||
sortOrder: 4,
|
||
},
|
||
{
|
||
title: 'Prompt 优化:简历筛选助手',
|
||
scenario: '你是一个 HR 技术经理。公司要招聘一名高级前端工程师,你准备让 AI 助手帮忙初步筛选候选人简历。但你发现直接用"帮我筛选简历"得到的回复非常笼统,不够专业。',
|
||
description: '提示词工程场景:设计一个专业、精准的简历筛选 Prompt。',
|
||
instructions: '请设计一个用于 AI 简历筛选的系统级提示词(System Prompt)。要求:\n1. 设定 AI 的角色为"资深前端技术面试官"\n2. 明确评估维度(技术栈匹配度、项目经验质量、工作年限、教育背景、软技能)\n3. 要求 AI 按 5 分制评分并给出具体理由\n4. 设置输出格式为结构化 JSON\n5. 给出一个使用你设计的 Prompt 筛选简历的示例输出',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'general',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '角色设定', maxScore: 20, description: '角色设定是否清晰专业' },
|
||
{ name: '评估维度', maxScore: 25, description: '评估维度是否全面合理' },
|
||
{ name: '评分标准', maxScore: 25, description: '评分标准是否可量化、可操作' },
|
||
{ name: '输出格式', maxScore: 30, description: '输出格式是否结构化、便于后续处理' },
|
||
]),
|
||
hint: '好的 System Prompt 包含:角色 + 任务 + 要求 + 输出格式 + 约束条件。行业最佳实践是用 COSTAR 框架(Context, Objective, Style, Tone, Audience, Response)。',
|
||
sortOrder: 5,
|
||
},
|
||
{
|
||
title: 'A/B 测试方案设计',
|
||
scenario: '你们产品的注册转化率目前是 2.3%。产品经理建议将注册按钮从"注册"改为"免费开始使用",并猜测这样可以提升转化率到 3.5%。CEO 要求你设计一个完整的 A/B 测试方案来验证这个假设。',
|
||
description: '产品分析场景:设计严谨的 A/B 测试方案验证业务假设。',
|
||
instructions: '请设计一个完整的 A/B 测试方案。要求包含:\n1. 明确的原假设和备择假设\n2. 样本量计算(α=0.05, β=0.2)\n3. 实验分组策略(流量分配、随机化方法)\n4. 实验周期和决策标准\n5. 需要考虑的潜在偏差和缓解措施\n6. 评估指标(主指标 + 辅助指标 + 护栏指标)',
|
||
difficulty: 'ADVANCED',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '假设检验', maxScore: 20, description: '假设设定是否准确,样本量计算是否正确' },
|
||
{ name: '实验设计', maxScore: 30, description: '分组策略、周期和决策标准是否科学' },
|
||
{ name: '偏差控制', maxScore: 25, description: '是否识别了关键偏差并给出缓解方案' },
|
||
{ name: '指标体系', maxScore: 25, description: '指标体系是否完整(主/辅/护栏)' },
|
||
]),
|
||
hint: '样本量公式:n = (Z_α/2 + Z_β)² * (p1(1-p1) + p2(1-p2)) / (p2-p1)²。注意需要考虑新奇效应(Novelty Effect)和交互效应。',
|
||
sortOrder: 6,
|
||
},
|
||
{
|
||
title: '技术方案设计:短链接服务',
|
||
scenario: '公司需要内部搭建一个短链接服务,用于营销短信中的链接跳转。预计 QPS 峰值 5000,需要支持链接点击统计和过期时间设置。你作为后端技术负责人需要输出技术方案。',
|
||
description: '系统设计场景:设计一个高可用的短链接服务架构。',
|
||
instructions: '请设计一个短链接服务的技术方案。要求包含:\n1. 架构图描述(组件、数据流)\n2. 短链接生成算法(考虑冲突和性能)\n3. 数据库表结构设计\n4. 重定向流程(301 vs 302 的选择)\n5. 高可用方案(缓存、容灾)\n6. 点击统计的实现方案',
|
||
difficulty: 'ADVANCED',
|
||
category: 'coding',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '架构设计', maxScore: 25, description: '架构是否合理,组件划分是否清晰' },
|
||
{ name: '算法设计', maxScore: 20, description: '短链生成算法是否高效、无冲突' },
|
||
{ name: '数据存储', maxScore: 20, description: '表结构设计和缓存策略是否合理' },
|
||
{ name: '高可用', maxScore: 20, description: '高可用和容灾方案是否完善' },
|
||
{ name: '统计方案', maxScore: 15, description: '点击统计方案是否准确可靠' },
|
||
]),
|
||
hint: '短链生成可以用 62 进制编码(a-z A-Z 0-9),也可以用雪花算法取后 7 位。读请求用 Redis 缓存,写请求通过 MQ 异步落库。',
|
||
sortOrder: 7,
|
||
},
|
||
{
|
||
title: '创意营销:AI 产品上市方案',
|
||
scenario: '公司即将推出一款 AI 写作助手产品"文思",目标用户是自媒体创作者和文案从业者。核心功能:AI 写文章、智能改写、多平台适配排版、一键生成配图。竞品有 Jasper 和 Copy.ai。',
|
||
description: '创意营销场景:设计 AI 产品的上市推广方案。',
|
||
instructions: '请设计"文思"产品的上市营销推广方案。要求:\n1. 核心卖点提炼(3 个以内,一句话一个)\n2. 目标用户画像(至少 2 类)\n3. 定价策略建议\n4. 冷启动推广渠道和内容策略\n5. 病毒传播机制设计\n6. 写出一个社交媒体推广文案示例(140 字以内)',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'creative',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '卖点提炼', maxScore: 20, description: '卖点是否精准差异化' },
|
||
{ name: '用户洞察', maxScore: 20, description: '用户画像是否真实有深度' },
|
||
{ name: '推广策略', maxScore: 30, description: '冷启动和病毒传播机制是否有创意可执行' },
|
||
{ name: '文案示例', maxScore: 30, description: '文案是否有感染力、符合社交媒体调性' },
|
||
]),
|
||
hint: '考虑用"AI 写作合伙人"的概念替代"AI 工具"——后者让创作者感到威胁,前者让他们感到被赋能。可以设计"AI 写初稿,你写爆款"的传播概念。',
|
||
sortOrder: 8,
|
||
},
|
||
// === 行业专题练习(2026 年真实场景)===
|
||
{
|
||
title: '金融风控:AI 反欺诈规则设计',
|
||
scenario: '你是一家银行的风控分析师。2026 年第一季度,该行信用卡交易欺诈损失同比增长 37%,主要来自新型的"合成身份欺诈"——犯罪分子用真实信息碎片拼凑虚假身份开户。管理层要求你用 AI 设计一套实时反欺诈规则引擎。',
|
||
description: '金融风控场景:设计基于 AI 的实时交易反欺诈规则。',
|
||
instructions: '请设计一套 AI 反欺诈规则引擎方案。要求:\n1. 识别至少 4 个合成身份欺诈的行为特征(如设备指纹、交易模式、社交图谱等)\n2. 设计多层规则架构(规则层 + 模型层 + 决策层)\n3. 描述实时风控流程(交易发起 → 特征提取 → 模型评分 → 决策输出)\n4. 提出模型训练数据的特征工程方案\n5. 考虑误杀率(False Positive)控制策略——拒绝正常交易会影响客户体验和收入',
|
||
difficulty: 'ADVANCED',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '欺诈特征识别', maxScore: 20, description: '是否准确识别了合成身份欺诈的关键行为特征' },
|
||
{ name: '架构设计', maxScore: 25, description: '多层规则架构是否合理完整' },
|
||
{ name: '实时流程', maxScore: 25, description: '实时风控流程描述是否清晰可行' },
|
||
{ name: '误杀控制', maxScore: 30, description: '误杀率控制策略是否具体有效' },
|
||
]),
|
||
hint: '合成身份欺诈的特征包括:设备指纹异常(虚拟机/模拟器)、社交关系稀疏(0-3 个联系人)、交易金额模式异常(小额测试→大额盗刷)。考虑使用 Graph Neural Network 检测社交图谱异常。2025 年美联储报告显示合成身份欺诈占信用卡欺诈的 20%。',
|
||
sortOrder: 9,
|
||
},
|
||
{
|
||
title: '医疗场景:AI 临床文书生成',
|
||
scenario: '你在一家三甲医院的信息化部门工作。2026 年国家卫健委要求三级医院电子病历评级达到 5 级以上。医生普遍抱怨录入病历占用大量时间——每位门诊医生日均花费 2.5 小时写病历。医院决定引入 AI 临床文书系统,将医患对话自动转写成结构化病历。',
|
||
description: '医疗信息化场景:设计 AI 辅助临床文书系统。',
|
||
instructions: '请设计 AI 临床文书系统的 Prompt 方案。要求:\n1. 设计一个 System Prompt,将口语化医患对话转写为标准 SOAP(Subjective, Objective, Assessment, Plan)格式病历\n2. 给出一个示例对话(医生问诊高血压患者)和转写结果\n3. 说明如何处理关键问题:医学术语标准化、隐私信息脱敏、非结构化口语的消歧\n4. 设计质控机制——AI 生成的病历如何由医生审核确认',
|
||
difficulty: 'ADVANCED',
|
||
category: 'general',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: 'Prompt 设计', maxScore: 25, description: 'System Prompt 是否完整覆盖 SOAP 四部分' },
|
||
{ name: '示例质量', maxScore: 25, description: '示例对话和转写结果是否专业准确' },
|
||
{ name: '技术难点', maxScore: 25, description: '术语标准化、脱敏、消歧方案是否可行' },
|
||
{ name: '质控机制', maxScore: 25, description: '审核确认流程是否合理合规' },
|
||
]),
|
||
hint: '参考 10-20-70 AI 落地法则:10% 算法、20% 技术工程、70% 组织变革。医生的接受度是关键瓶颈。建议设计"AI 起草 + 医生审核"模式,而非全自动。病历要用 SNOMED CT 或 ICD-11 标准化术语。',
|
||
sortOrder: 10,
|
||
},
|
||
{
|
||
title: '电商推荐:AI 个性化引擎设计',
|
||
scenario: '你是一家年 GMV 50 亿元的跨境电商平台的数据科学负责人。当前推荐系统基于协同过滤,新品 7 日曝光率仅 12%,冷启动问题严重。2026 年 70% 的电商高管将 AI 个性化列为首要投资方向。CEO 要求你设计新一代 AI 推荐引擎。',
|
||
description: '电商推荐场景:设计基于多模态 AI 的个性化推荐引擎。',
|
||
instructions: '请设计新一代 AI 推荐引擎方案。要求:\n1. 架构设计:数据层 → 特征工程 → 召回 → 排序 → 重排 → 混排\n2. 解决冷启动问题的具体方案(新品、新用户、新场景)\n3. 多模态特征融合方案(文本描述、商品图片、用户行为序列)\n4. 实时个性化策略(基于当前 Session 行为的实时调整)\n5. A/B 测试评估指标体系',
|
||
difficulty: 'ADVANCED',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '架构完整性', maxScore: 20, description: '各层组件和功能是否完整' },
|
||
{ name: '冷启动方案', maxScore: 30, description: '冷启动方案是否具体可行' },
|
||
{ name: '多模态融合', maxScore: 25, description: '多模态特征融合方案是否技术合理' },
|
||
{ name: '评估体系', maxScore: 25, description: 'A/B 测试指标体系是否科学完整' },
|
||
]),
|
||
hint: '冷启动可以用内容特征(CLIP 提取图像向量)+ 知识图谱(品类关联)+ Exploration 策略(epsilon-greedy 或 Thompson Sampling)。多模态融合推荐使用两阶段:先 image embedding 聚类,再 user behavior sequence 排序。',
|
||
sortOrder: 11,
|
||
},
|
||
{
|
||
title: 'HR 招聘:AI 筛选偏见审计',
|
||
scenario: '你是一家千人规模科技公司的 HR 技术负责人。2025 年公司引入 AI 简历筛选系统后,算法岗女性候选人进入面试的比例从 38% 骤降到 12%。初步排查发现,模型因为历史数据中男性工程师占比 85%,学到了"男性更合适"的偏见。现在法律部门要求你出具审计报告并修复问题。',
|
||
description: 'HR 与 AI 伦理场景:识别并修复 AI 招聘中的偏见问题。',
|
||
instructions: '作为 AI 伦理审计负责人,请完成以下任务:\n1. 分析 AI 简历筛选系统产生性别偏见的根因(至少 3 个)\n2. 设计偏见量化评估方法(用什么指标衡量偏见程度)\n3. 提出至少 4 个具体的修复方案\n4. 设计持续监控机制——上线后如何确保偏见不再复发\n5. 起草一份给管理层的摘要说明(200 字以内),解释问题、影响和解决方案',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'general',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '根因分析', maxScore: 20, description: '偏见根因分析是否全面深入' },
|
||
{ name: '量化评估', maxScore: 25, description: '偏见量化指标是否科学合理' },
|
||
{ name: '修复方案', maxScore: 30, description: '修复方案是否具体、可落地' },
|
||
{ name: '沟通表达', maxScore: 25, description: '管理层摘要是否清晰有说服力' },
|
||
]),
|
||
hint: '偏见来源:历史数据偏差(历史 hire 数据中男女比例失衡)、特征选择偏差(gap in employment 对女性不利)、标注偏差(面试官主观偏好)。修复方法:对抗性去偏(Adversarial Debiasing)、重采样、公平性约束(Demographic Parity / Equal Opportunity)。用 "Demographic Parity Difference" < 0.1 作为公平性阈值。',
|
||
sortOrder: 12,
|
||
},
|
||
{
|
||
title: '教育科技:AI 一对一辅导 Prompt 设计',
|
||
scenario: '你是一家 EdTech 公司的 AI 教育产品经理。2026 年 Digital Education Council 报告显示 86% 的大学生使用 AI 辅助学习,但 80% 的大学仍未制定 AI 使用政策。你的公司要推出一款 AI 一对一辅导系统,能根据学生水平和学习风格自适应调整教学策略,定位为"大学官方合作的合规 AI 辅导工具"。',
|
||
description: '教育科技场景:设计自适应 AI 辅导的系统 Prompt。',
|
||
instructions: '请为一个 AI 数学辅导系统设计核心 Prompt 和工作流程。要求:\n1. 设计 System Prompt 使 AI 能扮演耐心的高中数学老师\n2. 实现自适应策略:根据学生水平(基础/中等/拔高)调整讲解深度和例题难度\n3. 设计苏格拉底式教学法——不直接给答案,而是通过提问引导学生思考\n4. 包含错误分析机制——当学生答错时,识别错误类型(概念混淆/计算失误/审题不清)并针对性讲解\n5. 给出一个教学对话示例(主题:一元二次方程)',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'creative',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: 'Prompt 设计', maxScore: 20, description: 'System Prompt 是否体现了耐心老师的角色' },
|
||
{ name: '自适应策略', maxScore: 25, description: '自适应策略是否清晰、可执行' },
|
||
{ name: '教学方法', maxScore: 30, description: '苏格拉底教学法和错误分析机制是否有效' },
|
||
{ name: '示例质量', maxScore: 25, description: '教学对话示例是否自然且体现设计要点' },
|
||
]),
|
||
hint: '可以用"Level 1/2/3"三级自适应:Level 1 多步骤引导、具象化类比;Level 2 核心概念讲解 + 中等难度;Level 3 给出思考方向后让学习者自己推导。错误分析用 Chain-of-Thought 识别类型,再匹配对应的教学策略。参考 Khan Academy 的 "Mastery Learning" 理念。',
|
||
sortOrder: 13,
|
||
},
|
||
{
|
||
title: '法律合规:GDPR 与 AI 法案合规审计',
|
||
scenario: '你的公司开发了一款 AI 面试助手,用于自动化筛选候选人并生成面试报告。2026 年欧盟 AI 法案已全面生效,你的产品被分类为"高风险 AI 系统"。法务部门要求你出具合规差距分析报告,确保产品满足 GDPR 和 AI 法案要求,否则将面临最高全球营收 6% 的罚款。',
|
||
description: '法律合规场景:AI 产品合规与数据保护审计。',
|
||
instructions: '请对 AI 面试助手进行合规差距分析。要求:\n1. 识别高风险 AI 系统的合规要求(透明性、人类监督、准确性、公平性、数据治理)\n2. 设计合规检查清单(至少 8 项)\n3. 给出数据处理方案:候选人数据如何收集、存储、保留、删除\n4. 设计"被遗忘权"实现方案——候选人要求删除数据时的技术流程\n5. 设计透明度声明模板——向候选人说明 AI 如何参与招聘决策',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'general',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '合规要求识别', maxScore: 25, description: '是否准确识别了高风险 AI 系统关键合规要求' },
|
||
{ name: '检查清单', maxScore: 25, description: '检查清单是否全面可操作' },
|
||
{ name: '数据处理', maxScore: 25, description: '数据治理方案是否符合 GDPR 原则' },
|
||
{ name: '透明度', maxScore: 25, description: '透明度声明是否清晰、对候选人友好' },
|
||
]),
|
||
hint: 'AI 法案高风险要求包括:建立风险管理系统、使用代表性训练数据、记录自动日志、确保人类审查、达到准确性和公平性标准。GDPR 第 22 条赋予公民"不受自动化决策约束"的权利。被遗忘权技术实现:级联删除 + 匿名化 + 模型重训(machine unlearning 尚不成熟,可用排除列表替代)。',
|
||
sortOrder: 14,
|
||
},
|
||
{
|
||
title: '产品管理:AI 驱动的需求优先级排序',
|
||
scenario: '你是一家 SaaS 平台的产品经理。季度规划会议上,你收集到 15 个待开发功能需求,但研发团队只有 50 人/周产能。销售部要求做大客户定制功能,客服部要求优化工单系统,用户反馈要求移动端适配。CEO 要求用数据驱动的方法精准排定优先级。',
|
||
description: '产品管理场景:用 AI 辅助数据分析进行需求优先级排序。',
|
||
instructions: '请设计方案,用数据驱动的方法给 15 个需求排定优先级。要求:\n1. 设计量化评分模型(至少 4 个维度:用户价值、商业价值、实现成本、战略对齐)\n2. 说明每个维度的数据和量化方法\n3. 设计 AI 辅助分析流程——如何利用 AI 分析用户反馈数据提取关键需求\n4. 给出 RICE 评分框架的具体实现(Reach, Impact, Confidence, Effort)\n5. 讨论如何处理"高价值但高风险"的需求决策',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '评分模型', maxScore: 25, description: '量化评分模型维度是否全面合理' },
|
||
{ name: '数据量化', maxScore: 25, description: '各维度的数据来源和量化方法是否可行' },
|
||
{ name: 'AI 辅助', maxScore: 25, description: 'AI 分析用户反馈的流程是否有效' },
|
||
{ name: '决策讨论', maxScore: 25, description: '高风险需求的处理策略是否合理' },
|
||
]),
|
||
hint: 'RICE 是成熟的优先级框架:Reach(影响用户数/季度)、Impact(转化率提升估算)、Confidence(数据支撑度 %)、Effort(人周)。AI 辅助:用 LLM 对用户反馈进行主题聚类 + 情感分析 + 需求提取,然后映射到功能需求池。高价值高风险用"最小可行实验"(MVE)验证后再承诺。',
|
||
sortOrder: 15,
|
||
},
|
||
{
|
||
title: '运营增长:AI 驱动用户留存策略',
|
||
scenario: '你的社交电商 APP 在 2025 年底获客成本(CAC)涨到 128 元/人,但 30 日留存率只有 18%。投资人要求优化留存而非盲目获客。你决定设计一套 AI 驱动的用户留存系统,在用户可能流失前进行精准干预。',
|
||
description: '运营增长场景:设计 AI 驱动的用户流失预警与留存方案。',
|
||
instructions: '请设计 AI 用户留存系统方案。要求:\n1. 构建用户流失预测模型——识别至少 5 个关键预警信号(行为特征)\n2. 设计分层干预策略(轻度风险→推送优惠券,中度风险→人工回访,重度风险→专属福利)\n3. 设计个性化留存动作——根据用户画像匹配不同的激励方式\n4. 设计 uplift 模型衡量干预的增量效果(反事实推断)\n5. 给出 A/B 测试框架验证留存策略有效性',
|
||
difficulty: 'ADVANCED',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '预警信号', maxScore: 20, description: '流失预警信号是否全面、可量化' },
|
||
{ name: '干预策略', maxScore: 30, description: '分层干预策略是否合理、可执行' },
|
||
{ name: '个性化', maxScore: 25, description: '个性化留存方案是否精准有效' },
|
||
{ name: '实验验证', maxScore: 25, description: 'uplift 模型和 A/B 测试框架是否科学' },
|
||
]),
|
||
hint: '流失预警信号:登录频率下降(间隔>5天)、核心行为减少(浏览商品数下降 50%)、负反馈增加(投诉/退单)、社交互动减少(点赞评论归零)、竞品活跃度。Uplift Model 用 Two-Model 方法或 Class Transformation Method。用 "Incremental Lift" 而非「转化率提升」衡量效果。',
|
||
sortOrder: 16,
|
||
},
|
||
{
|
||
title: '供应链管理:AI 需求预测与库存优化',
|
||
scenario: '你是一家跨境电商公司的供应链总监。公司经营 5000+ SKU,2025 年因库存管理不善造成 2300 万元滞销损失,同时有 140 个爆款 SKU 出现断货。2026 年全球供应链波动加剧,管理层要求引入 AI 驱动的需求预测系统,将库存周转率提升 30%。',
|
||
description: '供应链场景:构建 AI 驱动的需求预测与智能补货系统。',
|
||
instructions: '请设计 AI 需求预测系统方案。要求:\n1. 预测模型方案:时间序列特征工程策略(季节性、趋势、促销事件、外部因素)\n2. 多层级预测架构:SKU 级 → 品类级 → 仓库级,如何保证一致性\n3. 智能补货策略:动态安全库存计算(考虑交货周期波动)\n4. 滞销品处理机制:识别滞销品并给出清仓建议(降价幅度、促销渠道)\n5. 数据质量保障方案:如何处理历史数据中的缺失值和异常值',
|
||
difficulty: 'ADVANCED',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '特征工程', maxScore: 20, description: '时间序列特征是否全面合理' },
|
||
{ name: '层级架构', maxScore: 25, description: '多层级预测一致性方案是否可行' },
|
||
{ name: '补货策略', maxScore: 30, description: '动态安全库存计算和补货策略是否合理' },
|
||
{ name: '数据质量', maxScore: 25, description: '数据质量保障方案是否具体有效' },
|
||
]),
|
||
hint: '多层级一致性用 "Top-Down Reconciliation"(按历史比例拆分)或 "Middle-Out" 方法。安全库存公式:SS = Z × σ_d × √L(Z=服务水平系数,σ_d=需求标准差,L=交货周期)。用 Prophet 或 DeepAR 做基础预测。缺失值处理:时间点用插值,序列头尾用回填。滞销品按 "库存天数 > 90 天且周销量 < 5" 定义。',
|
||
sortOrder: 17,
|
||
},
|
||
{
|
||
title: 'B2B 销售:AI 销售线索评分模型',
|
||
scenario: '你是一家企业 SaaS 公司的市场总监。市场部每月从官网、展会、广告等渠道获取 3000+ 销售线索,但销售团队只有 15 人,只能跟进其中 30%。目前线索分配靠销售主管手动判断,优质线索跟进不及时,低质线索浪费销售精力。公司要求将线索到签约的转化率提升一倍。',
|
||
description: 'B2B 销售场景:用 AI 构建销售线索评分与自动分配系统。',
|
||
instructions: '请设计 AI 销售线索评分与分配系统。要求:\n1. 线索评分模型:定义至少 6 个评分特征(如公司规模、决策者级别、行为意图等)\n2. 评分算法:设计打分规则(加权评分 / 逻辑回归 / 机器学习模型)\n3. 线索分配规则:根据评分和销售专长自动分配\n4. 反馈闭环:如何利用历史转化数据优化评分模型\n5. 设计一个评分报表 Dashboard 方案——销售主管看到什么',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '评分特征', maxScore: 25, description: '评分特征是否全面反映购买意向' },
|
||
{ name: '评分算法', maxScore: 25, description: '评分算法是否合理可解释' },
|
||
{ name: '分配机制', maxScore: 25, description: '线索分配规则是否合理、公平' },
|
||
{ name: '反馈闭环', maxScore: 25, description: '模型优化反馈闭环是否完整' },
|
||
]),
|
||
hint: 'BANT 模型(Budget, Authority, Need, Timeline)是经典线索评估框架。行为意图信号:下载白皮书、访问定价页、参与 Demo 预约、打开营销邮件≥3 次。评分可用 Logistic Regression(可解释性好),输出 0-100 分。80 分以上自动分配给 Top Sales,60-80 分分配给 Inside Sales,60 分以下进入培育流程。',
|
||
sortOrder: 18,
|
||
},
|
||
{
|
||
title: '内容创作:AI 视频脚本与数字人方案',
|
||
scenario: '你是一家 MCN 机构的内容策略总监。2026 年短视频流量红利见顶,纯人工创作产能不足——一个 3 人团队每周最多产出 5 条视频。公司决定引入 AI 数字人主播 + AI 脚本生成,在保持内容质量的前提下将产能提升 5 倍。老板让你设计完整方案。',
|
||
description: '内容创作场景:设计 AI 数字人主播生产流程与脚本 Prompt。',
|
||
instructions: '请设计 AI 数字人内容生产方案。要求:\n1. 设计 AI 脚本生成 Prompt——生成 60 秒口播短视频脚本(主题:AI 工具推荐),包含爆款开头、核心内容、CTA\n2. 描述从脚本到视频的完整生产流程\n3. 如何保证数字人内容的"人感"——避免 AI 味太重\n4. 内容质量控制机制——如何确保品牌调性一致\n5. A/B 测试策略——如何用数据优化 AI 内容的完播率和转化率',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'creative',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: 'Prompt 设计', maxScore: 25, description: '脚本 Prompt 能否生成高质量口播脚本' },
|
||
{ name: '生产流程', maxScore: 20, description: '生产流程是否完整可执行' },
|
||
{ name: '人感策略', maxScore: 30, description: '避免 AI 味的策略是否有效' },
|
||
{ name: '优化机制', maxScore: 25, description: 'A/B 测试和质量控制机制是否合理' },
|
||
]),
|
||
hint: '短视频爆款开头公式:前 3 秒制造冲突/悬念/共鸣。"人感"策略:加入语气词(嗯、其实、我跟你说)、节奏变化(快慢交替)、真实的微表情(数字人加入眨眼和头部微动)。数字人主播选择要考虑目标受众偏好——2026 年数据显示 35 岁以下用户更喜欢二次元风格数字人。',
|
||
sortOrder: 19,
|
||
},
|
||
{
|
||
title: 'AI 安全:企业 Shadow AI 治理方案',
|
||
scenario: '你是一家金融科技公司的 CISO(首席信息安全官)。2026 年 Microsoft 报告显示 75% 的员工在使用未授权的 AI 工具处理工作,其中 48% 将公司数据粘贴到公共 AI 平台。上个月,一名员工将包含客户 PII 数据的代码片段粘贴到公共 ChatGPT,导致合规事件。CEO 要求你制定 Shadow AI 治理方案。',
|
||
description: 'AI 安全与治理场景:企业 Shadow AI(影子 AI)风险管控方案。',
|
||
instructions: '请设计企业 Shadow AI 治理方案。要求:\n1. 风险识别:列出至少 5 个 Shadow AI 使用场景及风险等级\n2. 技术管控方案:如何检测和阻止敏感数据流向未经授权的 AI 平台\n3. 合规方案:设计企业 AI 使用政策,明确哪些数据可以/不可以输入 AI\n4. 员工培训策略:如何让员工理解 AI 安全风险(而非简单地封禁)\n5. 替代方案:如何提供"安全的企业 AI 工具"让员工不需要用外面的 AI',
|
||
difficulty: 'INTERMEDIATE',
|
||
category: 'analysis',
|
||
expectedCriteria: JSON.stringify([
|
||
{ name: '风险识别', maxScore: 25, description: 'Shadow AI 风险场景是否识别全面' },
|
||
{ name: '技术管控', maxScore: 25, description: '技术管控方案是否有效可落地' },
|
||
{ name: '合规政策', maxScore: 25, description: 'AI 使用政策是否明确合理' },
|
||
{ name: '替代方案', maxScore: 25, description: '企业安全 AI 替代方案是否可行' },
|
||
]),
|
||
hint: '检测方案:DLP(数据防泄漏)监控出站流量中的 API 调用特征(已知 AI 平台域名+IP)、浏览器扩展检测、网络代理日志分析。Block 方案:在网关层阻止对未授权 AI 域名的访问。替代方案的核心是数据隔离——企业内部部署的 AI 不会将数据用于模型训练。参考 Cisco 2026 数据隐私基准研究。',
|
||
sortOrder: 20,
|
||
},
|
||
];
|
||
|
||
async function main() {
|
||
console.log('Seeding practice questions...');
|
||
|
||
await prisma.practiceQuestion.deleteMany();
|
||
|
||
for (let i = 0; i < practices.length; i++) {
|
||
const p = practices[i];
|
||
await prisma.practiceQuestion.create({
|
||
data: { ...p, sortOrder: i + 1 },
|
||
});
|
||
console.log(` ✓ ${p.title}`);
|
||
}
|
||
|
||
console.log(`Seeded ${practices.length} practice questions.`);
|
||
}
|
||
|
||
main()
|
||
.catch(e => { console.error(e); process.exit(1); })
|
||
.finally(async () => { await prisma.$disconnect(); });
|