GSOC谷歌编程之夏2025招募中|期待您的提案
· 阅读需 7 分钟
GSOC的起源与目的
GSOC 即 Google Summer of Code(谷歌编程之夏),是谷歌公司发起的一项全球性活动,旨在鼓励学生参与开源软件项目的开发,以下是其详细介绍:
- GSOC 始于 2005 年,最初是谷歌为了促进开源社区的发展,鼓励更多学生投身于开源软件的开发和创新而设立的项目。通过该项目,谷歌希望能够为开源世界注入新鲜血液,让学生们在实践中提升技术能力,同时也为开源项目带来新的思路和贡献。
任务:基于MCP协议的用于监控信息交互的AI代理
网站: https://hertzbeat.apache.org/
Github: http://github.com/apache/hertzbeat/
背景
Apache HertzBeat是一款开源的实时监控工具,支持广泛的监控目标,包括Web服务、数据库、中间件等等。它具有高性能、可扩展性和安全性的特点。
随着人工智能(AI)技术的不断进步,将人工智能与监控系统集成可以显著提高其可用性和交互性。通过开发一个基于模型上下文协议(MCP)的AI代理,我们旨在实现对话式交互,以便查询监控信息、添加新的监控任务以及检索监控指标。这将提供更加用户友好和智能的监控管理体验。
功能需求
查询监控和报警信息
-
监控项状态监控
通过自然语言能够获取监控项的状态;
如:现在哪些监控项存在异常?应该告诉用户哪些监控项存在异常,并且异常发生时间。
-
搜索指标数据
通过自然语言能够获取指标的数据;
如:a. 现在哪些服务器 CPU 使用率超过 80%
b. 服务器 192.168.1.1 最近一天 CPU 使用情况,用图表方式显示出来
-
报警数据 通过自然语言获取报警数据; 如:最近哪些监控报警比较多?
添加新的监控任务
- 添加新的监控目标 通过自然语言能够添加新的监控目标; 如:a. 我要监控Web服务的响应时间 b. 请帮我添加数据库连接池的监控
- 配置警报阈值 通过自然语言能够配置警报阈值; 如:a. 当Web服务响应时间超过5秒时触发警报 b. 数据库连接池使用率超过90%时发送通知
设计时需要考虑的事项
- 底层存储支持数据源比较多,如何监控? 比如:自然语言 -> SQL -> 查询数据源 -> 大模型
- 大模型的兼容性,支持常用模型
- 方案的易用性,让用户能够方便使用
需求分析
- Apache HertzBeat:作为监控系统的核心后端,它提供数据收集、存储和管理功能。
- MCP协议:一种开放协议,可实现大语言模型(LLM)应用程序与外部数据源和工具之间的无缝集成。
- 前端交互:开发一个用户友好的界面,支持语音或文本输入,并显示监控信息和交互结果。
推荐技能
- Java + TypeScript:Apache HertzBeat是基于此技术栈开发的。因此,掌握这些技术对于与HertzBeat集成至关重要。
- SpringAi:建议使用SpringAi来构建AI代理。
- LLM + MCP:你需要了解大语言模型(LLM)和MCP协议。SpringAi似乎支持MCP协议,或者可以考虑直接使用mcp-sdk。
规模
- 难度:困难
- 项目规模:约350小时