Microsoft đã công khai mã nguồn của GitHub Copilot Chat , cho phép các nhà phát triển có cái nhìn chi tiết đầu tiên về cách trợ lý AI lập trình này xử lý các yêu cầu của người dùng và quản lý ngữ cảnh. Việc phát hành này đã gây ra nhiều thảo luận trong cộng đồng nhà phát triển về cách thức hoạt động bên trong của công cụ và cách tiếp cận phần mềm mã nguồn mở của Microsoft .
Tiện ích mở rộng GitHub Copilot trong VS Code:
- GitHub Copilot : Cung cấp các gợi ý code trực tiếp khi bạn đang gõ
- GitHub Copilot Chat : Tiện ích mở rộng đồng hành cho hỗ trợ AI đối thoại
![]() |
---|
Một góc nhìn về trang kho lưu trữ GitHub cho dự án vscode-copilot-chat, giới thiệu mã nguồn mới được công khai bởi Microsoft |
Khám phá tính năng theo dõi vị trí con trỏ khiến các nhà phát triển bất ngờ
Một trong những tiết lộ thú vị nhất từ mã nguồn là cách Copilot Chat theo dõi vị trí con trỏ để cung cấp hỗ trợ chính xác hơn. Hệ thống sử dụng một dấu hiệu đặc biệt gọi là ${CURSOR_TAG}
để xác định chính xác vị trí con trỏ của nhà phát triển trong mã của họ. Khám phá này đã thay đổi cách nhiều nhà phát triển có kế hoạch tương tác với công cụ.
Nhiều người dùng không biết tính năng này tồn tại, mặc dù thường xuyên tham chiếu đến mã bằng các cụm từ như dòng này hoặc phương thức này trong cuộc trò chuyện với AI. Việc theo dõi con trỏ giải thích tại sao những tham chiếu như vậy hoạt động hiệu quả, vì hệ thống có thể hiểu ngữ cảnh cụ thể của những gì các nhà phát triển đang thảo luận mà không cần giải thích chi tiết về vị trí mã.
![]() |
---|
Tính năng trò chuyện tích hợp trong Visual Studio Code thể hiện cách người dùng có thể tương tác với GitHub Copilot để nhận hỗ trợ lập trình |
Kiến trúc kỹ thuật và xử lý prompt được tiết lộ
Các thành viên cộng đồng đã bắt đầu phân tích codebase để hiểu cách Copilot Chat xử lý yêu cầu và tạo ra phản hồi. Hệ thống sử dụng một cây quyết định phức tạp xử lý các loại ý định người dùng khác nhau, từ các câu hỏi đơn giản đến các tác vụ lập trình nhiều bước. Kiến trúc bao gồm các lớp chuyên biệt để xử lý các chế độ tương tác khác nhau, bao gồm chế độ agent được thêm gần đây cho các phiên lập trình tự động.
Hệ thống xử lý prompt sử dụng các file TypeScript React ( TSX ) để render prompt và phản hồi công cụ, đại diện cho một cách tiếp cận thú vị trong việc quản lý tương tác AI. Hệ thống cũng bao gồm logic đếm token và cắt bớt cuộc trò chuyện để đảm bảo các yêu cầu phù hợp với giới hạn của mô hình.
Các Thành Phần Kỹ Thuật Chính:
${CURSOR_TAG}
: Dấu hiệu đặc biệt để theo dõi vị trí con trỏ- Tệp TSX : Được sử dụng để hiển thị các lời nhắc và phản hồi công cụ
- Đếm và cắt bớt token: Đảm bảo các cuộc trò chuyện phù hợp với giới hạn của mô hình
- Nhiều bộ xử lý ý định: AskAgentIntent và EditAgentIntent cho các chế độ tương tác khác nhau
![]() |
---|
Giao diện người dùng của tính năng "Ask Copilot" trong Visual Studio Code, minh họa các khía cạnh tương tác của việc xử lý lời nhắc trong Copilot Chat |
Cuộc tranh luận mã nguồn mở và sự hoài nghi của cộng đồng
Việc phát hành mã nguồn đã làm bùng phát lại các cuộc tranh luận về điều gì tạo nên phần mềm mã nguồn mở có ý nghĩa. Những người chỉ trích cho rằng việc chỉ phát hành mã phía client trong khi giữ các mô hình AI thực tế và quy trình huấn luyện là độc quyền thể hiện việc rửa xanh mã nguồn mở hơn là đóng góp mã nguồn mở thực sự.
Copilot Chat là gì ngoài một frontend cho một số dịch vụ SaaS của Microsoft ? Không có gì thực sự 'mã nguồn mở' về điều đó. Tất cả những thứ quan trọng đều bị khóa lại đằng sau GitHub Copilot API .
Những người ủng hộ phản bác rằng mã frontend cung cấp những hiểu biết có giá trị về kỹ thuật prompt engineering và quản lý ngữ cảnh mà các nhà phát triển khác có thể học hỏi và điều chỉnh. Việc phát hành cho phép các nhà phát triển tò mò hiểu cách prompt của họ được xử lý và thông tin nào được gửi đến dịch vụ AI.
Thành tích của Microsoft với các đóng góp cộng đồng
Thông báo này cũng đã thu hút sự chú ý đến cách Microsoft xử lý các đóng góp cộng đồng trên các dự án mã nguồn mở của họ. Một số nhà phát triển chỉ ra khối lượng lớn các pull request chưa được merge của VS Code như bằng chứng cho thấy các nỗ lực mã nguồn mở của Microsoft ưu tiên phát triển nội bộ hơn là đầu vào từ cộng đồng.
Tuy nhiên, những người khác lưu ý rằng việc quản lý hàng nghìn đóng góp cộng đồng đòi hỏi nguồn lực đáng kể, và Microsoft thực sự merge một số lượng đáng kể pull request hàng ngày. Cách tiếp cận của công ty phản ánh những thách thức trong việc cân bằng đầu vào cộng đồng với tầm nhìn sản phẩm và tiêu chuẩn chất lượng.
Việc phát hành mã nguồn GitHub Copilot Chat cung cấp những hiểu biết có giá trị về các công cụ phát triển hỗ trợ AI hiện đại, ngay cả khi các cuộc tranh luận về ý nghĩa rộng hơn của chiến lược mã nguồn mở của Microsoft vẫn tiếp tục. Đối với các nhà phát triển quan tâm đến việc hiểu cách các trợ lý lập trình AI hoạt động đằng sau hậu trường, codebase này cung cấp một cái nhìn hiếm hoi về các quyết định kỹ thuật định hình những công cụ ngày càng quan trọng này.
Tham khảo: GitHub Copilot - Your AI peer programmer