GitHub cắt tiếng ồn log build, tiết kiệm 5,5% chi phí

Trong bài viết kỹ thuật ngày 2 tháng 9, GitHub đã công bố một danh sách các thay đổi giúp giảm chi phí cho agent lập trình Copilot, do Erik Kristensen và Napalys Klicius thực hiện. Bốn thay đổi, mỗi thay đổi tiết kiệm lần lượt 5,5%, 3,1%, 2,9% và 2,3% chi phí suy luận, tất cả đều tác động đến phần ngữ cảnh đưa vào mô hình, không có thay đổi nào dựa vào việc đổi mô hình.

Bốn thay đổi, mỗi thay đổi vài phần trăm

Đứng đầu danh sách là nén đầu ra có chọn lọc, tiết kiệm 5,5%. Quy tắc được phân định rất rõ: mã nguồn giữ nguyên, đầu ra của lệnh giữ nguyên, kết quả tìm kiếm chỉ sắp xếp lại chứ không cắt nội dung, phần bị nén chỉ là hàng nghìn dòng nhiễu lặp lại trong log cài đặt, build và kiểm thử. Phần bị nén vẫn giữ một đường khôi phục, khi cần mô hình có thể lấy lại đầu ra gốc.

Thay đổi thứ hai là bỏ tiền tố số dòng khi đọc file, tiết kiệm 3,1%. Ở giai đoạn đầu, Copilot đọc file sẽ gắn số dòng vào đầu mỗi dòng, nhưng quy trình chỉnh sửa hiện tại không cần định dạng này nữa. Sau khi bỏ đi, chi phí suy luận của mô hình trong bài kiểm tra chuẩn giảm khoảng 5%, quy đổi ra hóa đơn tổng thể là 3,1%, hai con số này dùng cách tính khác nhau.

Thay đổi thứ ba nhắm vào prompt của công cụ task. Đội ngũ dùng cách meta-prompt để cắt giảm một nửa đoạn hướng dẫn về thực thi song song, hành vi vẫn giữ nguyên, tiết kiệm 2,9%. Đoạn prompt này phải gửi lại mỗi lượt tương tác với mô hình, sau khi nén mỗi lượt tiết kiệm được khoảng 1.300 token.

Thay đổi thứ tư là giảm số lượt gửi thông báo qua lại, tiết kiệm 2,3%. Trước đây, sau khi tác vụ chạy nền hoàn tất, phải chạy thêm một lượt truy xuất nữa mới đưa được kết quả tới mô hình; sau khi chuyển sang gửi trực tiếp theo lô, phần tiết kiệm được là toàn bộ một lượt gọi mô hình.

Tiết kiệm token không đồng nghĩa với cắt bớt ngữ cảnh

Câu dễ bị hiểu sai nhất trong danh sách này là cách họ xác định mục tiêu:

"The goal shouldn't be to use fewer tokens, but to tap into the right amount of context to move a task forward."
Mục tiêu không phải là dùng ít token hơn, mà là khai thác đúng lượng ngữ cảnh cần thiết để đẩy tác vụ tiến lên.

Điểm chung của bốn thay đổi là chỉ cắt những thứ mô hình có đọc cũng không dùng tới: log build lặp lại, số dòng không ai tiêu thụ, đoạn hướng dẫn dài phải gửi lại mỗi lượt, lượt truy xuất chạy thừa. Những phần mang thông tin thực sự như mã nguồn, đầu ra của lệnh, kết quả tìm kiếm thì không đụng một chữ. Ranh giới giữa “dư thừa” và “thiếu ngữ cảnh” chính là tiền đề để toàn bộ cách làm này khả thi — cắt quá tay sẽ khiến tỷ lệ hoàn thành tác vụ giảm, và cái giá đó còn đắt hơn nhiều so với số token tiết kiệm được.

Đo chuẩn offline trước, rồi mới đối chứng online

Phần nói về quy trình còn đáng tham khảo hơn cả các con số. Mỗi thay đổi đều được kiểm chứng trên bộ đo chuẩn agent lập trình offline để đảm bảo chất lượng tác vụ không giảm, sau đó mới đưa vào thử nghiệm online có kiểm soát để đối chứng, cuối cùng mới triển khai rộng ra ba sản phẩm: Copilot CLI, ứng dụng Copilot và tính năng review code.

Thứ tự này nhằm ngăn kiểu trục trặc phổ biến nhất khi giảm chi phí: lượng token dùng giảm xuống, nhưng tỷ lệ hoàn thành tác vụ âm thầm tụt vài điểm, hóa đơn cho từng lượt gọi trông đẹp hơn, người dùng lại phải thử lại nhiều lần, tổng chi phí cuối cùng còn cao hơn. Đặt “chất lượng tác vụ không giảm” thành ràng buộc cứng lên trước, thì những con số phần trăm phía sau mới đứng vững.

Cộng bốn thay đổi lại khoảng 13,8%, đây là phép cộng trực tiếp mang tính ước lượng, thực tế có thể có phần chồng lấn. So với việc đổi mô hình thì mức này không lớn — một lần chuyển thế hệ mô hình thường kéo giá xuống vài chục phần trăm. Nhưng bản chất của loại thay đổi này khác: nó không phụ thuộc vào mô hình cụ thể nào, vẫn có tác dụng sau khi mô hình đổi thế hệ, và cũng không đòi hỏi người dùng thay đổi cách dùng.

Với người dùng Copilot tính phí theo lượng sử dụng, phần tiết kiệm được ở phía nền tảng sẽ phản ánh trực tiếp lên hóa đơn. Một lượt chạy tác vụ của agent lập trình có thể tiêu tốn tới hàng trăm nghìn token, tỷ lệ log build và đầu ra kiểm thử thường vượt qua tổng lượng mã nguồn được đọc, đó là lý do thay đổi đầu tiên có thể ăn gọn 5,5% ngay lập tức. Với các đội tự xây agent lập trình riêng, đây cũng là khoản chi phí dễ bị bỏ qua nhất. Phần lớn framework mặc định đẩy toàn bộ stdout trở lại ngữ cảnh, chỉ một lượt chạy npm install cũng có thể chiếm chỗ của hàng nghìn dòng mã nguồn hữu ích.

Nhìn từ danh sách này, việc kiểm soát chi phí cho agent lập trình đã chuyển xuống tầng quản lý ngữ cảnh, về cơ bản tách biệt với việc chọn mô hình.

Nguồn tham khảo: Blog kỹ thuật chính thức của GitHub, CocoLoop, tài liệu sản phẩm Copilot; tỷ lệ phần trăm của bốn thay đổi, mức tiết kiệm token mỗi lượt và quy trình kiểm chứng được đối chiếu theo từng mục trong bài blog gốc, con số tổng 13,8% là phép cộng trực tiếp mang tính ước lượng.