
Harness xây lại kho Git để xử lý lượng mã do tác tử AI tạo ra nhanh hơn khả năng rà soát của con người. Kiến trúc mới kết hợp kho mã hoạt động liên tục với đồ thị tri thức về quy trình phân phối phần mềm. Bộ rà soát giúp kỹ sư ưu tiên những thay đổi có rủi ro cao.
The New Stack về kho Git mới của Harness dẫn lời Martin Reynolds, giám đốc công nghệ phụ trách thị trường của Harness. Ông thường hỏi các lãnh đạo kỹ thuật cách họ theo kịp số yêu cầu hợp nhất mã do tác tử tạo ra. Một lãnh đạo trả lời rằng họ không theo kịp. Người này cũng thừa nhận ngưỡng chấp nhận đưa mã vào môi trường vận hành đã giảm xuống.

Yêu cầu hợp nhất mã tăng nhanh hơn năng lực rà soát
Các thử nghiệm của Harness cho thấy tác tử AI có thể làm lượng mã mới tăng nhanh. Năng lực kiểm thử và rà soát không tăng tương ứng. Hàng đợi yêu cầu hợp nhất mã vì thế trở thành nút thắt. Doanh nghiệp phải chấp nhận thêm rủi ro, để tồn đọng công việc hoặc dùng AI để giảm tải.
Reynolds bắt đầu thấy nút thắt này trong những đợt thử nghiệm ban đầu của Harness với GitHub Copilot và Amazon CodeWhisperer. Nhóm nhận được nhiều yêu cầu hợp nhất mã hơn, nhưng chúng bị ùn lại vì đội kiểm thử không thể xử lý kịp.
Theo số liệu Reynolds cung cấp cho The New Stack, lượng mã mới ban đầu tăng từ 1,5 lần đến 2 lần. Mức tăng này đủ để đẩy đội kiểm thử đến giới hạn. Hiện ông đôi khi gặp những nhóm có mức tăng 10 lần. Một số nhóm thậm chí tuyên bố đạt 50 lần.
Khối lượng này khiến các doanh nghiệp phản ứng theo ba hướng. Một số chấp nhận nhiều rủi ro hơn để đưa mã vào vận hành. Một số để danh sách yêu cầu rà soát tồn đọng ngày càng dài. Phần lớn dùng thêm công cụ AI để giảm tải, nhưng theo Reynolds, cách này chưa giải quyết hết vấn đề.
Đây cũng là phần dễ bị bỏ qua khi đánh giá một tác tử AI viết mã và cách nó hoạt động. Khả năng tạo mã chỉ hữu ích khi quy trình kiểm thử, rà soát và phát hành có thể hấp thụ lượng đầu ra tương ứng.
Ưu tiên phần mã thực sự thay đổi
Bộ rà soát của Harness được thiết kế để đưa những thay đổi quan trọng lên trước. Reynolds khuyến nghị người rà soát nên là người đã có kinh nghiệm với phần hệ thống liên quan. Cách tiếp cận này giúp kỹ sư tách thay đổi có ý nghĩa khỏi các tệp phát sinh tự động, thay vì dành mức chú ý như nhau cho toàn bộ yêu cầu hợp nhất mã.
Nội dung nào thực sự cần người rà soát
Một lần cập nhật phần phụ thuộc có thể làm thay đổi 30 tệp. Không phải tệp nào cũng cần mức chú ý như nhau. Công cụ rà soát phải giúp kỹ sư phân biệt phần thay đổi có ý nghĩa với phần khung phát sinh xung quanh nó.
Để cung cấp ngữ cảnh, Harness dành một phần đáng kể trong 12 tháng qua để xây dựng đồ thị tri thức phân phối phần mềm của Harness. Hệ thống lập bản đồ đường ống triển khai, các lần phát hành, sự cố và chính sách của khách hàng. Bộ rà soát lấy ngữ cảnh từ bản đồ này. Quá trình đó không tiêu tốn quá nhiều token của mô hình.

