Chia sẻ đam mê công nghệ
Phần mềm

VS Code Agents Window thu hẹp lý do chuyển sang Cursor, nhưng chưa thay được việc kiểm tra mã

Agents Window đưa nhiều phiên AI về một nơi, hỗ trợ Copilot, Claude và Codex. Git worktree giúp tách thay đổi, nhưng không thay sandbox hay kiểm tra mã.

Tóm tắt nhanh

  • Agents Window là cửa sổ riêng của VS Code để giao việc, theo dõi nhiều phiên agent và xem thay đổi trên các dự án.
  • Git worktree tách nơi agent sửa mã khỏi thư mục đang làm việc, nhưng không tự giải quyết xung đột khi gộp mã và không phải sandbox bảo mật.
  • Người dùng có thể chọn harness Copilot, Claude hoặc Codex; chọn model Claude qua Copilot không đồng nghĩa chạy harness Claude.
  • Đáng cân nhắc trước khi đổi trình soạn thảo vì nhu cầu quản lý agent, còn chất lượng mã và chi phí vẫn cần đánh giá theo công việc thực tế.

VS Code Agents Window đưa việc giao nhiệm vụ và kiểm tra kết quả của nhiều coding agent vào một cửa sổ riêng, thay vì buộc người dùng chuyển qua từng cửa sổ dự án. Thay đổi đáng giá nhất nằm ở cách tổ chức công việc: khi AI có thể sửa nhiều tệp, phần khó không còn chỉ là viết câu lệnh mà còn là biết phiên nào đang làm gì và thay đổi nào nên được giữ lại.

Đây là lý do đủ thực dụng để người đang quen VS Code thử lại trước khi chuyển sang Cursor. Nhưng một giao diện quản lý agent tốt hơn chưa chứng minh trình soạn thảo tạo mã tốt hơn đối thủ; giá trị của nó phụ thuộc vào cách chia việc, cơ chế thực thi và khả năng người dùng kiểm tra phần mã được tạo ra.

Quản lý nhiều phiên chỉ có ích khi vẫn duyệt mã kịp

VS Code agent home
Việc gom phiên theo dự án giúp theo dõi công việc mà không phải đổi qua từng cửa sổ soạn thảo. — Ảnh: XDA Developers.

Agents Window hợp với việc giao nhiệm vụ rồi quay lại xem kết quả, hơn là thay hoàn toàn giao diện chỉnh sửa mã quen thuộc. Danh sách phiên được nhóm theo workspace cho phép theo dõi nhiều dự án ở một nơi; khi chuyển phiên đang hoạt động, phần Files, Changes và terminal cũng chuyển theo ngữ cảnh tương ứng. Người dùng không phải tự nhớ mỗi cuộc hội thoại đang gắn với thư mục nào.

Screenshot of the Agents window interface, showing the sessions list, customizations panel, chat area, changes panel, and files panel.
Các khung phiên, hội thoại và thay đổi giúp giữ ngữ cảnh khi chuyển giữa công việc. — Ảnh: Microsoft Visual Studio Code.

Cách tổ chức này giải quyết một vấn đề dễ bị bỏ qua khi nói về lập trình AI: tạo thêm cuộc hội thoại rất dễ, nhưng giữ đúng ngữ cảnh của chúng mới tốn công. Nếu giao diện chỉ gom tin nhắn mà terminal vẫn trỏ nhầm dự án, lợi ích của chạy song song sẽ giảm đáng kể. Việc các công cụ đi theo phiên đang chọn giúp giảm nguy cơ thao tác nhầm, dù người dùng vẫn cần kiểm tra trước khi chạy lệnh.

Giao diện còn cho phép đặt các phiên cạnh nhau theo dạng lưới, trong khi chỉ một phiên nhận trạng thái hoạt động tại một thời điểm. Đây là khác biệt quan trọng giữa nhìn thấy nhiều cuộc hội thoại và thực sự thao tác với chúng: chọn một khung sẽ xác định ngữ cảnh cho các hành động tiếp theo. Quick chat lại không gắn với workspace, nên không có cùng các khung Files và Changes của phiên dự án.

