讓AI代碼審查變得可衡量
一位來自loveholidays的軟件工程師使用OpenAI Codex構建了一個定製的AI代碼審查系統,該系統可在本地運行,融入現有工作流程,旨在實現可衡量的、上下文感知的代碼審查。
代碼審查一直是軟件工程師的瓶頸之一。在loveholidays,團隊在日常工作流程中大量使用AI,但無論PR是否藉助AI編寫,仍需要人工審查。受Intercom一篇關於使用AI批准代碼審查的帖子啓發,一位工程師決定嘗試構建自己的AI審查系統。
該項目並非對現有工具的簡單替代,而是基於OpenAI Codex的本地化解決方案。工程師希望避免額外訂閲費用,並確保審查過程能充分利用現有工作環境中的上下文信息。與僅依賴git diff的傳統AI審查不同,該系統會關聯相關文件、檢查周圍代碼邏輯,並分析變更可能對現有行為產生的影響。
技術實現上,系統首先通過git worktree將PR克隆到新工作目錄以支持並行評估,然後使用codex exec運行自定義提示、規則和輸出格式的審查流程。最終返回結構化JSON結果,包含裁決(如“rejected”)以及每行代碼的評論和改進建議。
工程師強調,這僅是一次實驗性嘗試,並不構成對特定工具的推薦。實驗消耗了數十億token,成本高昂但提供了寶貴經驗。該方法適合熟悉風險管理並在本地或沙箱環境中運行的團隊。在整個過程中,工程師利用了OpenAI提供的三個月試用期,並強調了上下文感知的重要性:當審查PR時,他很少孤立地看diff,而是會打開相關文件,檢查周圍代碼如何工作,尋找相似模式,並思考變更可能如何破壞現有行為。他希望AI審查者也能做到同樣的事情。此外,這種方法能融入現有工作流,代理可以使用日常使用的相同技能、MCP服務器、命令和項目上下文,使審查更像是現有工作的擴展而非通用外部工具。