Tối ưu hóa Copilot Code Review: Khi công cụ tốt hơn chưa chắc đã hiệu quả hơn
GitHub chia sẻ bài học về việc cải thiện hiệu suất của Copilot Code Review bằng cách điều chỉnh luồng công việc (workflow) thay vì chỉ thay đổi công cụ kỹ...
Trong quá trình phát triển các hệ thống agentic, chúng ta thường có xu hướng tin rằng: cung cấp cho agent những công cụ mạnh mẽ hơn sẽ giúp nó làm việc hiệu quả hơn. Tuy nhiên, đội ngũ kỹ sư tại GitHub đã rút ra một bài học thú vị khi nâng cấp hệ thống Copilot Code Review.
Table Of Content
Vấn đề từ sự thay đổi công cụ
Trước đây, Copilot Code Review sử dụng bộ công cụ khám phá mã nguồn riêng biệt. Để tối ưu hóa hạ tầng, nhóm đã quyết định chuyển sang sử dụng bộ công cụ dùng chung (shared tools) vốn đang vận hành hiệu quả trên Copilot CLI, bao gồm: grep, glob và view. Về lý thuyết, đây là một bước tiến giúp đồng bộ hóa hạ tầng và giảm thiểu mã nguồn trùng lặp.
Thế nhưng, kết quả thực tế lại trái ngược với kỳ vọng: chi phí vận hành (review cost) tăng lên, trong khi số lượng lỗi được phát hiện lại giảm đi. Phân tích các bản ghi (trace) cho thấy agent đã rơi vào tình trạng “đi lang thang” trong kho lưu trữ thay vì tập trung vào các thay đổi trong pull request (PR).
Sai lầm trong tư duy điều hướng
Vấn đề không nằm ở bản thân các công cụ, mà nằm ở cách hướng dẫn (instructions) cho agent. Các công cụ này vốn được thiết kế cho Copilot CLI – nơi agent đóng vai trò như một trợ lý lập trình tương tác cần khám phá kho mã nguồn một cách rộng rãi. Trong khi đó, một quy trình review PR đòi hỏi sự tập trung cao độ, bắt đầu từ diff và tìm kiếm bằng chứng cụ thể để xác nhận hoặc bác bỏ nghi vấn.
Khi sử dụng các chỉ dẫn cũ, agent đã cố gắng thu thập quá nhiều ngữ cảnh không cần thiết, làm tăng lượng token tiêu thụ và khiến quá trình suy luận trở nên kém tập trung.
Giải pháp: Điều chỉnh workflow cho mục tiêu cụ thể
Nhóm kỹ sư đã viết lại các chỉ dẫn (prompting) để định hình lại hành vi của agent theo quy trình review chuẩn:
- Bắt đầu từ diff: Hình thành các câu hỏi review cụ thể thay vì quét toàn bộ repo.
- Thu hẹp phạm vi: Sử dụng
grepvàglobđể tìm kiếm mục tiêu trước khi đọc nội dung file. - Đọc có chọn lọc: Chỉ sử dụng
viewkhi đã xác định rõ file hoặc dòng mã cần kiểm tra. - Xử lý lỗi thông minh: Nếu tìm kiếm thất bại, agent được hướng dẫn thực hiện các bước thay thế đơn giản hơn thay vì đoán mò các đường dẫn lân cận.
Kết quả là, sau khi tinh chỉnh các chỉ dẫn, chi phí review trung bình đã giảm khoảng 20% trong khi vẫn duy trì chất lượng đánh giá ổn định.
Bài học rút ra
Việc sử dụng chung công cụ (shared tools) chỉ thực sự phát huy hiệu quả khi các chỉ dẫn và benchmark được thiết kế phù hợp với đặc thù công việc của từng sản phẩm. Đối với các hệ thống agentic, mô tả công cụ và hướng dẫn hệ thống đóng vai trò như tài liệu API; chỉ một thay đổi nhỏ trong cách diễn đạt cũng có thể ảnh hưởng đáng kể đến chi phí, chất lượng và cách agent phân bổ sự chú ý.
Nguồn tham khảo: GitHub Blog



No Comment! Be the first one.