Không phải công việc nào cũng cần cửa sổ này. Khi phải liên tục sửa mã, chạy debugger rồi kiểm thử trong cùng dự án, Chat view cạnh trình soạn thảo có thể thuận tiện hơn. Điểm mạnh của Agents Window là giám sát và bàn giao giữa các nhiệm vụ, không phải biến mọi thao tác lập trình thành hội thoại. Người chỉ dùng AI để hỏi một đoạn hàm sẽ hưởng lợi ít hơn người thường xuyên giao các việc độc lập.

Nhóm làm dự án tại Việt Nam cần tính cả công duyệt mã

Tiêu chí chọn công cụ nên là tổng thời gian đưa một thay đổi đạt yêu cầu vào dự án, không phải số phiên AI có thể mở cùng lúc. Đây là điểm có ý nghĩa với nhóm nhỏ: nếu người chịu trách nhiệm kiểm tra mã vẫn chỉ có một, tăng số agent có thể làm hàng chờ xem xét dài hơn thay vì rút ngắn thời gian hoàn thành.

Với nhóm đã quen VS Code, Agents Window đáng được thử trước khi chuyển môi trường chỉ để có giao diện giao việc cho AI. Chọn một nhiệm vụ có phạm vi rõ, kiểm tra đầu vào của worktree và giữ việc tích hợp trong tầm kiểm soát sẽ cho câu trả lời hữu ích hơn việc mở đồng loạt nhiều phiên. Nếu công việc thường xuyên cần can thiệp trực tiếp, Chat view có thể vẫn là lựa chọn chính còn cửa sổ agent chỉ đóng vai trò bổ sung.

Nhóm làm dự án cho khách hàng còn phải kiểm tra điều kiện dùng dịch vụ AI với mã nguồn của từng dự án. Việc có BYOK hay không cần đăng nhập GitHub trên desktop chỉ mô tả cách xác thực; nó không tự trả lời mã sẽ được phép gửi đến nhà cung cấp nào theo thỏa thuận của nhóm. Tách lựa chọn trình soạn thảo khỏi lựa chọn dịch vụ mô hình giúp tránh quyết định sai vì một tính năng giao diện.

Cũng không có căn cứ để kết luận Cursor đã trở nên không cần thiết với mọi người. Khả năng quản lý phiên của VS Code làm giảm một lý do chuyển công cụ, còn chất lượng đề xuất mã, độ ổn định và mức phí cho công việc cụ thể là các tiêu chí riêng. Người đang hài lòng với công cụ hiện tại không cần đổi chỉ vì đối thủ đã có thêm cửa sổ tương tự.

Git worktree tách thay đổi, không xoá trách nhiệm gộp mã

Screenshot showing the Changes panel in the Agents window, with the Files and Changes views visible.
Diff đỏ xanh cho phép kiểm tra chính xác thay đổi trước khi tích hợp kết quả của agent. — Ảnh: Microsoft Visual Studio Code.

Git worktree là phần đáng chú ý hơn việc mở nhiều ô chat, bởi nó thay đổi nơi agent ghi tệp. Với lựa chọn New Worktree, mỗi nhiệm vụ có thể làm việc trên một cây thư mục riêng từ trạng thái Git đã commit, thay vì sửa ngay thư mục mà người dùng đang mở. Điều này giúp các phiên không lập tức ghi đè lên cùng bản tệp trong workspace chính.

Tuy vậy, cô lập trong lúc sửa không có nghĩa loại bỏ mọi xung đột. Nếu các nhiệm vụ thay đổi cùng một giao diện hàm hoặc dựa vào những giả định khác nhau, kết quả vẫn có thể mâu thuẫn khi tích hợp. Worktree giúp tách phần đang làm để dễ xem xét; nó không chứng minh các thay đổi sẽ tương thích về logic. Nhận định rằng cơ chế này giải quyết triệt để conflict vì thế là quá mức.

