悠星运维团队的 GenAI 技术实践:Claude 3-Powered Code Reviewer

目录

Amazon Bedrock 和 Claude 3 模型

悠星运维团队的 GenAI 技术实践:Claude 3-Powered Code Reviewer

业务场景

技术需求

技术方案

主要问题

Code Review 过程中的安全问题

支持的编程语言类型与扫描方式

Code Review 结果是否有价值

Runtime Quotas

UI 设计

方案优势


Amazon Bedrock 和 Claude 3 模型

Amazon Bedrock 是一个完全托管的服务,通过单一 API 为头部 AI 公司如 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 提供高性能的基础模型选择,以及构建具有安全性、隐私性和负责任 AI 的生成式 AI 应用程序所需的广泛功能。Claude 3 模型基于 Anthropic 公司对于创建可靠、可解释和可控制的 AI 系统的研究。

Claude 3 使用 Constitutional AI 和无害训练等技术创建,在思考对话、内容创建、复杂推理、代码审查、代码生成、代码分析和优化、错误检测和调试、文档生成、代码重构和维护等方面表现卓越。Claude 3 Haiku,这是速度最快、最紧凑的模型,可实现近乎即时的响应;Claude 3 Sonnet,这是平衡了技能和速度的理想模型;Claude 3 Opus,这个模型最智能,可在处理高度复杂的任务时提供顶级性能。

悠星运维团队的 GenAI 技术实践:Claude 3-Powered Code Reviewer

业务场景

在现代软件开发中,代码审查(Code Review)是确保代码质量和项目成功的关键步骤。悠星网络科技有限公司(Yostar)作为国内顶尖的游戏开发和发行公司,始终致力于技术创新和高效运维。为了进一步提升代码审查的效率和质量,悠星运维团队引入了 Amazon Bedrock 基础模型 Claude 3 语言模型,开启了 GenAI 技术在代码审查中的实践之路。

悠星运维团队认为在游戏开发过程中,代码审查(Code Review)不仅是一个技术流程,更是提升团队协作、知识共享和项目成功率的重要手段。基于大模型 Claude 3 系统的代码审查流程,游戏公司可以提高代码质量、降低项目风险、促进团队协作和开发人员的成长,从而在激烈的市场竞争中保持领先地位。

技术需求

  • Code Review Result 需要提供有价值的代码洞察,能识别 bug 和安全漏洞,时间效率和内存效率问题等
  • GitLab 仓库必须通过白名单控制,只允许指定的 IP 才能连接,并结合 GitLab Access Token 进行访问
  • 方便通过 GitLab Webhook 与 CI/CD 进行集成
  • Code Review 需要支持 commit 级别和整个代码仓库级别的 Review
  • 支持 Go、Python、JavaScript 等编程语言的 Code Review
  • 开发人员和开发经理可以便捷地查看 Code Review Task 状态与结果
  • 对于整个代码仓库级别的 Review,需要有 Review Summary

技术方案

经过与亚马逊云科技快速原型团队,解决方案架构师团队和技术客户经理团队讨论和研究,悠星运维团队决定使用如下架构:

Claude 3-Powered Code Reviewer 架构示意图

出于安全考虑,尽量避免数据暴露于互联网,我们将所有 Amazon Lambda 函数放在一个 VPC 中,通过 NAT Gateway 访问互联网,通过 VPC Endpoint Gateway 访问 DynamoDB 和 S3,通过 VPC Endpoint Interface 访问 Bedrock Claude 3 和 Amazon SQS。

① 通过 GitLab Webhook 自动探测开发人员针对代码仓库的 Push event

② 调用 Codereview Post API 提交 Code Review Task

③ 检查 Code Review Task 中是否有需要 review 的代码文件,如果不存在直接 return “No file need review”,如果存在,则进入④,⑤

④ 将 Code Review 任务状态存储到 Amazon DynamoDB 中

⑤ 触发 Lambda 异步处理,根据文件拆分细化任务到 Amazon SQS 中,白名单设置(处理的文件尾缀:.go/.py/.java 等,Lambda 的环境变量)

⑥ 获取 commit diff file 等信息

⑦ 将 Code Review message 放入 Amazon SQS

⑧ 更新 Amazon DynamoDB 中需要处理的文件数目

⑨ Amazon Lambda 订阅 Amazon SQS,根据 Amazon SQS 中的 message 来 review code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值