动察 Beating AI tin nhanh, GitHub đã công bố kiến trúc lưu trữ Git thế hệ mới với mật danh Rubicon. Kiểm thử nội bộ cho thấy 5000 AI Agent có thể làm việc đồng thời trong cùng một kho mã, hoàn thành 7200 lần đẩy mã mỗi giây, đồng thời duy trì độ trễ đọc thấp.
Trước đây, kho mã bận rộn nhất của GitHub cũng chỉ có vài chục lần ghi trong thời gian ngắn mỗi giây. Giờ đây, một lượng lớn AI Agent có thể phát triển song song suốt ngày đêm, liên tục gửi mã mới. Mỗi lần gửi còn có thể kích hoạt kiểm thử tự động, khiến các Agent khác tải phiên bản mới nhất, áp lực đọc ghi lên kho cũng theo đó tăng lên.
Giải pháp của GitHub là tách riêng việc «lưu mã» và «cập nhật nhánh» để xử lý.
Mỗi lần Git đẩy mã đều phải hoàn thành hai việc. Bước đầu tiên là lưu nội dung mã mới thêm hoặc đã sửa. Git không trực tiếp ghi đè phiên bản cũ, mà lưu nội dung thay đổi thành đối tượng mới, phần không thay đổi có thể tiếp tục tái sử dụng. Bước thứ hai là cập nhật con trỏ nhánh, ghi lại nhánh này hiện đang trỏ tới phiên bản mới nhất nào.
Ví dụ, 1000 Agent đồng thời phát triển phần mềm, có Agent sửa chức năng đăng nhập, có Agent sửa chức năng thanh toán. Chỉ cần chúng làm việc trên các nhánh khác nhau, mã mới có thể được lưu đồng thời, các nhánh cũng có thể tự cập nhật. Chỉ khi hai Agent đồng thời tranh nhau cập nhật cùng một nhánh, hệ thống mới cần phán đoán cập nhật của ai có thể thành công trước.
Ban đầu GitHub để tất cả các nhánh dùng chung một bản ghi cập nhật. Dù các AI Agent khác nhau sửa các nhánh khác nhau, vẫn phải tranh nhau cập nhật cùng một tệp, dẫn đến mỗi giây chỉ xử lý được hàng trăm lần đẩy. GitHub lại thử tách bản ghi thành nhiều phần, để các nhánh khác nhau cập nhật đồng thời. Nhưng như vậy, mỗi lần kiểm tra kho có thay đổi hay không đều phải truy vấn từng phần, ngược lại làm chậm tốc độ đọc.
Cuối cùng, GitHub đã phát triển dịch vụ Ref-CAS chuyên quản lý cập nhật nhánh. Nó cho phép các nhánh khác nhau cập nhật đồng thời, chỉ khi sửa cùng một nhánh mới cần xử lý xung đột. Đồng thời, nó còn duy trì một số phiên bản thống nhất cho toàn bộ kho. Các chương trình khác chỉ cần kiểm tra số phiên bản này là biết kho có thay đổi hay không, không cần truy vấn từng nhánh.
GitHub còn bố trí máy độc lập để hợp nhất các gói dữ liệu mã không ngừng tích lũy ở chế độ nền, tránh gói dữ liệu ngày càng nhiều làm chậm tốc độ đọc. Kiến trúc mới cuối cùng đạt 7200 lần đẩy mỗi giây trong kiểm thử nội bộ.
Rubicon của GitHub hiện vẫn đang trong giai đoạn thử nghiệm riêng giới hạn và dự kiến sẽ mở rộng ra mắt vào đầu năm 2027.
