02/07/2026
Người thầy quốc dân Andrew Ng chia sẻ về quy trình phát triển sản phẩm trong kỷ nguyên AI.
Các vòng lặp kỹ nghệ (Loop Engineering): Phương pháp xây dựng sản phẩm từ 0 đến 1
"Loop engineering" (Tạm dịch: Kỹ nghệ vòng lặp) đang là một cụm từ khóa cực kỳ "hot" sau khi những lượt đề cập của Boris Cherny (cha đẻ Claude Code) và Peter Steinberger (cha đẻ OpenClaw) lan truyền mạnh mẽ trên mạng xã hội. Các vòng lặp hiện đã trở thành một phần cốt lõi trong cách chúng ta thúc đẩy các tác tử AI (AI agents) liên tục cải tiến để xây dựng phần mềm. Trong bức thư này, tôi muốn chia sẻ 3 vòng lặp chính của mình — được thể hiện trong hình dưới đây — để xây dựng các sản phẩm từ con số 0 đến 1 (0-to-1 products). Những vòng lặp này không chỉ định hướng cách tôi xây dựng phần mềm, mà còn cả cách tôi quyết định nên xây dựng phần mềm nào.
1. Vòng lặp lập trình tác tử (Agentic coding loop)
Khi có một bản mô tả yêu cầu sản phẩm (product specification) và tùy chọn thêm một bộ đánh giá (evals - tức là tập dữ liệu để đo lường hiệu suất), chúng ta có thể để một tác tử AI tự viết mã nguồn, tự kiểm thử và liên tục lặp lại cho đến khi mã nguồn sạch lỗi và đáp ứng đúng mô tả. Ý tưởng khép kín vòng lặp này đã bùng nổ vào khoảng cuối năm ngoái, và nó là một bước ngoặt giúp các tác tử lập trình có thể làm việc hiệu quả trong thời gian dài hơn mà không cần con người can thiệp.
Ví dụ, vào cuối tuần qua, tôi có xây dựng một ứng dụng cho con gái luyện gõ phím. Tác tử lập trình của tôi có thể dễ dàng tự hoạt động trong khoảng một tiếng đồng hồ, tự sử dụng trình duyệt web để kiểm tra những gì nó đã xây dựng nhiều lần trước khi phản hồi lại cho tôi mà không cần tôi phải can thiệp một chút nào.
Vòng lặp kỹ nghệ này thực thi rất nhanh. Cứ sau vài phút, tác tử lập trình lại có thể xây dựng và kiểm thử một phiên bản phần mềm mới. Tôi thường xuyên nghe các nhà phát triển chia sẻ về những cách thức mới mà họ tìm ra để thiết kế các vòng lặp kỹ nghệ hiệu quả hơn. Đây thực sự là một lĩnh vực sáng tạo đầy sôi động!
2. Vòng lặp phản hồi của nhà phát triển (Developer feedback loop)
Trong vòng lặp này, nhà phát triển sẽ kiểm tra sản phẩm hiện tại và định hướng cho tác tử lập trình để cải tiến nó. Năm ngoái, rất nhiều nhà phát triển (bao gồm cả tôi) phải đóng vai trò như một bộ phận QA (đảm bảo chất lượng) cho các tác tử lập trình của mình — tức là tìm lỗi thủ công rồi yêu cầu tác tử sửa. Nhưng giờ đây, khi các tác tử lập trình đã có khả năng tự kiểm thử mã nguồn tốt hơn rất nhiều, thời gian chúng ta phải dành cho nhiệm vụ này đã giảm đi đáng kể. Điều này cho phép chúng ta đưa ra các quyết định sản phẩm ở cấp độ cao hơn, chẳng hạn như nên cung cấp những tính năng chính nào, giao diện người dùng (UI) cần cải thiện ở đâu, v.v.
Vòng lặp phản hồi của nhà phát triển hoạt động trong các khoảng thời gian từ vài chục phút đến vài giờ — đó là tần suất một nhà phát triển có thể xem lại sản phẩm và đưa ra phản hồi. Trong trường hợp của ứng dụng luyện gõ phím, tôi đã thay đổi ý định vài lần về thiết kế giao diện, các bộ trang phục mèo mà con gái tôi có thể mở khóa khi học (con bé rất thích mèo), và luồng trải nghiệm để người lớn đăng nhập và điều phối việc học của trẻ.
Khi một nhà phát triển có tầm nhìn rõ ràng về những gì cần xây dựng, việc chuyển dịch tầm nhìn đó thành một bản mô tả yêu cầu (spec) để tác tử lập trình thực thi vẫn đòi hỏi rất nhiều công sức. Hơn nữa, sau khi nhìn thấy bản triển khai thực tế, nhà phát triển có thể cập nhật (hoặc làm rõ) bản mô tả để hướng nó theo đúng ý mình. Nếu bạn nhận thấy hệ thống liên tục gặp phải một số vấn đề nhất định, việc xây dựng một bộ đánh giá (evals) cho tác tử sẽ trở nên vô cùng hữu ích.
Các đội ngũ thuần AI (AI-native teams) đang ngày càng sử dụng AI nhiều hơn để giúp định hình hướng đi của sản phẩm, ví dụ như tự động hóa việc thu thập và phân tích dữ liệu sử dụng, tóm tắt phản hồi bằng văn bản và lời nói của khách hàng, hoặc thực hiện phân tích đối thủ cạnh tranh. Tuy nhiên, đối với hầu hết các sản phẩm mà tôi tham gia, tôi thấy con người vẫn có lợi thế vượt trội về mặt ngữ cảnh so với các hệ thống AI hiện tại — chúng ta hiểu rõ hơn AI rất nhiều về người dùng và bối cảnh mà sản phẩm phải vận hành — và do đó con người đóng vai trò cực kỳ quan trọng. Nhiều người gọi sự đóng góp này của con người là "gu" (taste), nhưng tôi muốn nghĩ về nó như một lợi thế về ngữ cảnh hơn, vì điều đó mở ra một con đường rõ ràng để giúp các hệ thống AI trở nên tốt hơn. Điều này cũng lý giải tại sao bước này không thể tự động hóa hoàn toàn: Miễn là con người biết điều gì đó mà AI chưa biết, thì chúng ta vẫn cần yếu tố con người trong vòng lặp (human-in-the-loop) để truyền tải kiến thức đó vào hệ thống.
3. Vòng lặp phản hồi từ bên ngoài (External feedback loop)
Vòng lặp này bao gồm một loạt các chiến thuật như hỏi xin phản hồi từ một vài người bạn, phát hành phiên bản thử nghiệm (alpha testers), hoặc đưa mã nguồn vào môi trường thực tế (production) kết hợp kiểm thử A/B (A/B testing). Các chiến thuật này thường diễn ra chậm, hiếm khi mất dưới vài giờ và đôi khi mất vài ngày hoặc thậm chí vài tuần. Dữ liệu này sẽ làm giàu thêm tầm nhìn của nhà phát triển, từ đó tiếp tục thúc đẩy bản mô tả sản phẩm chi tiết, và rồi tiếp tục vận hành tác tử lập trình.
Khi các tác tử lập trình giúp tăng tốc độ phát triển phần mềm, ngày càng có nhiều kỹ sư bắt đầu đảm nhận một phần vai trò quản lý sản phẩm (Product Management). Đối với nhiều kỹ sư đang phát triển theo định hướng này, phần khó khăn nhất là định hình tầm nhìn sản phẩm và tìm ra sự cân bằng giữa việc xây dựng (thu hẹp khoảng cách giữa tầm nhìn và bản mô tả yêu cầu) và việc tiếp nhận phản hồi của người dùng để phát triển tầm nhìn đó. Việc thực hiện song song cả hai điều này là vô cùng quan trọng!
Tôi sẽ viết nhiều hơn về cách thực hiện điều này trong các bài đăng tới, nhưng hiện tại, tôi thấy rất khích lệ khi các kỹ sư đang đóng một vai trò mở rộng hơn (giống như cách các nhà quản lý sản phẩm và nhà thiết kế hiện cũng đang tham gia nhiều hơn vào công việc kỹ nghệ).
Tóm lại ông muốn nói:
Các tác tử AI (AI agents) không chỉ đơn thuần là một công cụ gõ code nhanh hơn, mà chúng đang tái định nghĩa toàn bộ quy trình phát triển phần mềm.