Trong ví dụ do Harness công bố và được The New Stack dẫn lại, hệ thống đánh dấu một thay đổi cơ sở dữ liệu. Báo cáo sự cố trước đó cho thấy một câu lệnh tạo chỉ mục không phù hợp đã khóa bảng trong môi trường vận hành suốt 14 phút.
Theo thống kê riêng của Harness được The New Stack đăng tải, các kỹ sư của công ty tiết kiệm hơn 10.000 giờ rà soát thủ công mỗi tháng. Cùng ngày Harness ra mắt sản phẩm, công cụ rà soát mã của GitHub Copilot bắt đầu xử lý yêu cầu hợp nhất mã do các chương trình tự động mở. Các yêu cầu đó bao gồm nội dung từ chính tác tử viết mã của GitHub.
Kho Git phải phục vụ hoạt động không ngừng
Harness xây kho mã mới quanh lưu lượng liên tục của tác tử AI, thay vì nhịp làm việc theo giờ của một nhóm phát triển. Hệ thống vẫn phục vụ kỹ sư, nhưng kiến trúc phải xử lý nhiều lần ghi nhận thay đổi, yêu cầu hợp nhất mã và tác vụ rà soát hơn các kho mã được thiết kế chủ yếu cho con người.
Các kho mã truyền thống được xây dựng quanh nhịp làm việc của con người. Reynolds mô tả mô hình phổ biến là những nhóm khoảng 10 đến 15 người tạo thay đổi và để yêu cầu hợp nhất mã tồn tại trong vài giờ hoặc vài ngày. Tác tử AI không tuân theo giờ làm việc đó.
Harness đã bán dịch vụ kho mã từ năm 2023, khi đưa Harness Code lên trên dự án Git nguồn mở của mình. Theo Reynolds, phiên bản mới được xây lại từ đầu như một kho mã ưu tiên AI nhưng vẫn phục vụ con người.
The New Stack dẫn lời Reynolds cho biết hệ thống chạy trên Kubernetes và trải rộng trên nhiều đám mây cùng khu vực. Hệ thống đã được kiểm thử ở mức hàng nghìn lần ghi nhận thay đổi mỗi giây. Khoảng 20 khách hàng doanh nghiệp sử dụng hệ thống trong giai đoạn thử nghiệm. Harness chưa công bố danh tính của họ.
Thiết kế này đặt ra một vấn đề thuộc tầng hạ tầng AI và cách vận hành, không chỉ là chất lượng của mô hình. Khi tác tử hoạt động liên tục, kho mã, hệ thống kiểm thử và cơ chế phân phối công việc cho người rà soát đều phải chịu lưu lượng cao hơn.
Sự cố GitHub cho thấy giới hạn của hạ tầng
Sự cố kéo dài gần 8 giờ của GitHub cho thấy hạ tầng lưu trữ mã có thể gặp giới hạn khi lưu lượng đạt đỉnh mới. Trường hợp này không chứng minh kiến trúc của Harness sẽ tránh được mọi sự cố, nhưng nó cho thấy kho mã là một phần của bài toán mở rộng tác tử AI trong doanh nghiệp.
Reynolds cho biết khách hàng của Harness dùng GitHub thường gửi ảnh chụp màn hình khi nền tảng ngừng hoạt động. Nhận xét này xuất hiện vài tuần sau sự cố kéo dài gần 8 giờ của GitHub vào ngày 17 tháng 8.
Báo cáo sự cố ngày 17 tháng 8 của GitHub dẫn lời giám đốc công nghệ Vlad Fedorov. Ông cho biết một thành phần hạ tầng trọng yếu tại trung tâm dữ liệu miền Trung Hoa Kỳ không thể mở rộng khi lưu lượng đạt đỉnh mới.
The New Stack cho biết GitHub hiện xử lý 2,9 tỷ lần ghi nhận thay đổi mỗi tháng, tương đương trung bình hơn 1.000 lần mỗi giây. Harness không hoạt động ở quy mô đó. Với khách hàng doanh nghiệp cần một hệ thống chuyên biệt hơn, quy mô nhỏ hơn có thể giúp Harness kiểm soát kiến trúc theo nhu cầu của họ.
Phần nào vẫn cần hoạt động theo quy tắc cố định
Harness không đề xuất thay mọi bước xác minh bằng phán đoán của mô hình. Những kết quả cần tính xác định, chẳng hạn kết quả kiểm thử, vẫn phải đến từ công cụ chuyên trách. AI phù hợp với việc bổ sung ngữ cảnh và sắp xếp ưu tiên, còn các cổng kiểm soát vẫn cần tạo ra kết quả có thể kiểm chứng.
Harness đang nhìn xa hơn quy trình phát triển truyền thống, nhưng Reynolds chưa chắc các tổ chức đã sẵn sàng cho một vòng đời phân phối phần mềm hoàn toàn tự chủ. Ông cho rằng những công cụ cho mô hình đó đã tồn tại, còn khả năng áp dụng trong doanh nghiệp vẫn là câu hỏi mở.
Lập luận đó gần với cuộc tranh luận rộng hơn về việc AI đang thay đổi hoạt động rà soát mã. Tốc độ tạo mã tăng không làm biến mất nhu cầu xác minh. Nó khiến việc chọn đúng phần cần con người xem xét trở nên quan trọng hơn.
Bộ rà soát là thay đổi dễ áp dụng trước
Bộ rà soát có thể được doanh nghiệp áp dụng sớm hơn kho mã mới. Nó hoạt động với các yêu cầu hợp nhất mã đang nằm trên GitHub. Nhóm kỹ thuật có thể cải thiện cách phân loại thay đổi và giao việc cho người rà soát. Họ chưa phải thực hiện một dự án chuyển toàn bộ kho mã.
Điều đó thu hẹp lời hứa của Harness thành một mục tiêu thực tế hơn. Một nhóm chưa cần thay máy chủ Git để cải thiện quy trình. Họ cần biết tệp nào trong yêu cầu hợp nhất mã còn cần con người xem, và tệp nào chỉ xuất hiện vì một lần cập nhật phần phụ thuộc ảnh hưởng đến 30 tệp.
Với các đội kỹ thuật đang thử tác tử viết mã, bước đầu tiên là đo hàng đợi rà soát và kiểm thử trước khi tăng thêm lưu lượng mã do AI tạo ra.


