AIkisu/2025-08-20/5 phút
v1.1

Các cấp độ sử dụng Github Copilot.

Từ hỏi đáp kỹ thuật đến giao cả một dự án: bốn cấp độ tôi đã đi qua với Github Copilot, và vì sao tôi vẫn dừng lại trước những dự án lớn.

#coding agent#ai#github copilot
fig.01 — levels.svgL1L2L3L4dự án lớn

Tôi bắt đầu dùng Github Copilot nhiều để thử nghiệm các ý tưởng, rồi dùng sâu hơn để xem khả năng của nó tới đâu và có thể đưa nó vào quá trình phát triển của mình như thế nào. Sau gần một tháng, tôi hết quota bản miễn phí đúng lúc các dự án đang dở dang, nên nâng cấp lên gói Pro, việc đằng nào tôi cũng sẽ làm. Gói Pro miễn phí tháng đầu, sau đó $10 mỗi tháng. Ngoài Copilot còn nhiều lựa chọn khác, nhưng tôi muốn dùng sâu một công cụ trước khi chuyển sang thử những công cụ khác.

Một chi tiết nhỏ: ngay sau khi nâng cấp, Copilot Chat trong VS Code ngừng hoạt động với lỗi Copilot took too long to get ready. Please review the guidance in the Chat view. Đăng xuất rồi đăng nhập lại tài khoản GitHub trong VS Code là Chat chạy lại.

Nhìn lại chặng đường từ đó, tôi thấy mình đã đi qua bốn cấp độ, theo dòng phát triển của AI và theo kinh nghiệm của chính tôi với AI. Mỗi cấp là một mức tin tưởng: tôi giao cho Copilot bao nhiêu, và tôi phải kiểm tra lại bao nhiêu.

§1Level 1 - Hỏi đáp kỹ thuật

Tôi dùng Copilot như việc sử dụng Google trong những năm về trước. Gặp khúc mắc về syntax, thư viện, hay cách triển khai một logic, đặt một câu hỏi và Copilot sẽ đưa ra câu trả lời nhanh chóng. Vẫn cần xác minh lại câu trả lời hoặc chất vấn thêm, nhưng so với việc lướt qua 10 kết quả của Google thì Copilot nhanh hơn rất nhiều.

§2Level 2 - Viết function/script ngắn

Ở cấp này tôi bắt đầu "giao việc" cho AI. Với những logic độc lập và ít dính tới nghiệp vụ, tôi viết prompt và để Copilot viết. Nhận kết quả, tôi đọc để hiểu cách triển khai, phát hiện những điểm bất thường, rồi tinh chỉnh lại theo phong cách code của mình.

§3Level 3 - Tham gia vào dự án thật

Lúc này Copilot trở thành "đồng đội" trong project. Tôi yêu cầu nó fix bug, refactor code, hoặc implement một tính năng nhỏ. Copilot đã ở ngay trong dự án nên tôi không còn phải copy/paste code qua lại nữa.

§4Level 4 - Viết nguyên một dự án từ đầu

Khi cảm nhận được sức mạnh của Copilot, tôi bắt đầu một số dự án mới từ đầu và giao cho Copilot thực hiện toàn bộ. Công việc của tôi gần như chỉ còn là viết yêu cầu và kiểm tra kết quả.

Tôi đã xây dựng một web app hoàn toàn bằng Copilot, và dựng một project quản lý hạ tầng dùng Docker Swarm cùng các dịch vụ chạy trên đó như Traefik, Prometheus, Grafana. Có những khoảnh khắc thực sự wow, nhưng cũng có những tình huống ức chế.

Cấu trúc dự án rất tốt, làm theo đúng quy chuẩn, không có gì phải lăn tăn. Giao diện thì quá xịn, có lẽ đây là việc coding agent đang làm tốt nhất. Logic khá tốt, nhưng có những vấn đề nó bế tắc và mãi không giải quyết được. Những lúc đó tôi buộc phải nhảy vào tìm hiểu và đề xuất giải pháp cho nó.

§5Model quyết định cấp độ

Hai dự án trên tôi dùng Claude Sonnet 4, và kết quả khá bất ngờ, tốt hơn hẳn thời điểm tôi dùng bản miễn phí để làm blog này. Khi hết premium requests, tôi chuyển sang GPT-4.1 và thấy rõ sự khác biệt. Nếu ví Sonnet 4 như một senior developer thì GPT-4.1 chỉ như một middle developer.

Cùng một công cụ, cùng một cách làm việc, nhưng cấp độ tôi dám giao việc phụ thuộc vào model đang chạy bên dưới. Lên được Level 4 với model này không có nghĩa là sẽ giữ được Level 4 với model khác.

§6Làm việc với một cộng sự

Từ Level 3 trở đi, tôi bắt đầu xem coding agent như một cộng sự. Tùy model và tùy bài toán, cộng sự đó có thể là một senior hoặc một junior. Khi đã xem nó như một người thật, tôi chấp nhận rằng:

  • Nó cần được chỉ dẫn cụ thể phải làm gì.
  • Đôi khi nó code sai so với yêu cầu.
  • Đôi khi nó tư duy lòng vòng và không tìm được giải pháp tối ưu.
  • Đôi khi nó để lại bug.
  • Không thể kỳ vọng nó luôn được việc, vì đôi khi nó là senior, đôi khi là junior.
  • Luôn nghi ngờ kết quả của nó.

Từ đó tôi đặt ra vài nguyên tắc làm việc với coding agent:

  • Mô tả yêu cầu đầy đủ, chi tiết nhất có thể.
  • Thực hành pair programming.
  • Luôn review code và đánh giá những thay đổi mới tác động đến hệ thống hiện tại như thế nào.
  • Giải thích và đề xuất giải pháp cho những vấn đề mà coding agent gặp khó khăn.

§7Tôi đang dừng ở đâu

Dù thấy coding agent làm chủ được một dự án hoàn toàn mới, đó vẫn là những dự án tương đối nhỏ. Với những dự án lớn hơn, hoặc khi nghiệp vụ nhiều hơn và phức tạp dần theo thời gian, tôi chưa thực sự yên tâm đặt niềm tin vào nó. Tôi đang ở Level 4 cho dự án nhỏ, và vẫn ở Level 3 cho mọi thứ còn lại.

Nhưng tôi tin nghề viết code sẽ thay đổi hoàn toàn. Coding agent sẽ trở thành công cụ không thể thiếu với developer, như framework hay IDE bây giờ. Đến lúc đó gọi nó là cộng sự thì đúng hơn, và một developer có thể có rất nhiều cộng sự là AI agent.

Thay vì cặm cụi viết từng dòng lệnh, công việc chính của developer sẽ giống một "nhạc trưởng": điều phối các agent bằng ý tưởng tổng thể, bài toán và những giới hạn cần giải quyết. Những nguyên tắc ở trên (mô tả yêu cầu cho rõ, review mọi thay đổi, nhảy vào khi agent bế tắc) chính là phần việc đó. Ngoài viết code, kỹ sư phần mềm sẽ cần thêm tư duy hệ thống, am hiểu nghiệp vụ và khả năng đặc tả yêu cầu cho AI. Dùng thành thạo các công cụ AI sẽ trở thành một kỹ năng căn bản.

Trạm Dev · 2025-08-20 · v1.1 · EOF
#coding agent#ai#github copilot
$ ls ./aikisu1 / 5