员工入职自动化代理

HireFlow是一个智能多代理系统,旨在通过自动化流程简化新员工入职,减少HR和IT团队的管理负担,并提供标准化的入职体验。

  • by Ahmzyjazzy
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Ahmzyjazzy/hireflow

使用说明

HireFlow-自动化新员工入职代理

使用Multi-Agent系统和MCP自动化员工入职流程。

概述

HireFlow是一个智能多代理系统,旨在简化和自动化新员工入职流程。作为顶点项目为 Kaggle代理商密集型,它利用谷歌的代理开发工具包(ADK)和模型上下文协议(MCP)来创建无缝、高效和交互式的入职体验。

通过协调专门的子代理并通过MCP与外部数据源集成,HireFlow减轻了人力资源和IT团队的管理负担,同时确保新员工从第一天起就拥有所需的一切。

价值主张

  • 效率:通过自动化检查表跟踪减少手动协调时间。
  • 一致性:确保每位新员工都经过标准化、无差错的入职流程。
  • 交互性:为新员工提供对话界面,以检查他们的状态并完成任务。
  • 可扩展性:模块化多代理架构允许轻松添加新部门或任务。

建筑

HireFlow使用 多代理LLM编排器 图案。主要的 HireFlow Agent 充当编排器,根据用户的意图将特定任务委托给专门的子代理。它还连接到 MCP服务器 为了安全地访问员工数据,生成动态入职检查表,并访问公司内部关于概念的文档(如果概念已配置)。

核心组件

  1. HireFlow代理(编排员):用户的入口点。它理解用户的请求,并将其路由到适当的子代理或工具。
  2. MCP服务器:实现模型上下文协议的专用服务器,提供对以下内容的安全、标准化访问:
    • employee_lookup:从员工数据库中检索员工详细信息。
    • get_onboarding_checklist:生成部门特定的入职检查表。
    • API-post-search(query:, sort, filter, start_cursor, page_size):它用于按标题搜索Notion页面/文档(如果配置了概念)
    • API-retrieve-a-page( page_id: str):它用于通过page_id检索特定的页面/文档(如果配置了概念)
  3. 分代理:专注于特定领域(人力资源、IT、工程等)的专业代理。
  4. 数据库会话服务:用于持续聊天会话
  5. 上下文工程:我使用上下文压缩进行上下文管理。

代理

主要代理人

  • 聘请Flow代理:中央控制器。它初始化会话,通过MCP对用户进行身份验证 employee_lookup 工具,并管理整个对话流。

分代理

  • 人力资源代理:Hireflow人力资源代理:管理人力资源入职任务。
  • IT代理:Hireflow IT代理:管理IT入职任务。
  • 工程代理:Hireflow工程代理:管理工程入职任务。
  • 财务代理人:Hireflow财务代理:管理财务入职任务。
  • 评估代理:Hireflow评估代理:管理评估入职任务。

工具

MCP工具(数据层)

这些工具通过MCP服务器提供服务,并向代理提供数据。

  • employee_lookup(email: str):通过电子邮件查找员工,以检索他们的个人资料、部门和ID。
  • get_onboarding_checklist(department: str):生成包含强制性HR/IT任务和部门特定项目的合并清单。

Notion MCP服务器中使用的其他一些工具

  • API-post-search(query:, sort, filter, start_cursor, page_size):用于按标题搜索Notion页面/文档
  • API-retrieve-a-page( page_id: str):它用于通过page_id检索特定的页面/文档

代理工具(动作层)

代理使用这些工具来修改会话状态和跟踪进度。

  • update_checklist_status(category, task, is_complete):更新特定检查表项目的状态(例如,将“签署员工手册”标记为已完成)。

工作流程

  1. 认证:用户提供他们的电子邮件。这 聘请Flow代理 呼叫 employee_lookup MCP工具,用于验证身份并加载用户的个人资料。

注意:对于现实生活场景,此代理将在员工门户内访问,以确保用户已通过身份验证

  1. 初始化:代理根据用户所在部门进行呼叫 get_onboarding_checklist (MCP)生成个性化的入职检查表。
  2. 编排:用户与代理进行交互(例如,“我已经签署了我的手册”)。
  3. 授权:The 聘请Flow代理 将请求路由到相关子代理(例如。, 人力资源代理).
  4. 执行:子代理使用以下工具 update_checklist_status 在会话状态中将任务标记为已完成。
  5. 反馈:代理向用户确认操作并建议后续步骤。

请参阅 演示文件夹 下面的文件夹。

设置和使用

先决条件

  • Python 3.11+
  • uv 包管理器
  • 克隆存储库
  • 配置Gemini API密钥
  • 配置您的Notion API密钥

配置Gemini API密钥

该项目使用 API双子星,这需要一个API密钥。

  1. 获取API密钥:如果您还没有,请创建一个 Google AI Studio中的API密钥.

3.配置环境变量

  1. 复制示例环境文件:
    cp .env.example .env
    
  2. 打开 .env 并添加您的API密钥:
    GOOGLE_API_KEY=your_google_api_key_here
    NOTION_API_KEY=your_notion_api_key_here #optional
    

4.概念集成设置(可选)

要使代理能够访问您的Notion工作区(用于员工手册、公司政策等),您需要设置Notion集成。

👉 阅读《概念设置指南》 获取分步说明。

安装

  1. 克隆存储库。
  2. 安装依赖项:
    make install
    
  3. 在中设置环境变量 .env.如配置Gemini API密钥部分所述。

运行代理

  1. 作为web应用程序运行(例如启动adk web UI游乐场)

    make playground
    

    在浏览器中打开提供的URL与HireFlow进行交互。

  2. 通过笔记本运行,打开 hireflow_demo笔记本 并运行细胞

  3. 作为控制台应用程序运行

    make run
    

测试数据

使用以下示例电子邮件作为不同用户进行身份验证:

姓名 电子邮件 部门
约翰·多伊 john.doe@xyz.com 工程学
莎拉·丹尼尔斯 sarah.daniels@xyz.com 财务

非常感谢。