用 Gemini 自动生成工程师日报!让 Scrum 信息共享变得异常轻松

前段时间,我利用 Google Workspace 中可的 Gemini API,搭建了一套从日常业务日志自动生成日报,并自动发布到 Slack 的机制。接下来,我将为大家介绍具体的实现方法,以及实际投入使用后发现的超出预期的效果。

每日使用Scrum 的烦恼,如何用AI 来解决?

每日使用Scrum 的烦恼,如何用AI 来解决?

“昨天做了那些事,今天计划做这些事”

各位采用 Scrum 模式进行开发的同仁,每天早上的Scrum是如何开展的呢?

在短时间内,快速口头分享已完成的工作和后续计划。在开发过程中,完成每日Scrum 是团队信息共享不可或缺的环节。然而,这个简短的会议,其实暗藏着不少烦恼。

  • 被多任务缠身时,会混乱地想 “昨天做了什么来着?”
  • 口头沟通容易出现信息遗漏或理解偏差
  • 虽然有人会认真写日报,但说实话看起来挺麻烦的

GitHub、Jira、Slack 上虽然留有记录,但要跨多个工具整理信息,耗费精力。不过这个问题,已经可以通过 Gemini 解决了。

这次,我们利用公司内部 Google Workspace 中可的 Gemini API(Vertex AI¹),搭建了自动生成日报并发布到 Slack 的机制,接下来就为大家介绍具体的方法和效果。

做法:收集信息,让 Gemini 撰写日报

这次制作的工具能够自动收集团队成员的日常活动日志,并以此为基础,由 Gemini 生成日报。

1. 从各类工具收集活动日志

首先,从 GitHub、Jira 等业务工具中收集各成员的活动日志。这部分只需调用 API 即可完成,属于常规操作,因此无需使用 AI 或 MCP(Model Context Protocol²)服务器。为了快速、准确地获取所需信息,我们通过各类服务提供的 API 来获取数据。

需收集的事件信息如下。通过筛选昨天到今天这段时间内的各类事件信息,为日报生成收集素材。

  • Slack 的发言:消息内容和频道名称
  • Jira 工单评论:评论内容、工单 ID 及标题
  • Confluence 页面编辑:页面标题和编辑时间
  • 创建的 GitHub PR:PR 标题和内容、仓库名称
  • Google Calendar 日程:日程主题和时间

既可以直接发送 API 请求,也可以使用自己熟悉的编程语言的库来获取信息。

2. 按时间顺序整理事件信息

将收集到的事件信息转换为 JSON 格式,并按时间顺序排序。这样做有望帮助 AI 将不同事件关联起来,更易理解。

以下是收集到的事件数据的 JSON 示例。

json

[
  {
    "type": "slack_message",
    "timestamp": "2025-09-03T09:30:00Z",
    "channel": "example-dev",
    "text": "麻烦帮忙 review 一下 PR #123!"
  },
  {
    "type": "github_pr",
    "timestamp": "2025-09-03T11:45:00Z",
    "repo": "example-tool",
    "title": "登录功能的bug修复",
    "body": "由于登录时的处理遗漏了对XXX的考虑,因此引入了YYY的应对方案"
  },
  // 其他事件后续
]

3. 制作提示词并调用 Gemini API

这是最关键的环节。根据按时间顺序整理好的事件信息,制作用于生成日报的提示词,并传入 Gemini API。提示词内容如下。

指示(Instruction)

请根据提供的事件日志,为 [成员姓名] 生成日报。本日报的目的是让团队成员能够准确、简洁地了解 [成员姓名] 的工作状况。

角色(Role)

你是 “促进团队信息顺畅共享、推动协作的支持者”。请对内容进行整理和总结,确保读者能立即理解,并能转化为行动。

目的 (Goal)
  • 让团队全体成员了解 [成员姓名] 的工作内容、进展及课题
  • 确保能够立即开展必要的协作和跟进工作
  • 提高工作透明度,培养团队内共同认可成果的文化
规则(Rules)
  • 通篇需兼顾 “亲切感 + 商务场景的明确性”
  • 文体“以短句为主”,避免冗长表达
  • 不包含冗余信息(问候语、闲聊、无意义的工作日志等)
  • 省略过于琐碎的工作,对能传达工作本质和意义的信息进行汇总
  • 适当使用表情符号,提升视觉可读性
  • 最后必须加入 “具体称赞其成果与努力的一句话”
事件日志(Event Log)

[此处插入按时间顺序排序的 JSON 数据]

输出格式(Output Format)

请按照以下格式输出。

plaintext

[成员姓名] 的日报(X月X日)

*工作1*
1. 内容1
  * 详情1
  * 详情2
2. 内容2
  * 详情1
3. ...

*工作2*
1. 内容1
  * 详情1
  * 详情2
2. 内容2
  * 详情1
3. ...

<为提升成员士气,结合具体内容,精神饱满地称赞其努力与成果>

4. 自动发布到 Slack

将 Gemini 生成的日报,配合每日 Scrum 的时间,自动发布到 Slack 的专用频道。以下截图是实际发布的日报示例。

制作的系统在本地终端上运行,事件信息的收集、Gemini API 的调用、Slack 的发布等所有环节均已实现自动化。虽然我们是用 Ruby 开发的,但这样的机制应该可以用任何编程语言搭建。

超出预期的效果!信息共享大幅改善

引入这套机制后,团队的信息共享得到了大幅改善。

简单又轻松!摆脱 “昨天做了什么来着?” 的困扰

由于日报是自动生成的,早上起来就不必花太多时间纠结 “昨天做了什么来着…”。无需从零开始思考,只需以自动生成的内容为基础进行口头补充即可,每日 Scrum 的信息共享变得真正轻松起来。

解决口头沟通的问题

日报以文本形式留存,大幅提高了信息共享的准确性和可访问性。

  • 避免信息遗漏和理解偏差
  • 无法参加每日 Scrum 的成员,只要阅读日报就能立刻了解情况
  • 管理者更容易把握整个团队的动态

不追求完美,灵活运用

AI 生成的日报并非 100% 完美。但每日 Scrum 的目的是促进信息顺畅共享,即便内容略有偏差,当场通过口头修正即可。

将 AI 作为提供 “切入点信息” 而非 “完美信息” 的工具,使其在每日 Scrum 中发挥了非常有效的作用。

顺便提一下,生成日报的成本每人每天仅约 0.02元。无需担心成本问题,这也是一大优势。(使用的模型为 gemini-2.5-flash。)

正因为不完美,才造就了有趣的 AI 使用方式

通过这次尝试,我重新思考了 AI 的运用方式。

与文本文化的兼容性

在远程办公普及、日常沟通逐渐被 Slack 等文本工具取代的当下,我认为 AI 自动汇总并可视化文本信息的这套机制非常合理。

AI 是辅助人类的存在

并非人类主动向 AI 提问,而是以日程执行、事件发生为触发条件,让 AI 主动行动,提前辅助人类工作。这或许是最大限度发挥 AI 作用的方法之一。

此外,当前的 AI 并不擅长完全按照指令的逻辑进行处理。与其将完美的任务处理交给 AI,不如在 “不完美也没关系,希望能好好帮忙” 的领域积极融入生成式 AI。

在系统中融入 AI 时,需要明确:

“哪些部分用确定性逻辑(必定产生相同结果的固定程序)来实现?”“哪些部分交给非确定性处理(灵活且不可预测的 AI)来完成?”

有意识地划分这条界限进行设计至关重要。我认为这是一个与现有编程有所不同、需要新思维和新设计方法的领域。

这次搭建的机制不仅限于每日 Scrum,还可应用于各种会议。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注