Tiêu chíNew WorktreeFolder
Nơi sửa mãCây làm việc riêngThư mục hiện tại
Trạng thái đầu vàoNội dung đã commit từ nhánh cơ sởCác tệp hiện có, gồm thay đổi chưa commit
Phù hợp nhấtNhiệm vụ song song cần tách thay đổiCông việc tương tác cần trạng thái đang sửa
Điều kiện và đánh đổiKho Git có ít nhất một commit; cần tích hợp kết quảThay đổi xuất hiện ngay trong workspace đang dùng

Số liệu và đặc tính: tài liệu Microsoft Visual Studio Code.

Khác biệt về trạng thái đầu vào có thể ảnh hưởng trực tiếp đến kết quả. Worktree mới không tự mang theo tệp chưa được Git theo dõi hay các chỉnh sửa chưa commit ở thư mục chính. Nếu agent cần chính những thay đổi đó để hiểu tác vụ, người dùng phải commit phần cần thiết hoặc chọn làm trực tiếp trong Folder. Tách biệt quá sớm có thể khiến agent giải quyết một phiên bản cũ của bài toán.

Các tệp bị Git bỏ qua, gồm cấu hình môi trường và thư mục phụ thuộc, cũng vắng mặt theo mặc định. VS Code có tùy chọn sao chép tệp bị bỏ qua hoặc dùng symlink cho thư mục lớn; riêng symlink tạo ra tài nguyên dùng chung, nên thay đổi qua đường dẫn đó tác động tới thư mục gốc. Vì vậy, cần xem việc chuẩn bị môi trường và việc cô lập mã là các quyết định liên quan nhưng không đồng nhất.

Quyền chạy lệnh và việc xem diff mới quyết định mức an toàn

Worktree không phải sandbox, nên nhìn thấy mã được tách sang thư mục riêng chưa đủ để yên tâm cho agent tự chạy. Tài liệu Microsoft nói rõ cơ chế này không giới hạn lệnh, mạng hay quyền truy cập tệp bên ngoài worktree. Đó là ranh giới bảo mật khác với câu hỏi agent đang sửa bản mã nào.

Một chi tiết cần đặc biệt lưu ý là phiên worktree dùng chế độ Allow all và không cung cấp lời nhắc phê duyệt thủ công, còn phiên Folder có các mức quyền tùy harness hỗ trợ. Với công việc cần giới hạn truy cập ở mức hệ điều hành, phải xét thêm agent sandboxing. Không nên suy luận tên gọi “isolation” đồng nghĩa mọi thao tác của agent đã bị chặn trong một vùng an toàn.

Phần Changes giúp đưa sự chú ý trở lại sản phẩm cuối cùng: mã nào đã thay đổi và vì sao thay đổi đó cần thiết. Người dùng có thể xem diff, chọn phạm vi mã rồi gửi phản hồi trực tiếp cho agent. So với viết lại vị trí lỗi trong một prompt mới, phản hồi gắn vào đoạn mã giảm sự mơ hồ, nhưng vẫn đòi hỏi người duyệt hiểu thay đổi đang tác động tới đâu.

Một bản diff trông hợp lý chưa chứng minh chương trình chạy đúng. Sau khi xem mã vẫn cần kiểm thử phù hợp với dự án và kiểm tra hành vi ở chỗ các phần được ghép lại. Lợi ích thực dụng của giao diện là làm quá trình xem xét bớt rời rạc, không phải chuyển trách nhiệm chất lượng sang một nút chấp nhận thay đổi.

Ngay cả các bước Git cũng cần đọc đúng ý nghĩa. Tạo pull request có thể kéo theo commit và đẩy nhánh lên máy chủ; đó không còn là thao tác xem kết quả cục bộ. Khi giao nhiều việc song song, nên giữ ranh giới rõ giữa agent tạo bản sửa, người dùng duyệt và hành động đưa thay đổi vào kho dùng chung. Giao diện thuận tiện hơn càng cần các điểm dừng kiểm tra dễ nhận biết.

