
Tiger项目管理自动化:用crew Ai和gemini 2.0提升效率透明度 减少50%手动工作量
TIGER:使用 AI 智能体实现项目管理自动化
作为一名产品负责人,我管理着一个涉及 15 个不同团队和 80 多位利益相关者的数据平台项目,我经常花费大量时间从各个团队收集和处理信息、了解他们的工作,并跟进工作项的状态。
这项工作是我不喜欢做的,这降低了我的工作效率,也影响了我作为一名领导者的工作成效。我没有足够的时间专注于管理如此庞大而复杂的项目的必要的产品战略。
为了解决这个问题,我使用了 Crew AI 和 Gemini 2.0 创建了一组 AI 智能体,以自动处理我的项目管理任务,同时在沟通中保持质量和友好的语气。我将这个解决方案命名为 TIGER:
TIGER 由一组 AI 智能体组成,它们独立地从 Jira 中提取数据、分析数据,并通过 Slack 发送状态更新。整个系统在一个笔记本中运行,工作流程非常简单:
- 从 Jira 中提取指定时间段的数据
- 处理和分析提取的数据
- 生成见解和后续问题
- 将信息整合到一份综合报告中
- 将格式化的更新发送到 Slack
整个解决方案是开源的,本文将展示如何在你的公司中设置 Tiger。
第一步是正确设置 Jira 委员会,因为这将是智能体输入数据的来源。我使用 Jira Product Discovery 创建了结构良好的卡片,概述了计划的工作。我还要求工程师和 PM 承诺通过他们正在处理的评论和子任务来更新卡片。
设置环境
Tiger 在笔记本中运行。为了本教程的目的,我们将认为它在 colab 中执行,但你也可以在本地运行它。
配置 API 密钥
你需要设置几个 API 密钥,我们将使用 Colab 笔记本上的 Secrets 选项卡将它们添加到环境中:
Gemini
Gemini 提供免费层以供测试。虽然它的速率限制较低,但这应该足以满足本项目的目的。要获得免费层访问权限,请转到 Google AI Studio 并单击“获取 API 密钥”。
然后,单击创建 API 密钥:
在你的 GCP 帐户中选择一个项目(如果没有,请创建一个),然后单击在现有项目中创建 API 密钥:
系统将提示你输入 API 密钥。复制它并返回到 Colab 笔记本上的 Secrets 选项卡。
单击添加新密钥,使用名称 GEMINI_API_KEY 和你在上一步中获得的密钥创建一个新密钥。
你应该看到此屏幕:
Jira API 密钥
要获取 Jira API 密钥,你需要执行以下步骤:
- 登录 https://id.atlassian.com/manage-profile/security/api-tokens。
- 选择创建 API 令牌。
- 为你的 API 令牌命名,描述其用途。
- 为 API 令牌选择过期日期。
- 令牌过期时间为 1 到 365 天。
- 选择创建。
- 选择复制到剪贴板,然后返回到笔记本上的 Secrets 选项卡,添加一个名为 JIRA_API_TOKEN 的新密钥。
你还需要添加一个变量,其中包含你公司的 Jira URL,格式为 https://.atlassian.net,以及你用于登录 Jira 的用户名,格式为 [email protected]._ 你的变量设置应如下所示:
Slack bot API 密钥(可选)
只有当你想要创建一个 Slack 应用程序,以便在贵公司的 Slack 频道中发送 AI 智能体消息时,才需要此部分。为此,请访问 此页面,单击创建应用程序,然后按照步骤创建你自己的应用程序。
然后,转到 OAuth 和权限选项卡,为自己创建一个 Bot User OAuth 令牌,复制该值,然后返回到 Colab 笔记本的 Secrets 选项卡。
创建一个名为 SLACK_BOT_TOKEN 的新环境变量,并粘贴你的 API 令牌。如果你看到如下设置,则可以继续:
配置环境
运行下面的单元格以克隆存储库并安装所需的库。运行代码后,Colab 将要求你重新启动会话;请这样做。
!git clone https://github.com/hugozanini/jira-tiger.git
!pip install -r jira-tiger/requirements.txt
import os
from crewai import Agent, Task, Crew, Process, LLM, CacheProvider
from langchain_community.llms import Gemini
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.tools import tool
import pandas as pd
import re
from datetime import datetime, timedelta
import requests
import json
from bs4 import BeautifulSoup
现在,我们将导入所需的库并定义要使用的模型;我们的选择将是 Gemini 2.0 flash。
os.environ["GEMINI_API_KEY"] = os.environ.get("GEMINI_API_KEY")
llm = Gemini(model="gemini-1.0-pro-001",
google_api_key=os.environ["GEMINI_API_KEY"],
callbacks=[StreamingStdOutCallbackHandler()])
然后,我们将设置将在笔记本中由智能体使用的信息——这将根据你的上下文而改变。该示例考虑了 2025 年 2 月 18 日至 25 日之间的数据提取:
JIRA_URL = os.environ.get("
项目分析和更新生成
此代理将负责获取由前一个代理生成的报告,分析它们以建议跟进措施,并创建每周状态更新。
执行后,您将看到两个 JSON 文件,其中整合了分析结果。第一个包含给定期间的所有问题以及相应的跟进措施和更新,如下面的代码片段所示:
第二个是 report_summary.json
— 包含上一个文件中设置的占位符的内容:
发送 Slack 消息
有了所有跟进措施和状态更新,沟通专家就可以获取数据并在我与利益相关者的 Slack 频道上发送消息:
沟通专家代理发送的消息的真实示例:
作者提供的图片
专注于重要事项
正如我一开始所说,这些代理为我节省了很多时间——每周至少 5 个小时,而且我有更多的时间专注于与我的利益相关者进行产品战略讨论。
作为一名优秀的产品经理,我与参与该计划的 80 多人进行了一些调查,以下是他们使用 TIGER 的体验的一些数据:
- 80% 的人将 Tiger 更新评为 Good 或 Great
- 80% 的人表示 Tiger 比之前的同步每周更新 好得多
- 90% 的人表示,如果我们 停止使用 Tiger,他们会非常 失望 或有些失望
- 66% 的人表示,Tiger 在提供工作项更新时以某种方式 节省了时间
- 80% 的人表示,他们将致力于每周在 Jira 上提供其工作项的更新
完整的实现可在 GitHub 上找到:github.com/hugozanini/jira-tiger
致谢
该项目是在 Google 开发者专家计划组织的 Vertex 冲刺期间开发的。感谢 Google 提供 GCP 和 Colab 积分以实现这一目标,并持续支持开源 AI 社区。