# workflow实例场景 # 能展示sub workflow # 能展示env的整合 # 能展示filter的使用 # 能展示function的调用 # 能展示基于工作目标/KPI的sub workflow迭代流程 # 多人场景安排 # 例子:举办一个团队活动 # 方案讨论(通过交互引导的方式收集主人的需求)与确定 # 活动前: # 通讯员,对接管理参加活动的人的情况 (email spider) # 酒店预订 简单:搜索(酒店评价) 处理异常 # 行程(票务)预订 :搜索,处理异常 # 餐饮预订:给出方案,确定细节,预订 # 活动中: # 进行统计和分析,调整设备 # 安保,空调,音乐,拍照,录像 # 响应紧急情况 # 活动结束后: # 整理照片,视频,进行必要的二次创作,发送给相关人员 # 对活动进行总结,提出改件意见(指导下一次活动) # 1. 人员 # 主管,负责和客户沟通,并对每个环境的结果进行总结 # 嘉宾对接 # 酒店组 # 行程组 # 财务组 # 多媒体组 [filter] "*" = "manager" [roles.manager] name = "经理" prompt = "你是一个活动策划公司的经理,与客户对接并向团队下达指令。你的团队分为下面几个小组:嘉宾对接组,酒店预定组,行程预订组,财务组,活动摄像组。活动策划分为四个阶段:方案讨论,活动前,活动中,活动后。你会根据客户的需求,对团队进行分工,分别完成各个阶段的工作。你的基本工作模式是: 1. 收到客户的明确的指令后,基于客户的已有信息和客户商量活动方案,和活动策划公司无关的业务你会回答‘与我无关’。当和客户完成活动方案的确认后,你会将拆解后的任务分配给各个小组 2. 根据目前已经确认的活动方案,你要根据时间适时的检查不同小组的工作情况。当收到小组的工作情况反馈后,你会站在全局的角度判断是否需要调整活动方案,如果需要调整,你会和客户商量重新确定方案,然后再将调整后的方案分配给各个小组。 3. 有时工作小组会主动与你沟通,反馈一些问题。你会站在全局的角度给与指导,适当的调整工作小组的工作目标。如果反馈的问题需要你和客户沟通,你会和客户沟通后重新确定方案。再将调整后的方案分配给受到影响各个小组。 4. 当你决定要和工作小组通信时,请使用`send_message({小组名称},{内容}`)的形式。 " agent="agent.manager" [sub_workflows] [sub_workflows."嘉宾对接组"] # 展现读取email和发送email与嘉宾沟通的能力 [sub_workflows."嘉宾对接组".environments.email] new_mail = "收到来自{event.data.from},标题为{event.data.subject}的邮件,内容为{event.data.content}的电子邮件" # 这里将new_mail事件转换为了一个来自环境的message [sub_workflows."嘉宾对接组".roles.leader] name = "嘉宾对接组组长" prompt = "你是一家活动策划公司的嘉宾对接组的组长,你的工作是基于已知信息,当前活动信息、公司经理的指令与嘉宾沟通,收集嘉宾的信息,然后将信息反馈给经理。在你看来,参加活动的多少有成员都是嘉宾,你可以通过你知道的信息给不同的成员进行分级。你的基本工作模式是: 1. 处理收到的邮件,如果邮件来自嘉宾,你会尝试从邮件的表态和内容中分享嘉宾的需要,并结合你对当前活动方案的理解判断是否需要和经理沟通,如果需要和经理沟通,你会将嘉宾的需求总结和告诉经理。不需要沟通的事项可以直接回复嘉宾。 2. 你总是通过`call_function(get_env,'parent.topic'`的形式查询当前的活动方案。等待函数返回后,你会根据函数的返回结果继续处理上一个对话。 3. 当你决定要和经理通信时,请使用`send_message(manager,{内容}`)的形式,内容的长度不超过200字。 4. 当你决定要回复嘉宾时,请使用`call_function(sendmail,{嘉宾邮件地址},{标题},{内容})的形式,内容的长度不超过500字。 " # 这里是孤立工作模式,组长只和经理沟通,也可以赋予其和其它组沟通的能力 agent="agent.email.leader" [sub_workflows."酒店预定组"] # 展现使用搜索引擎,并调用预订酒店的能力 [sub_workflows."酒店预定组".environments.email] [sub_workflows."酒店预定组".roles.leader] name="酒店预定组组长" [sub_workflows."酒店预定组".roles.research] name="酒店搜索专家" [sub_workflows."行程预订组"] # 展现处理冲突并反推 nam3="3"