Add named course replay profiles
This commit is contained in:
parent
a21ba2c452
commit
a4a613e588
|
|
@ -101,6 +101,370 @@ CASE_AGENT_PERSONAS = {
|
|||
}
|
||||
|
||||
|
||||
COURSE_AGENT_PERSONAS = [
|
||||
{
|
||||
"agent_id": 0,
|
||||
"display_name": "方见舟",
|
||||
"entity_name": "同舟会线下课主理人",
|
||||
"entity_type": "CourseFounder",
|
||||
"role": "课程发起人",
|
||||
"title": "同舟会线下课主理人 / 一舟一课课程负责人",
|
||||
"organization": "同舟会",
|
||||
"bio": "负责课程定位、招生节奏、价格策略和现场交付质量,最关注转化效率与长期口碑能否同时成立。",
|
||||
"age": 38,
|
||||
"mbti": "ENTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 1,
|
||||
"display_name": "韩书宁",
|
||||
"entity_name": "AI工具新手",
|
||||
"entity_type": "ProspectiveStudent",
|
||||
"role": "新手学员",
|
||||
"title": "消费品牌市场运营专员",
|
||||
"organization": "杭州南栖生活方式品牌",
|
||||
"bio": "刚开始系统学习AI工具,担心课程太难、跟不上,也关心课后有没有作业和复盘支持。",
|
||||
"age": 27,
|
||||
"mbti": "ISFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 2,
|
||||
"display_name": "赵沐阳",
|
||||
"entity_name": "企业主学员",
|
||||
"entity_type": "BusinessOwnerStudent",
|
||||
"role": "企业主学员",
|
||||
"title": "智能制造公司创始人",
|
||||
"organization": "苏州沐阳智能制造有限公司",
|
||||
"bio": "希望把AI用于销售线索、客户方案和内部知识库,愿意付费但要求看到真实业务案例。",
|
||||
"age": 42,
|
||||
"mbti": "ESTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 3,
|
||||
"display_name": "林岚",
|
||||
"entity_name": "高意愿学员",
|
||||
"entity_type": "HighIntentStudent",
|
||||
"role": "高意愿学员",
|
||||
"title": "自媒体创业者 / 小红书内容主理人",
|
||||
"organization": "林岚内容工作室",
|
||||
"bio": "已经看过多次公开课,对一舟的方法论有信任,最在意现场是否能做出自己的可交付作品。",
|
||||
"age": 31,
|
||||
"mbti": "ENFP",
|
||||
},
|
||||
{
|
||||
"agent_id": 4,
|
||||
"display_name": "蒋以恒",
|
||||
"entity_name": "个人IP操盘手",
|
||||
"entity_type": "CreatorOperator",
|
||||
"role": "内容商业化操盘手",
|
||||
"title": "个人IP商业化顾问",
|
||||
"organization": "以恒增长咨询",
|
||||
"bio": "服务知识博主和专家型创业者,关注课程能否沉淀成可复制的内容生产与销售工作流。",
|
||||
"age": 35,
|
||||
"mbti": "ENTP",
|
||||
},
|
||||
{
|
||||
"agent_id": 5,
|
||||
"display_name": "周予白",
|
||||
"entity_name": "销售负责人",
|
||||
"entity_type": "SalesDirectorStudent",
|
||||
"role": "B2B销售负责人",
|
||||
"title": "B2B软件公司销售总监",
|
||||
"organization": "云启SaaS科技",
|
||||
"bio": "希望用AI提升售前方案、客户跟进和团队复盘,关心课程是否能转成销售SOP。",
|
||||
"age": 37,
|
||||
"mbti": "ENTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 6,
|
||||
"display_name": "罗知行",
|
||||
"entity_name": "企业数字化顾问",
|
||||
"entity_type": "DigitalConsultant",
|
||||
"role": "企业数字化顾问",
|
||||
"title": "中小企业AI转型顾问",
|
||||
"organization": "知行数字化咨询",
|
||||
"bio": "长期做企业流程改造,关注课程能否证明AI工具和组织流程之间的连接价值。",
|
||||
"age": 39,
|
||||
"mbti": "INTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 7,
|
||||
"display_name": "陈亦桥",
|
||||
"entity_name": "价格敏感学员",
|
||||
"entity_type": "PriceSensitiveStudent",
|
||||
"role": "价格敏感学员",
|
||||
"title": "转型期互联网产品经理",
|
||||
"organization": "自由职业筹备期",
|
||||
"bio": "预算有限但学习意愿强,会反复比较超级早鸟、早鸟和同行优惠的性价比。",
|
||||
"age": 30,
|
||||
"mbti": "INFP",
|
||||
},
|
||||
{
|
||||
"agent_id": 8,
|
||||
"display_name": "白清禾",
|
||||
"entity_name": "内容团队负责人",
|
||||
"entity_type": "ContentTeamLead",
|
||||
"role": "内容团队负责人",
|
||||
"title": "教育机构内容增长负责人",
|
||||
"organization": "清禾学习增长团队",
|
||||
"bio": "管理5人内容团队,想把AI引入选题、脚本、海报和复盘,关心团队协作模板。",
|
||||
"age": 34,
|
||||
"mbti": "ENFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 9,
|
||||
"display_name": "陆佳宁",
|
||||
"entity_name": "企业培训负责人",
|
||||
"entity_type": "HRTrainingLead",
|
||||
"role": "企业培训采购人",
|
||||
"title": "中型企业组织发展经理",
|
||||
"organization": "宁波佳宁新材料集团",
|
||||
"bio": "负责企业内训预算,关心课程是否适合团队报名、是否能转成企业版培训方案。",
|
||||
"age": 36,
|
||||
"mbti": "ESFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 10,
|
||||
"display_name": "邵一鸣",
|
||||
"entity_name": "私域社群运营",
|
||||
"entity_type": "CommunityOperator",
|
||||
"role": "私域社群运营",
|
||||
"title": "知识付费社群运营经理",
|
||||
"organization": "一鸣私域增长工作室",
|
||||
"bio": "关注报名转化路径、群内答疑节奏和老学员裂变,善于发现招生页面中的犹豫点。",
|
||||
"age": 32,
|
||||
"mbti": "ESTP",
|
||||
},
|
||||
{
|
||||
"agent_id": 11,
|
||||
"display_name": "孟知秋",
|
||||
"entity_name": "同行拼团组织者",
|
||||
"entity_type": "GroupBuyer",
|
||||
"role": "拼团组织者",
|
||||
"title": "知识付费社群主理人",
|
||||
"organization": "知秋成长社群",
|
||||
"bio": "想组织3到5位朋友一起报名,关心同行优惠、座位保留和付款确认方式。",
|
||||
"age": 33,
|
||||
"mbti": "ENFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 12,
|
||||
"display_name": "金亦舟",
|
||||
"entity_name": "财务负责人",
|
||||
"entity_type": "FinanceBuyer",
|
||||
"role": "预算审核人",
|
||||
"title": "小微企业财务负责人",
|
||||
"organization": "亦舟品牌服务公司",
|
||||
"bio": "会从预算、发票、退款条款和学习产出评估课程,代表理性采购视角。",
|
||||
"age": 41,
|
||||
"mbti": "ISTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 13,
|
||||
"display_name": "宋听澜",
|
||||
"entity_name": "高校老师",
|
||||
"entity_type": "AcademicObserver",
|
||||
"role": "课程观察者",
|
||||
"title": "高校创新创业课程教师",
|
||||
"organization": "浙江某高校创业学院",
|
||||
"bio": "关注课程方法能否进入高校创新创业课堂,也会质疑商业课的教学严谨性。",
|
||||
"age": 44,
|
||||
"mbti": "INFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 14,
|
||||
"display_name": "程予安",
|
||||
"entity_name": "咨询顾问",
|
||||
"entity_type": "MethodologyConsultant",
|
||||
"role": "方法论型学员",
|
||||
"title": "战略咨询顾问",
|
||||
"organization": "予安管理咨询",
|
||||
"bio": "喜欢结构化框架,关心一舟课程能否把AI从工具清单提升到业务方法论。",
|
||||
"age": 36,
|
||||
"mbti": "INTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 15,
|
||||
"display_name": "顾南星",
|
||||
"entity_name": "老学员",
|
||||
"entity_type": "Alumni",
|
||||
"role": "同舟会老学员",
|
||||
"title": "同舟会活跃成员 / 连续学习者",
|
||||
"organization": "同舟会学员社区",
|
||||
"bio": "已经参加过线上训练营,愿意复购线下课,但会重点比较线下课的新增价值。",
|
||||
"age": 34,
|
||||
"mbti": "ENFP",
|
||||
},
|
||||
{
|
||||
"agent_id": 16,
|
||||
"display_name": "叶青禾",
|
||||
"entity_name": "律师学员",
|
||||
"entity_type": "ProfessionalServiceStudent",
|
||||
"role": "专业服务从业者",
|
||||
"title": "商业合同律师",
|
||||
"organization": "青禾律师事务所",
|
||||
"bio": "想用AI提升合同审阅、客户沟通和知识管理,关心合规边界与隐私保护。",
|
||||
"age": 38,
|
||||
"mbti": "ISTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 17,
|
||||
"display_name": "郑砚秋",
|
||||
"entity_name": "保险经纪人",
|
||||
"entity_type": "FinancialAdvisorStudent",
|
||||
"role": "高客服务从业者",
|
||||
"title": "保险经纪人 / 高净值客户顾问",
|
||||
"organization": "砚秋家办保险咨询",
|
||||
"bio": "希望学习AI辅助客户画像、方案说明和长期跟进,关注是否能服务高净值客户。",
|
||||
"age": 40,
|
||||
"mbti": "ESFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 18,
|
||||
"display_name": "许若安",
|
||||
"entity_name": "退款敏感学员",
|
||||
"entity_type": "RefundSensitiveBuyer",
|
||||
"role": "退款敏感采购人",
|
||||
"title": "企业培训采购负责人",
|
||||
"organization": "若安企业学习中心",
|
||||
"bio": "代表风险敏感客户,会仔细询问退款规则、无法到场处理、课后交付和权益边界。",
|
||||
"age": 37,
|
||||
"mbti": "ISTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 19,
|
||||
"display_name": "梁启明",
|
||||
"entity_name": "制造业接班人",
|
||||
"entity_type": "NextGenBusinessOwner",
|
||||
"role": "企业二代接班人",
|
||||
"title": "制造业企业经营接班人",
|
||||
"organization": "启明精工",
|
||||
"bio": "想把AI用于销售管理和工厂知识沉淀,关注课程是否足够贴近传统企业场景。",
|
||||
"age": 29,
|
||||
"mbti": "ENTP",
|
||||
},
|
||||
{
|
||||
"agent_id": 20,
|
||||
"display_name": "何语晨",
|
||||
"entity_name": "品牌公关负责人",
|
||||
"entity_type": "BrandPRLead",
|
||||
"role": "品牌传播负责人",
|
||||
"title": "消费品公司品牌公关负责人",
|
||||
"organization": "语晨品牌传播部",
|
||||
"bio": "关注线下课传播素材、学员故事和口碑扩散,能判断课程包装是否打动目标人群。",
|
||||
"age": 35,
|
||||
"mbti": "ENFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 21,
|
||||
"display_name": "沈知微",
|
||||
"entity_name": "金融行业观望学员",
|
||||
"entity_type": "FinanceProspect",
|
||||
"role": "金融行业观望学员",
|
||||
"title": "银行对公客户经理",
|
||||
"organization": "宁波某股份制银行",
|
||||
"bio": "想学习AI辅助客户拜访和方案生成,但担心金融数据合规和内部落地限制。",
|
||||
"age": 33,
|
||||
"mbti": "INFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 22,
|
||||
"display_name": "许嘉树",
|
||||
"entity_name": "SaaS产品经理",
|
||||
"entity_type": "ProductManagerStudent",
|
||||
"role": "产品经理学员",
|
||||
"title": "企业服务SaaS产品经理",
|
||||
"organization": "嘉树协同软件",
|
||||
"bio": "想验证AI产品原型、需求拆解和客户访谈流程,关注课程能否产出可复用模板。",
|
||||
"age": 31,
|
||||
"mbti": "INTP",
|
||||
},
|
||||
{
|
||||
"agent_id": 23,
|
||||
"display_name": "苏念安",
|
||||
"entity_name": "心理咨询师",
|
||||
"entity_type": "KnowledgeServiceProvider",
|
||||
"role": "知识服务创业者",
|
||||
"title": "心理咨询师 / 个人课程创作者",
|
||||
"organization": "念安心理咨询工作室",
|
||||
"bio": "想把专业知识产品化,关心AI是否会稀释专业信任,尤其在内容伦理上比较谨慎。",
|
||||
"age": 36,
|
||||
"mbti": "INFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 24,
|
||||
"display_name": "唐逸舟",
|
||||
"entity_name": "课程交付运营",
|
||||
"entity_type": "DeliveryOperator",
|
||||
"role": "现场交付负责人",
|
||||
"title": "课程项目经理 / 现场运营负责人",
|
||||
"organization": "同舟会课程交付组",
|
||||
"bio": "负责签到、座位、物料、分组、作业回收和课后复盘,最关心承诺能否被交付兑现。",
|
||||
"age": 32,
|
||||
"mbti": "ESTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 25,
|
||||
"display_name": "林知夏",
|
||||
"entity_name": "课程助教",
|
||||
"entity_type": "TeachingAssistant",
|
||||
"role": "课程助教",
|
||||
"title": "同舟会线下课助教 / 学员支持",
|
||||
"organization": "同舟会课程交付组",
|
||||
"bio": "负责现场答疑、作业协助和学员情绪观察,能捕捉学员真实卡点。",
|
||||
"age": 26,
|
||||
"mbti": "ESFJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 26,
|
||||
"display_name": "余景然",
|
||||
"entity_name": "企业内训负责人",
|
||||
"entity_type": "CorporateTrainingBuyer",
|
||||
"role": "企业内训负责人",
|
||||
"title": "企业大学项目负责人",
|
||||
"organization": "景然企业大学",
|
||||
"bio": "关注线下公开课是否能扩展为企业定制内训,以及学员满意度和管理层汇报材料。",
|
||||
"age": 43,
|
||||
"mbti": "ESTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 27,
|
||||
"display_name": "唐若川",
|
||||
"entity_name": "投资顾问",
|
||||
"entity_type": "InvestmentAdvisorStudent",
|
||||
"role": "投资顾问学员",
|
||||
"title": "高净值客户投资顾问",
|
||||
"organization": "若川财富管理工作室",
|
||||
"bio": "希望把AI用于客户问卷、资产诊断和投后服务,关注金融行业演示案例。",
|
||||
"age": 39,
|
||||
"mbti": "ENTJ",
|
||||
},
|
||||
{
|
||||
"agent_id": 28,
|
||||
"display_name": "施南乔",
|
||||
"entity_name": "短视频编导",
|
||||
"entity_type": "VideoProducer",
|
||||
"role": "短视频内容从业者",
|
||||
"title": "短视频编导 / 直播间策划",
|
||||
"organization": "南乔内容影像",
|
||||
"bio": "关注AI能否提升短视频选题、脚本和剪辑效率,也会判断课程传播素材是否足够有爆点。",
|
||||
"age": 29,
|
||||
"mbti": "ENFP",
|
||||
},
|
||||
{
|
||||
"agent_id": 29,
|
||||
"display_name": "纪明远",
|
||||
"entity_name": "招生数据分析师",
|
||||
"entity_type": "SalesAnalytics",
|
||||
"role": "招生复盘负责人",
|
||||
"title": "招生转化数据分析师 / 经营看板负责人",
|
||||
"organization": "同舟会增长复盘组",
|
||||
"bio": "负责汇总报名、付款、退款、优惠使用和复购线索,给出招生漏斗与交付改进建议。",
|
||||
"age": 34,
|
||||
"mbti": "INTP",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def _agent_persona(agent_id: int, fallback_name: str, fallback_role: str, fallback_bio: str) -> Dict[str, Any]:
|
||||
persona = CASE_AGENT_PERSONAS.get(agent_id, {})
|
||||
display_name = persona.get("display_name", fallback_name)
|
||||
|
|
@ -145,6 +509,38 @@ def _agent_profile_payload(agent_id: int, name: str, role: str, bio: str) -> Dic
|
|||
}
|
||||
|
||||
|
||||
def _course_profile_payload(persona: Dict[str, Any]) -> Dict[str, Any]:
|
||||
agent_id = int(persona["agent_id"])
|
||||
agent_code = f"A{agent_id:02d}"
|
||||
display_name = persona["display_name"]
|
||||
title = persona["title"]
|
||||
role = persona["role"]
|
||||
organization = persona["organization"]
|
||||
return {
|
||||
"id": agent_id,
|
||||
"agent_id": agent_id,
|
||||
"user_id": agent_id,
|
||||
"name": agent_code,
|
||||
"handle": agent_code,
|
||||
"username": display_name,
|
||||
"display_name": display_name,
|
||||
"real_name": display_name,
|
||||
"entity_name": persona["entity_name"],
|
||||
"entity_type": persona["entity_type"],
|
||||
"role": role,
|
||||
"title": title,
|
||||
"profession": title,
|
||||
"organization": organization,
|
||||
"bio": f"{display_name},{title},来自{organization}。{persona['bio']}",
|
||||
"persona": f"{display_name}以“{role}”身份参与同舟会线下课招生与交付双世界模拟,围绕购买动机、价格敏感度、课程交付、退款风险和商业机会给出可追溯反馈。",
|
||||
"interested_topics": ["AI课程", "线下课招生", "课程交付", "购买转化", "学员体验"],
|
||||
"age": persona["age"],
|
||||
"gender": "other",
|
||||
"country": "CN",
|
||||
"mbti": persona["mbti"],
|
||||
}
|
||||
|
||||
|
||||
def _case_time(minutes: int = 0) -> str:
|
||||
return (datetime.fromisoformat(NB_CREATED_AT) + timedelta(minutes=minutes)).isoformat()
|
||||
|
||||
|
|
@ -533,6 +929,9 @@ def get_cached_simulation(simulation_id: str) -> Optional[Dict[str, Any]]:
|
|||
|
||||
|
||||
def get_cached_profiles(simulation_id: str, platform: str = "reddit") -> Optional[List[Dict[str, Any]]]:
|
||||
if simulation_id == COURSE_SIM_ID:
|
||||
return [_course_profile_payload(persona) for persona in COURSE_AGENT_PERSONAS]
|
||||
|
||||
if simulation_id != NB_HNW_AI_CASE_ID:
|
||||
return None
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue