Bỏ qua để đến nội dung

Bản đồ kỹ năng AI Engineering mà Andrew Ng và DeepLearning.AI vừa công bố

Bản đồ kỹ năng AI Engineering của DeepLearning.AI: xây dựng/triển khai ứng dụng, nền tảng kỹ thuật phần mềm, sử dụng coding agent, định hình sản phẩm

Chào các bạn,

Tôi rất vui được giới thiệu The AI Engineering Skills Map (Bản đồ kỹ năng AI Engineering). AI cho phép chúng ta xây dựng phần mềm theo cách rất khác so với năm 2022, và bất kỳ ai có kỹ năng tận dụng sự thay đổi này đều đang có vô số cơ hội dự án và việc làm hấp dẫn. Nhưng giữa một môi trường thông tin ồn ào và đầy sự thổi phồng xung quanh AI, đâu mới là những kỹ năng đáng học nhất? Tôi đã cùng đội ngũ của mình tổng hợp một bản đồ các kỹ năng AI engineering nhằm giúp (i) các nhà phát triển ưu tiên những gì cần học, và (ii) các nhà tuyển dụng tìm được đúng người có kỹ năng phù hợp.

Dựa trên việc phân tích hơn 10.000 tin tuyển dụng, thực hiện hàng chục cuộc phỏng vấn có cấu trúc với các chuyên gia AI, quản lý tuyển dụng và nhà tuyển dụng, thu thập dữ liệu qua khảo sát, và tổng hợp thêm nhiều nguồn dữ liệu trực tuyến khác, đây là bốn kỹ năng AI engineering quan trọng nhất:

  • Xây dựng và triển khai ứng dụng AI
  • Nền tảng kỹ thuật phần mềm
  • Sử dụng coding agent
  • Định hình sản phẩm cần xây dựng (shaping the build)

Bạn có thể hình dung một cách không chính thức rằng quy trình của chúng tôi giống như việc phân cụm (clustering) trên một tập dữ liệu khổng lồ gồm các công việc và phỏng vấn chuyên gia, để xác định những kỹ năng quan trọng nhất, không chỉ ở hiện tại mà cả trong tương lai gần.

Một lưu ý về thuật ngữ: tôi dùng cụm từ “kỹ năng AI Engineering” thay vì vai trò “AI Engineer” (người có công việc là xây dựng hệ thống AI), vì khái niệm đầu rộng hơn nhiều. Ngày nay mọi nhà phát triển đều cần biết cách làm việc với cloud, dù chỉ một số ít trong đó có chức danh “Cloud engineer”. Tương tự, tất cả nhà phát triển - full-stack engineer, data engineer, DevOps engineer, machine learning engineer, và tất nhiên cả AI engineer - đều sẽ cần đến các kỹ năng AI engineering.

Xây dựng và triển khai ứng dụng AI. Điểm khác biệt cốt lõi giữa ứng dụng AI và ứng dụng không dùng AI là ứng dụng AI cho ra kết quả khó đoán trước. Khi bạn gửi một prompt cho LLM, bạn không biết chính xác nó sẽ trả lời gì. Khi bạn huấn luyện một thuật toán deep learning, bạn không biết nó sẽ dự đoán ra sao với những dữ liệu mới. Ngược lại, phần mềm truyền thống có hành vi dễ đoán hơn nhiều.

Những người giỏi xây dựng và triển khai ứng dụng AI hiểu rõ các thành phần nền tảng của AI (như LLM, context engineering, RAG, agentic workflow, machine learning và deep learning), và quan trọng hơn, biết cách dùng các kỹ thuật thống kê để đo lường, định hướng, và quản trị hệ thống AI sao cho hành vi của nó trở nên dễ đoán hơn. Một kỹ năng cốt lõi ở đây là biết cách vận hành các vòng lặp eval và phân tích lỗi (error analysis) một cách có kỷ luật.

Nền tảng kỹ thuật phần mềm. Khi bạn hiểu sâu cách phần mềm vận hành, bạn có thể xây dựng hiệu quả hơn rất nhiều. Kỹ thuật phần mềm đòi hỏi phải đánh đổi giữa chi phí, khả năng mở rộng, độ tin cậy, tốc độ, và nhiều yếu tố khác. Bảo mật và quyền riêng tư càng khiến bài toán này phức tạp hơn.