Chọn harness quan trọng không kém chọn model

Bảng Agent Customizations với Instructions, Hooks và Codex trong VS Code
Instructions, Hooks và Codex cung cấp các cách tùy biến hành vi agent theo bộ điều phối đang dùng. — Ảnh: XDA Developers.

Sự linh hoạt của Agents Window nằm ở khả năng thay bộ điều phối agent, không chỉ đổi tên mô hình trong danh sách. Harness có thể hiểu là phần tổ chức vòng làm việc của AI: công cụ được gọi, cách tiếp nhận chỉ dẫn và các tùy biến mà phiên hỗ trợ. Copilot, Claude và Codex không nhất thiết cung cấp cùng một cách thực thi dù đều xuất hiện trong VS Code.

Chọn một model Claude thông qua Copilot vẫn sử dụng công cụ và quy trình agent của Copilot. Còn chọn harness Claude sẽ dùng Anthropic Agent SDK cùng các công cụ, tùy biến được hỗ trợ ở đó. Phân biệt này quan trọng với người đã đầu tư vào chỉ dẫn dự án hoặc cách sử dụng công cụ: cùng một họ model không bảo đảm cùng hành vi.

Người dùng cũng không nên giả định cấu hình quyền và chỉ dẫn sẽ chuyển nguyên vẹn giữa các harness. Những công cụ được hỗ trợ, lựa chọn model và cách xin phép phụ thuộc bộ điều phối, tài khoản và nhà cung cấp đã cấu hình. Một thiết lập hoạt động đúng với Copilot vẫn cần kiểm tra lại khi chuyển sang Claude hoặc Codex, đặc biệt với các lệnh có thể sửa nhiều tệp.

Theo tài liệu Microsoft, trên desktop có thể mở Agents Window không cần đăng nhập GitHub khi có Claude BYOK hợp lệ, Codex đã đăng nhập ChatGPT hoặc model BYOK khả dụng, đồng thời bật thiết lập cho phép dùng khi đã đăng xuất. Đây là tùy chọn thử nghiệm, không phải mặc định; bản Agents Window trong trình duyệt vẫn yêu cầu đăng nhập GitHub. Không nên diễn đạt thành mọi tài khoản đều dùng được mọi model mà không cần cấu hình.

Với lập trình viên đang dùng công cụ từ nhiều nhà cung cấp, lợi ích là có thể giữ môi trường soạn thảo quen thuộc mà vẫn chọn cơ chế agent phù hợp. Nhưng đây chưa phải bằng chứng chi phí thấp hơn Cursor. Visual Studio Code được cung cấp miễn phí, còn quyền dùng agent, hạn mức và phí API phụ thuộc dịch vụ đã chọn; không có cơ sở coi toàn bộ quá trình tạo mã là miễn phí chỉ vì trình soạn thảo không thu tiền.

Tổng kết

Điểm mạnh của Agents Window là gom khâu giao việc và kiểm tra thay đổi vào môi trường VS Code, đồng thời cho phép lựa chọn harness và tách mã bằng worktree. Đánh đổi nằm ở cấu hình phụ thuộc từng harness, một số tích hợp còn thử nghiệm và trách nhiệm chuẩn bị môi trường vẫn thuộc người dùng. Đây là nâng cấp đáng cân nhắc cho người đã quen VS Code và thường giao việc độc lập cho agent; chưa phải lý do bỏ qua kiểm thử hoặc đổi khỏi Cursor bằng mọi giá. Công cụ tốt hơn là công cụ giúp đưa mã đúng vào dự án với ít công kiểm tra hơn, không phải công cụ tạo ra nhiều bản sửa nhất.

Nguồn tham khảo: Microsoft Visual Studio Code, XDA Developers

Bài viết mới nhất