Tối ưu hóa quy trình Code Review bằng hệ thống AI điều phối tại Cloudflare
Khám phá cách Cloudflare xây dựng hệ thống AI điều phối chuyên biệt để tự động hóa quy trình code review, giúp tăng tốc độ phát triển mà vẫn đảm bảo an ninh và chất lượng mã...
Code review là một cơ chế quan trọng để phát hiện lỗi và chia sẻ kiến thức, nhưng cũng thường trở thành nút thắt cổ chai trong quy trình kỹ thuật. Tại Cloudflare, thời gian chờ đợi cho một lượt review đầu tiên thường kéo dài hàng giờ. Việc áp dụng các công cụ AI có sẵn thường không đáp ứng được yêu cầu về khả năng tùy biến cho một tổ chức quy mô lớn, trong khi các phương pháp tiếp cận đơn giản (như đưa toàn bộ git diff vào prompt) lại cho kết quả thiếu chính xác và gây nhiễu.
Table Of Content
Kiến trúc điều phối dựa trên plugin
Thay vì xây dựng một agent đơn lẻ, Cloudflare đã phát triển một hệ thống điều phối native cho CI dựa trên OpenCode. Khi một kỹ sư tạo merge request, hệ thống sẽ kích hoạt một nhóm các AI agent chuyên biệt. Thay vì dựa vào một prompt khổng lồ, hệ thống sử dụng đến bảy chuyên gia AI tập trung vào các mảng: bảo mật, hiệu năng, chất lượng code, tài liệu, quản lý bản phát hành và tuân thủ tiêu chuẩn nội bộ.
Hệ thống được xây dựng trên kiến trúc plugin có thể mở rộng, cho phép tách biệt cấu hình giữa các nhà cung cấp VCS (như GitLab) và các nhà cung cấp AI. Mỗi plugin tuân thủ giao diện ReviewPlugin với ba giai đoạn vòng đời: Bootstrap, Configure và postConfigure, đảm bảo tính cô lập và khả năng bảo trì cao.
Sử dụng OpenCode và JSONL
Cloudflare lựa chọn OpenCode vì tính chất mã nguồn mở và khả năng vận hành như một server. Hệ thống điều phối sử dụng Bun.spawn để chạy OpenCode dưới dạng tiến trình con, truyền dữ liệu qua stdin để tránh giới hạn ARG_MAX của nhân Linux. Việc sử dụng định dạng JSONL (JSON Lines) giúp hệ thống ghi log cấu trúc theo thời gian thực mà không cần chờ đợi đóng file, đảm bảo dữ liệu không bị mất nếu tiến trình bị gián đoạn.
Chiến lược phân tầng AI
Thay vì dùng một model duy nhất, Cloudflare phân bổ các model dựa trên độ phức tạp của tác vụ:
- Top-tier (Claude Opus 4.7, GPT-5.4): Dành cho vai trò Điều phối viên (Coordinator), chịu trách nhiệm tổng hợp, khử trùng lặp và đưa ra phán quyết cuối cùng.
- Standard-tier (Claude Sonnet 4.6, GPT-5.3 Codex): Đảm nhận các tác vụ nặng như kiểm tra chất lượng code, bảo mật và hiệu năng.
- Kimi K2.5: Xử lý các tác vụ nhẹ như tài liệu hoặc quản lý bản phát hành.
Để tối ưu chi phí và hiệu quả, hệ thống không nhúng toàn bộ diff vào prompt mà chia nhỏ thành các file patch, giúp giảm đáng kể lượng token tiêu thụ. Ngoài ra, các biện pháp ngăn chặn prompt injection được thực hiện nghiêm ngặt bằng cách làm sạch dữ liệu đầu vào từ người dùng, ngăn chặn việc chèn các chỉ dẫn độc hại vào prompt hệ thống.
Hệ thống này hiện đang vận hành trên hàng chục nghìn merge request, giúp tự động phê duyệt các đoạn code sạch và chặn đứng các lỗ hổng bảo mật nghiêm trọng trước khi chúng được hợp nhất vào codebase chính.
Nguồn tham khảo: Cloudflare Blog



No Comment! Be the first one.