在 GitHub 的 PR Trigger Action中,使用 AI 進行自動化 Code Review
過去我曾介紹過 在 Azure DevOps 中,使用 LLM 進行 code review 以及程式碼品質掃描(在 [here] & [here] ),得到許多回響,有不少朋友問,是否在 GitHub Repo 中也可以? 答案是…當然可以! 透過 GitHub Actions,我們可以輕鬆整合 OpenAI API 或其他大型語言模型(LLM)服務,打造出自動化的程式碼審查流程。這不僅能協助團隊在每次 Pull Request(PR)時即時分析程式碼品質,還能提供風格建議、安全性提醒,揭露潛在的技術債,使得 AI code review 不再只是理想,而是落地實踐的 DevOps 一環。 要實現這個功能,我們只需要幾個關鍵步驟,即可在 GitHub 的 PR 流程中,部署一個基於 LLM 的程式碼品質掃描機制。 首先,建立一個 GitHub Action workflow,觸發時機設定為 pull_request 。接著,我們可以撰寫一個 yaml 腳本,在 PR 被觸發時,讀取變更的程式碼(commit changes)並送出給 LLM API(例如 OpenAI 的 GPT-4)。最後,將分析結果格式化為 comment,自動撰寫在 PR 回覆中,讓開發者即時收到建議。 我們先來看執行的效果。 底下 repo 中原本有一段程式碼,是計算BMI用的: public void OnPost ( ) { if ( Weight . HasValue && Height . HasValue && Height > 0 ) { Height = Height / 100 ; // Convert height from cm to m BMI = Weight / ( Height * Height ) ; } } 我在分支中將其修改如下,請注意,其中有很多明顯的bug和不當的寫法: public void OnPost ( ) { if ( Weight . HasValue && Height . HasValue && Height ...