Hiểu nền tảng kỹ thuật phần mềm giúp bạn nhận ra những sự đánh đổi nào đang tồn tại. Điều này dẫn tới những quyết định tốt hơn khi chọn stack công nghệ, thiết kế kiến trúc hệ thống, thiết kế nơi lưu trữ dữ liệu, kiểm thử, và nhiều việc khác. Nó cũng mang lại kết quả tốt hơn hẳn so với một nhà phát triển thiếu kinh nghiệm “vibe code” ra một giải pháp mà không biết coding agent của mình đang đánh đổi những gì - và thường đó sẽ là những đánh đổi tệ, vì họ không biết cần cung cấp bối cảnh (context) gì cho coding agent. Hiểu nền tảng kỹ thuật phần mềm giúp bạn đưa ra những đánh đổi tốt bằng cách định hướng coding agent bằng chính ngôn ngữ chính xác của kỹ thuật phần mềm.

Sử dụng coding agent. Sử dụng agentic coding một cách hiệu quả giờ đây là kỹ năng then chốt của mọi nhà phát triển. Khi có kỹ năng này, bạn sẽ có một mô hình tư duy (mental model) tốt về cách các agent vận hành. Bạn hiểu giới hạn của chúng và biết cách khắc phục, đồng thời có thể nhanh chóng định hướng chúng - biết khi nào cần can thiệp và khi nào nên để agent tự làm - để xây dựng phần mềm chắc chắn mà không lãng phí quá nhiều thời gian hay token.

Điều này đòi hỏi bạn biết cách quản lý context của một coding agent, đánh đổi giữa việc lên kế hoạch (planning) và thực thi (execution), và giúp agent tự đóng các vòng lặp (close loops) bằng cách cung cấp verifier hoặc eval. Bạn cũng cần biết cách làm việc với một spec rõ ràng (và biết khi nào không cần làm vậy), điều phối nhiều agent cùng phối hợp làm việc, và tránh những cạm bẫy như để agent làm hỏng database production của bạn. Vì agentic coding đang phát triển rất nhanh, sử dụng coding agent một cách thành thạo không chỉ đòi hỏi nắm bắt các thực hành mới nhất, mà còn cần có thói quen liên tục thử công cụ mới và tiến hóa quy trình làm việc khi các thực hành tốt nhất thay đổi.

Định hình sản phẩm cần xây dựng. Khi đã có một spec rõ ràng, coding agent đang ngày càng giỏi hơn trong việc thực thi đúng spec đó. Vì vậy, công việc của kỹ sư đang dịch chuyển sang việc quyết định spec đó nên chứa gì. Kỹ sư không nên chỉ trông chờ được giao một bản thiết kế hoàn chỉnh từng pixel rồi chỉ việc lập trình theo. Thay vào đó, để làm AI engineering hiệu quả, bạn cần có product sense và hiểu bối cảnh kinh doanh cũng như mục tiêu của khách hàng, để có thể tham gia định hình và dẫn dắt quá trình xây dựng sản phẩm.

AI cũng mang lại cho bạn cơ hội nắm nhiều quyền sở hữu (ownership) và chủ động (agency) hơn trước đây. Bạn có thể tự nhận diện những vấn đề và cơ hội thú vị, rồi thực thi để tận dụng chúng một cách có trách nhiệm. Để tận dụng được cơ hội này, bạn cần biết cách thúc đẩy dự án tiến lên. Ví dụ, biết khi nào nên nhanh chóng xây một MVP để đưa cho người dùng thử nghiệm, và khi nào nên chậm lại, dành nhiều thời gian hơn để xây dựng cẩn thận hơn.

Nền tảng của tất cả các kỹ năng này là một tư duy học hỏi liên tục. AI vẫn đang thay đổi rất nhanh, nên tất cả chúng ta đều phải tiếp tục học và tiến hóa kỹ năng của mình để bắt kịp những thực hành tốt nhất mới xuất hiện.

Trọng tâm chính của DeepLearning.AI là giúp các nhà phát triển có được những kỹ năng AI engineering này. Tôi còn nhiều điều muốn chia sẻ về từng kỹ năng trong bốn kỹ năng nói trên, và sẽ khai triển chi tiết từng kỹ năng trong những bức thư tiếp theo, cùng với một bản đồ kỹ năng AI Engineering chi tiết hơn. Khi nhìn vào hướng đi của AI Engineering, tôi thực sự rất hào hứng với những gì tất cả chúng ta sẽ có thể xây dựng. Tôi hy vọng bạn sẽ đóng một vai trò thú vị trong tương lai đó.

Tiếp tục xây dựng nhé!

Andrew

Tái bút: Khi AI tiếp tục tiến hóa, tôi sẽ tiếp tục cập nhật bản đồ kỹ năng AI Engineering này. Nếu bạn sẵn lòng đóng góp, hãy dành vài phút hoàn thành khảo sát của chúng tôi (link trong bài gốc). Khảo sát mất khoảng 5-7 phút, và sẽ giúp chúng tôi định hình bản đồ này tốt hơn cho cộng đồng.