● Whitepaper · 2026 Tháng 5 năm 2026

SDLC Mới
Với Vibe Coding

Từ prompting ad-hoc đến Agentic Engineering

Tác giả: Addy Osmani, Shubham Saboo, và Sokratis Kartakis

The New SDLC with Vibe Coding — cover graphic
Lời cảm ơn

Lời cảm ơn

Người đóng góp nội dung

  • Elia Secchi
  • Julia Wiesinger
  • Anant Nawalgaria

Biên tập & cura

  • Anant Nawalgaria

Thiết kế

  • Michael Lanning

Mục lục

Giới thiệu6 Vì sao tài liệu này, vì sao ngay bây giờ9 Tài liệu này dành cho ai9 Sự chuyển dịch từ cú pháp sang ý định10 AI Agents: ôn lại nhanh10 Vibe coding là gì?11 Quang phổ: từ vibe coding đến agentic engineering12 Context engineering: kỹ năng thực sự15 Vòng đời phát triển phần mềm mới19 SDLC truyền thống dưới áp lực19 Cách AI biến đổi từng giai đoạn21 Yêu cầu & lập kế hoạch21 Thiết kế & kiến trúc21 Triển khai22 Kiểm thử & đảm bảo chất lượng22 Code review & triển khai (deploy)23 Bảo trì & tiến hóa24 Mô hình nhà máy: xây dựng hệ thống tạo ra phần mềm24 Harness Engineering: thứ bao quanh mô hình26 Bên trong harness có gì28 Harness trong SDLC29 Vai trò mới của lập trình viên: conductor & orchestrator31 Conductor: định hướng thời gian thực32 Orchestrator: ủy quyền đa agent bất đồng bộ33 Bài toán 80%34 Coding agents trong thực tế35 Vị trí của coding agent trong ngày của lập trình viên35 Vibe coding các agent sẵn sàng production36 Kinh tế học của phát triển AI39 Khoản nợ ẩn của vibe coding (CapEx thấp, OpEx cao)40 Khoản đầu tư của agentic engineering (CapEx cao, OpEx thấp)41 Context engineering như một đòn bẩy tài chính41 Mở rộng hiệu quả qua dynamic context và skills42 Intelligent model routing42 Bắt đầu từ đâu43 Dành cho lập trình viên cá nhân43 Dành cho lãnh đạo kỹ thuật44 Dành cho tổ chức45 Kết luận: Intent là giao diện mới47 Endnotes49
Sự thay đổi sâu sắc nhất trong kỹ thuật phần mềm không phải là một ngôn ngữ, framework hay dịch vụ đám mây mới. Đó là sự chuyển dịch từ việc viết code sang việc thể hiện ý định, và tin tưởng các hệ thống thông minh để dịch ý định đó thành phần mềm hoạt động được.
Phần 1

Giới thiệu

Trong hầu hết lịch sử máy tính, lập trình là một hành động dịch: hiểu bài toán bằng ngôn ngữ con người, thiết kế lời giải bằng các thuật ngữ trừu tượng, rồi render nó thành cú pháp để máy có thể thực thi. Mỗi bước đều tạo ra ma sát. Giờ đây ma sát đó đang sụp đổ. Kỹ thuật phần mềm đang trải qua cuộc biến đổi lớn nhất kể từ khi ra đời các ngôn ngữ lập trình cấp cao.

Trong nhiều thập kỷ, giao diện chính của lập trình viên với máy móc là cú pháp: dấu ngoặc nhọn, dấu chấm phẩy, các kiểu chú thích type, và ngữ pháp chính xác của các ngôn ngữ lập trình. Kỷ nguyên đó đang khép lại.

Một pardigm mới đã xuất hiện, trong đó lập trình viên thể hiện những gì họ muốn xây dựng thay vì cách xây dựng nó. Máy móc xử lý phần triển khai. Con người cung cấp ý định, kiến trúc và đánh giá. Đây không phải là tương lai xa xôi — đó là thực tế hàng ngày của một số lượng lớn lập trình viên chuyên nghiệp đang tăng nhanh. Tính đến đầu năm 2026, 85% lập trình viên chuyên nghiệp thường xuyên sử dụng AI Coding Agents, 51% sử dụng chúng hàng ngày, và ước tính 41% code mới được tạo ra bởi AI.1

85%Lập trình viên dùng AI Coding Agents
51%Dùng hàng ngày
41%Code mới do AI tạo ra

Sự chuyển dịch này không xảy ra trong một đêm. Nó bắt đầu với autocomplete — dự đoán token đơn giản trong trình soạn thảo. Sau đó là các gợi ý code inline có thể hoàn thành cả hàm. Tiếp theo, giao diện chat cho phép lập trình viên mô tả tính năng bằng ngôn ngữ tự nhiên và nhận về triển khai hoạt động được. Giờ đây, các agent hoàn toàn tự động có thể clone repository, lên kế hoạch thay đổi nhiều file, thực thi chúng trong môi trường sandbox, chạy test và nộp pull request — tất cả mà không cần con người gõ một dòng code nào.

Figure 1: From Autocomplete to Autonomy
Figure 1: From Autocomplete to Autonomy

Hệ quả đối với vòng đời phát triển phần mềm (SDLC) rất sâu sắc. Mọi giai đoạn — từ thu thập yêu cầu đến triển khai và bảo trì — đều đang được định hình lại bởi năng lực AI. Nhưng sự biến đổi này không đồng nhất hay đơn giản. Quang phổ trải dài từ "vibe coding" thoải mái, khi lập trình viên prompt AI và chấp nhận bất cứ thứ gì trả về, đến "agentic engineering" có kỷ luật, nơi AI đóng vai trò như một engine triển khai mạnh mẽ trong các hệ thống được thiết kế cẩn thận gồm ràng buộc, test và feedback loop, với con người giữ vai trò giám sát kiến trúc, tính đúng đắn và chất lượng.

Sự phân biệt này quan trọng. Kể với CTO rằng team của bạn đang vibe coding hệ thống xử lý thanh toán sẽ — và nên — làm chuông cảnh báo reo lên. Kể với cùng CTO đó rằng team của bạn thực hành agentic engineering, với AI xử lý triển khai dưới các ràng buộc do con người thiết kế trong khi test coverage đảm bảo tính đúng đắn, là một cuộc trò chuyện khác hẳn.

Tài liệu này cung cấp nền tảng cho cuộc trò chuyện đó. Chúng tôi theo dõi quang phổ từ vibe coding thoải mái đến agentic engineering có kỷ luật, xem xét cách vai trò của lập trình viên đang chuyển từ viết code sang thực thi đánh giá — từ conductor đến orchestrator — và trình bày những gì cần thiết để áp dụng các công cụ này theo cách tạo ra phần mềm mà bạn thực sự có thể dựa vào.

Phần 2

Vì sao tài liệu này, vì sao ngay bây giờ

Công cụ, năng lực và paradigm mới xuất hiện hàng tuần. Các team kỹ thuật cần một framework để hiểu bối cảnh này — không phải một bản chụp sẽ lỗi thời trong vài tháng, mà là một tập hợp các nguyên tắc và mô hình tư duy vẫn sẽ hữu ích khi các công cụ cụ thể tiến hóa.

Tài liệu này dành cho ai

Tài liệu này dành cho kỹ sư phần mềm, quản lý kỹ thuật, kiến trúc sư và lãnh đạo kỹ thuật muốn hiểu cách AI đang định hình lại SDLC và áp dụng các năng lực mới này mà không hy sinh tính kỷ luật mà phần mềm production đòi hỏi. Chúng tôi giả định sự quen thuộc với các thực hành phát triển phần mềm hiện đại nhưng không phải với các chi tiết cụ thể của AI hay machine learning.

Phần 3

Sự chuyển dịch từ cú pháp sang ý định

Trước khi đi xa hơn, chúng ta cần một hình dung chung về agent là gì và vibe coding thực sự có nghĩa là gì. Cả hai thuật ngữ đều đã tích lũy đủ nhiều ý nghĩa mà cần được giải nén cẩn thận.

AI Agents: ôn lại nhanh

Một AI agent là một hệ thống phần mềm nhận thức mục tiêu, lên kế hoạch các bước để đạt mục tiêu, thực hiện hành động qua công cụ, quan sát kết quả, và lặp lại cho đến khi mục tiêu đạt được hoặc gặp điều kiện dừng. Trong khi chatbot tạo ra một phản hồi và chờ prompt tiếp theo, agent chạy vòng lặp của riêng nó. Bạn đưa cho nó mục tiêu ở trên cùng, rồi nó tự quyết định làm gì tiếp theo ở mỗi bước.

Figure 2: The Agent Loop
Figure 2: The Agent Loop — Perceive, plan, act, observe, iterate.

Mọi agent, dù đơn giản hay tinh vi, đều được xây dựng từ năm phần. Whitepaper "Introduction to Agents" tháng 11 năm 2025 trình bày chi tiết từng phần.2 Tóm tắt ngắn cho mục đích của chúng ta:

Năm phần này làm việc cùng nhau trong một vòng lặp liên tục: nhận mission, quét bối cảnh, suy nghĩ, hành động, quan sát và lặp lại. Vòng lặp là trái tim của mọi agent. Mọi thứ khác trong tài liệu này, và mọi thứ trong phần còn lại của khóa học, là một biến thể của vòng lặp này.

Phần 4

Vibe coding là gì?

Vào tháng 2 năm 2025, Andrej Karpathy đăng một mô tả về cách lập trình mới và nó được cộng đồng kỹ thuật phần mềm đồng tình rộng rãi. Ông mô tả một cách tiếp cận nơi bạn "hoàn toàn đầu hàng cho các vibe, ôm lấy hàm mũ, và quên đi rằng code thậm chí còn tồn tại." Trong chế độ này, lập trình viên mô tả những gì họ muốn bằng ngôn ngữ tự nhiên, chấp nhận output của AI, và khi thứ gì đó hỏng, copy thông báo lỗi quay lại prompt và yêu cầu AI sửa.2

Thuật ngữ này viral vì nó nắm bắt được thứ gì đó thực: nhiều lập trình viên đã làm việc theo cách này nhưng chưa có ngôn từ cho nó. Trong vài tháng, "vibe coding" trở thành một mô tả phổ biến cho bất kỳ workflow phát triển có hỗ trợ AI nào, gây ra nhầm lẫn. Liệu một kỹ sư cấp cao dùng trợ lý AI để triển khai một tính năng được đặc tả tốt có phải là "vibe coding"? Liệu một team dùng AI agent để thực thi một kiến trúc được lên kế hoạch cẩn thận có phải là "vibe coding"? Thuật ngữ được áp dụng rộng đến mức bắt đầu mất nghĩa.

Đến đầu năm 2026, chính Karpathy cũng thừa nhận rằng framing ban đầu quá hẹp, và giới thiệu thuật ngữ "agentic engineering" để mô tả đầu có kỷ luật hơn của quang phổ.4

Quang phổ: từ vibe coding đến agentic engineering

Thay vì xử lý vibe coding và agentic engineering như một nhị nguyên, chúng tôi thấy hữu ích hơn khi nghĩ về chúng như hai đầu của một quang phổ. Yếu tố phân biệt chính không phải là bạn có dùng AI hay không. Đó là bao nhiêu cấu trúc, xác minh và đánh giá con người bao quanh output của AI.

Chiều Vibe Coding AI-Assisted Coding có cấu trúc Agentic Engineering
Đặc tả ý định Prompt ngôn ngữ tự nhiên thoải mái Prompt chi tiết với ví dụ và ràng buộc Spec hình thức, tài liệu kiến trúc, memory file
Xác minh "Có vẻ hoạt động?" Test thủ công, kiểm tra ngẫu nhiên Bộ test tự động, CI/CD gate, LM judge
Hiểu codebase Tối thiểu; lập trình viên có thể không đọc code sinh ra Review chọn lọc các đường dẫn quan trọng Review kiến trúc toàn diện; AI xử lý chi tiết triển khai
Xử lý lỗi Copy-paste thông báo lỗi lại cho AI Lập trình viên chẩn đoán nguyên nhân gốc, AI triển khai fix Agent tự chẩn đoán trong giới hạn định sẵn; con người xử lý vấn đề kiến trúc
Phạm vi phù hợp Prototype, script, dự án cá nhân, hackathon Tính năng trong codebase đã có Hệ thống production, phát triển quy mô team
Hồ sơ rủi ro Cao; chấp nhận được cho code dùng một lần Trung bình; đánh giá con người ở các trạm kiểm tra chính Thấp; xác minh hệ thống ở mọi giai đoạn

Table 1: Quang phổ từ Vibe Coding đến Agentic Engineering

Figure 3: The Vibe Coding to Agentic Engineering Spectrum
Figure 3: The Vibe Coding to Agentic Engineering Spectrum
★ Mẹo ứng dụng

Vị trí đúng trên quang phổ này phụ thuộc vào mức độ rủi ro. Một prototype cuối tuần có thể là vibe coding thuần. Một API production xử lý giao dịch tài chính đòi hỏi agentic engineering. Hầu hết công việc thực tế nằm ở đâu đó ở giữa, và kỹ năng là biết vạch ranh giới ở đâu cho từng tác vụ.

Yếu tố phân biệt lớn nhất giữa hai đầu là cách output được xác minh. Trong vibe coding, xác minh là tùy chọn; lập trình viên chạy code và kiểm tra xem nó có vẻ đúng không. Trong agentic engineering, hai cơ chế làm việc cùng nhau. Test xác minh các phần deterministic của hệ thống: một hàm với input này tạo ra output đó. Đánh giá (eval) xác minh các phần không deterministic: agent có đi theo quỹ đạo bước đúng không, chọn công cụ đúng không, và tạo ra phản hồi cuối cùng đáp ứng tiêu chuẩn chất lượng không. Test được kiểm tra bằng code; eval được kiểm tra bằng bộ dữ liệu có nhãn, scoring rubric và LM judge. Thiếu cả hai, thực hành luôn là vibe coding, bất kể prompt tinh vi đến đâu.

Phần 5

Context engineering: kỹ năng thực sự

Khi lĩnh vực trưởng thành, một insight quan trọng xuất hiện: chất lượng code do AI tạo ra phụ thuộc ít vào sự khéo léo của prompt và nhiều hơn vào chất lượng của context được cung cấp. Nhận thức này đã làm nảy sinh khái niệm context engineering — thực hành cung cấp cho AI agent thông tin phong phú, có cấu trúc về codebase, kiến trúc, quy ước và ý định của bạn.5

Lập trình viên phải xem xét sáu loại context chính:

Trong tạo code bằng AI, context engineering bao gồm việc cân bằng cẩn thận yếu tố nào trong sáu yếu tố này agent sở hữu sẵn so với những gì nó có thể truy xuất theo yêu cầu. Điều này tạo ra sự phân tách quan trọng giữa static contextdynamic context.

Static context luôn được nạp: system instruction, rule file (AGENTS.md, CLAUDE.md, GEMINI.md), global memory, và persona definition. Nó định nghĩa agent là ai và hành xử thế nào. Static context đắt vì mỗi token có mặt trong mỗi tương tác, bất kể mức độ liên quan.

Dynamic context được nạp theo yêu cầu: skill instruction được trigger khi khớp tác vụ, kết quả công cụ truy xuất trong quá trình thực thi, tài liệu lấy từ RAG pipeline, và windowed session history. Dynamic context hiệu quả vì agent chỉ trả token cost khi thông tin cần thiết.

Quyết định thiết kế về cái gì thuộc static context so với dynamic context là một đánh đổi kỹ thuật thực sự. Quá nhiều static context lãng phí token và pha loãng tín hiệu. Quá ít có nghĩa agent quên các quy tắc quan trọng. Các hệ thống tốt nhất xử lý ranh giới này như một quyết định kiến trúc first-class, được review và version như bất kỳ cấu hình nào khác.

Figure 4: Context Engineering — Static vs. Dynamic
Figure 4: Context Engineering — Static vs. Dynamic

Pattern mạnh nhất để quản lý dynamic context là Agent Skills: các gói kiến thức thủ tục có cấu trúc, di động được, mà agent chỉ nạp khi tác vụ đòi hỏi.

Thay vì nhúng từng mảnh kiến thức chuyên biệt vào system prompt của agent, skill cho phép agent vẫn là một generalist nhẹ cân, linh hoạt chuyển sang vai trò chuyên gia theo yêu cầu thông qua progressive disclosure. Agent chỉ thấy metadata nhẹ lúc khởi động, nạp full instruction khi tác vụ khớp, và chỉ kéo tài liệu tham chiếu sâu khi thực sự cần. Kết quả là một agent có thể mang hàng chục năng lực chuyên biệt mà chỉ trả token cost cho năng lực đang tích cực sử dụng.

Agent Skills đã được áp dụng nhanh chóng qua các coding agent lớn và nền tảng doanh nghiệp vì chúng giải quyết bốn vấn đề đã hành hạ phát triển AI agent:

Phần này đã giới thiệu các nguyên tắc cốt lõi của context engineering: sáu loại context mà mọi agent cần, đánh đổi giữa static và dynamic context, và Agent Skills là pattern chính để quản lý đánh đổi đó ở quy mô.

Tài liệu Day-3 đồng hành trong loạt bài về Context Engineering: Sessions, Skills & Memory đưa mỗi ý tưởng này đi xa hơn, bao gồm cách thiết kế và quản lý session, viết và đánh giá skill, xây dựng memory bền vững qua các tương tác, và tối ưu token economics cho hệ thống production.

Sự chuyển dịch từ "prompt engineering" sang "context engineering" phản ánh một sự thật sâu sắc hơn khi làm việc với AI. Model không cần instruction khéo léo nguệch ngoạt bằng việc nó cần cùng context mà một lập trình viên giỏi sẽ cần để làm việc tốt. Câu hỏi không phải là "làm sao tôi lừa AI viết code tốt?" Mà là "một thành viên team mới cần biết gì để đóng góp hiệu quả, và làm sao tôi mã hóa kiến thức đó trong form mà AI có thể dùng?"

Context engineering là cầu nối giữa vibe coding và agentic engineering. Nó cũng là cầu nối giữa phần này và phần tiếp theo, nơi chúng ta xem xét cấu trúc bao quanh mọi model và làm cho nó hữu ích.

Bằng cách dịch focus từ viết cú pháp sang engineering context này, các bottleneck trong tạo phần mềm thay đổi căn bản. Chúng ta không còn đợi bàn tay con người gõ boilerplate; chúng ta đợi tâm trí con người định nghĩa ranh giới. Điều này đòi hỏi một tái tưởng tượng hoàn toàn SDLC truyền thống, vì các hệ thống ta dùng để xây phần mềm giờ quyết định tốc độ mà nó được giao.

Phần 6

Vòng đời phát triển phần mềm mới

SDLC truyền thống dưới áp lực

Vòng đời phát triển phần mềm đã trải qua một biến đổi lớn. Trong hai thập kỷ qua, hầu hết doanh nghiệp chuyển từ quy trình waterfall tuần tự sang mô hình lặp: Agile sprint, continuous integration, DevOps pipeline và chu kỳ release nhanh. Sự chuyển dịch đó rút ngắn feedback loop, đưa test gần với phát triển, và biến triển khai thành một quá trình liên tục thay vì sự kiện hàng quý.

AI nén vòng này mạnh mẽ, nhưng không đồng đều: triển khai từng mất hàng tuần giờ có thể hoàn thành trong vài giờ, trong khi yêu cầu, kiến trúc và xác minh vẫn cố chấp theo nhịp con người. Kết quả không phải là phiên bản nhanh hơn của SDLC cũ. Đó là một workflow khác, nơi ranh giới giữa các giai đoạn mờ đi, chu kỳ lặp rút ngắn từ tuần xuống phút, và vai trò lập trình viên chuyển từ người triển khai chính sang người thiết kế hệ thống và trọng tài chất lượng.

Figure 5: Traditional SDLC vs. AI-Driven SDLC
Figure 5: Traditional SDLC vs. AI-Driven SDLC
⚡ Ghi chú về tốc độ thay đổi

Bức tranh từng giai đoạn mô tả ở trên phản ánh trạng thái SDLC do AI điều khiển tính đến giữa năm 2026. Nó đang thay đổi nhanh. Các dấu hiệu sớm cho thấy sự nén sẽ lan rộng ngoài triển khai: các team đã thử nghiệm workflow nơi lập trình viên đi thẳng từ spec đến review, với AI agent xử lý triển khai, test và deploy ở hậu trường. Các ranh giới vẽ trong phần này có thể trông khác trong 12 tháng. Điều gì sẽ không đổi là đánh giá con người, taste (khiếu thẩm mỹ), và kỹ năng xác minh output AI khi máy móc đảm nhận nhiều phần triển khai hơn.

Cách AI biến đổi từng giai đoạn

Yêu cầu và lập kế hoạch

Yêu cầu là giai đoạn nơi khoảng cách giữa ý định và triển khai luôn rộng nhất trong lịch sử. Dịch nhu cầu kinh doanh thành spec kỹ thuật là một quá trình thủ công, dễ lỗi, tạo ra khoảng cách dai dẳng giữa cái stakeholder muốn và cái engineer xây.

Công cụ AI hiện đại có thể tham gia trực tiếp vào việc tinh chỉnh yêu cầu: sinh user story từ product brief, xác định edge case mà con người bỏ sót, tạo API schema từ mô tả ngôn ngữ tự nhiên, và tạo prototype tương tác từ tài liệu spec. Môi trường phát triển agentic cho phép lập trình viên đi từ mô tả đến prototype hoạt động trong vài phút, sụp đổ feedback loop yêu cầu-đến-prototype gần về zero.

Yêu cầu ngừng là một tài liệu được chuyển giao giữa các team. Nó trở thành một cuộc trò chuyện giữa con người và AI tạo ra spec và triển khai ban đầu đồng thời.

Thiết kế và kiến trúc

Kiến trúc vẫn là giai đoạn nhất định theo con người nhất của SDLC, và có lý do chính đáng. Quyết định kiến trúc về bản chất là về đánh đổi: consistency vs. availability, complexity vs. flexibility, build vs. buy. Các đánh đổi này phụ thuộc vào bối cảnh kinh doanh, ràng buộc tổ chức và cân nhắc chiến lược dài hạn mà AI không thể nắm bắt đầy đủ.

AI xuất sắc trong việc triển khai quyết định kiến trúc một khi đã được đưa ra. Cho một tài liệu kiến trúc rõ ràng, AI agent có thể scaffold toàn bộ ứng dụng, sinh pattern nhất quán qua các module, và đảm bảo code mới tuân thủ quy ước đã thiết lập. Vai trò lập trình viên chuyển từ viết boilerplate sang đưa ra và tài liệu hóa các quyết định cấu trúc mà boilerplate triển khai.

Triển khai

Coding agent hiện đại có thể sinh toàn bộ tính năng từ mô tả ngôn ngữ tự nhiên, triển khai thuật toán phức tạp, và tạo thay đổi đa file hoạt động cùng nhau đúng cách. Lợi năng suất là thực: khảo sát ngành báo cáo cải thiện 25–39% năng suất, với một số tác vụ có lợi tức lớn hơn.7

Bức tranh tinh tế hơn con số tiêu đề gợi ý. Một nghiên cứu của METR thấy rằng lập trình viên có kinh nghiệm dùng trợ lý AI thực ra mất nhiều thời gian hơn 19% trên một số tác vụ, phần lớn vì thời gian xác minh, debug và sửa output AI.8 AI không loại bỏ công việc triển khai bằng cách biến nó từ viết sang review, hướng dẫn và xác minh.

Kiểm thử và đảm bảo chất lượng

Test code do AI sinh đòi hỏi đánh giá không chỉ cái agent tạo ra, mà còn cách nó đạt được điều đó. Output evaluation kiểm tra artifact cuối: code có biên dịch không, test có pass không? Trajectory evaluation kiểm tra toàn bộ chuỗi tool call và suy luận trung gian. Cả hai đều cần thiết vì một output trôi chảy đã bỏ qua bước xác minh là một thất bại nguy hiểm hơn một lỗi nhìn thấy được.

AI cũng biến đổi chính việc tạo test. Agent có thể tạo test case, kể cả edge case và property-based test, mà con người có thể không nghĩ tới. Quan trọng hơn, test và eval trở thành cơ chế chính để giao tiếp ý định cho AI agent: một bộ eval được viết tốt cho AI biết "đúng" nghĩa là gì và cung cấp cách tự động xác minh.

Các thực hành này hiệu quả nhất khi được nối vào một continuous quality flywheel: đánh giá với bộ benchmark, chẩn đoán failure bằng cách cluster nguyên nhân gốc, tối ưu prompt hoặc tool gây ra, xác minh fix với bộ regression, và giám sát traffic production cho các failure mode mới. Mỗi chu kỳ cộng dồn.

Code review và triển khai

Bản thân quá trình review đang được tăng cường, với AI đóng vai trò reviewer dòng đầu có thể xác định bug tiềm năng, vi phạm style, lỗ hổng bảo mật và vấn đề hiệu suất trước khi reviewer con người nhìn thấy code. Điều này không thay thế review con người, vì quyết định phụ thuộc context về thiết kế, maintainability và phù hợp chiến lược vẫn cần đánh giá con người, nhưng giảm đáng kể gánh nặng nhận thức cho reviewer.

Deployment pipeline cũng đang trở nên AI-aware. AI agent có thể giám sát sức khỏe deployment, tự động rollback các release có vấn đề, và dự đoán rủi ro deployment dựa trên bản chất và phạm vi thay đổi. Nền tảng deployment hiện đại ngày càng tích hợp với observability do AI cung cấp để tạo feedback loop giữa hành vi production và quyết định phát triển.

Day 5 trong loạt bài này bao phủ những gì thay đổi cho reviewer con người khi thể tích PR scale với output agent — bundled summary, conditional LGTM, agent-driven code-review skill.

Bảo trì và tiến hóa

Có lẽ biến đổi bị đánh giá thấp nhất là ở bảo trì. Codebase legacy từng không thể thấu nhập cho thành viên team mới giờ có thể được điều hướng, hiểu và sửa đổi với hỗ trợ AI. Một AI agent có thể đọc codebase, hiểu pattern, xác định file liên quan cho một thay đổi, và triển khai sửa đổi trong khi tôn trọng kiến trúc hiện có.

Điều này có hệ quả quan trọng cho technical debt. Code từng được xem "quá rủi ro để chạm vào" vì chỉ tác giả gốc hiểu nó giờ có thể được refactor an toàn, hiện đại hóa và mở rộng. AI agent có thể hệ thống migrate codebase giữa các framework, cập nhật API deprecated, và hiện đại hóa bộ test — các tác vụ trước đây quá tẻ nhạt và rủi ro đến mức đơn giản là không bao giờ xảy ra.

Phần 7

Mô hình nhà máy: xây dựng hệ thống tạo ra phần mềm

Mô hình tư duy gắn kết các biến đổi này lại là cái chúng tôi gọi là mô hình nhà máy. Trong mô hình này, output chính của lập trình viên không phải là code — đó là hệ thống tạo ra code. Hệ thống này bao gồm:8

Một quản lý nhà máy không lắp ráp từng widget bằng tay. Họ thiết kế dây chuyền lắp ráp và đảm bảo kiểm soát chất lượng. Lập trình viên hiện đại thiết kế hệ thống phát triển và đảm bảo output đáp ứng tiêu chuẩn yêu cầu. Thành công đến từ việc đưa cho agent tiêu chí thành công thay vì instruction từng bước, rồi để chúng lặp.

Figure 6: The Factory Model
Figure 6: The Factory Model — Developer designs the system → agents produce the code → tests verify the output.

Điều này đặt ra câu hỏi thúc đẩy phần còn lại của tài liệu: cỗ máy trung tâm trong nhà máy là gì? Bản thân agent, thứ đang làm việc bên trong dây chuyền lắp ráp, thực sự trông như thế nào?

Nếu lập trình viên là quản lý nhà máy, mô hình AI chỉ là engine thô trên sàn nhà máy. Một engine tự nó không thể sản xuất ô tô; nó cần dây đai, bánh răng, cảm biến an toàn và một dây chuyền lắp ráp. Trong bối cảnh phát triển có hỗ trợ AI, máy móc bao quanh này được gọi là Harness.

Phần 8

Harness Engineering: thứ bao quanh mô hình

Có một cám dỗ, khi builder bắt đầu làm việc với AI agent, là xử lý model như hệ thống. Một model mới ra, agent thông minh hơn. Model cũ hơn, agent tệ đi. Model trở thành lời giải thích cho mọi thứ tốt và xấu.

Trực giác đó sai, và nó dẫn đến những đầu tư sai. Model là một đầu vào vào một agent đang chạy. Mọi thứ khác — prompt, công cụ, chính sách context, hook, sandbox, sub-agent, observability — là harness: scaffolding bao quanh model cho phép nó thực sự hoàn thành thứ gì đó.11

Một phương trình hữu ích:

Agent = Model + Harness

Một model thô không phải là agent. Nó trở thành một khi harness cho nó trạng thái, thực thi công cụ, feedback loop và ràng buộc thực thi được. Hành vi lập trình viên trải nghiệm khi làm việc với Claude Code, Cursor, Codex, Antigravity, Aider, hay Cline bị chi phối bởi những gì harness làm, không chỉ bởi model nào nằm bên dưới.

Figure 7: Harness Anatomy | Agent = Model + Harness
Figure 7: Harness Anatomy | Agent = Model + Harness

Bên trong harness có gì

Cụ thể, một harness bao gồm:

Nếu nghe như nhiều surface area, đúng vậy. Và đó là surface area của team, không phải của model provider.

Harness trong SDLC

Trong khi bản thân model quyết định cách hoàn thành một tác vụ, harness là scaffolding cung cấp quyền truy cập vào công cụ, sandbox và orchestration cần thiết để thực thi. Vì vậy, harness này phải hiện diện ở mọi giai đoạn nơi AI agent vận hành.

Đây là cách harness vận hành tích cực qua các giai đoạn khác nhau của SDLC mới:

1. Yêu cầu, Lập kế hoạch & Kiến trúc (Cấu hình Harness)

Đây là nơi harness được cấu hình và hiệu chuẩn. Trước khi AI viết bất kỳ code production nào, lập trình viên phải thiết lập môi trường của agent.

2. Triển khai (Chạy Harness)

Trong khi đang code tích cực, harness đóng vai trò là ranh giới giữ model AI tập trung, an toàn và năng suất.

3. Kiểm thử & QA (Feedback Loop)

Kiểm thử trong workflow agentic dựa nhiều vào harness để tạo điều kiện tự sửa chữa tự chủ.

4. Code Review, Deployment & Maintenance (Quan sát Harness)

Ngay cả sau khi code đã viết, harness đảm bảo agent hành xử an toàn trong môi trường live hoặc gần live.

Sự chuyển dịch từ 'vibe coding' sang 'agentic engineering' không đơn giản về công cụ bạn dùng — một lập trình viên có thể vibe code hoặc áp dụng agentic engineering với cùng agent chính xác. Thay vào đó, nó được định nghĩa bởi việc bạn cấu hình và áp dụng harness có chủ đích thế nào. Vibe coding dựa vào scaffolding tối thiểu hoặc ngầm định, nhắm thuần vào triển khai nhanh. Agentic engineering dựa vào abstraction harness rõ ràng, rộng lớn, hướng dẫn AI từ tài liệu lập kế hoạch đầu tiên cho đến khi giám sát production.

Tác động của cấu hình có chủ đích này có thể đo lường được cao. Benchmark công khai làm cho quy mô hiệu ứng harness cụ thể. Trên Terminal Bench 2.0, một team đưa coding agent từ ngoài Top 30 vào Top 5 chỉ bằng cách thay đổi harness, không thay model nào. Một nghiên cứu riêng tại LangChain tăng điểm coding agent trên cùng benchmark 13.7 điểm chỉ bằng cách tinh chỉnh system prompt, công cụ và middleware quanh một model cố định.

Phiên bản hàng ngày của quan sát này quan trọng cho team đang áp dụng AI qua SDLC: khi agent làm sai, bản năng đầu tiên là đổ lỗi cho model. Thường hơn, failure truy về một công cụ thiếu, một quy tắc mơ hồ, một guardrail vắng mặt, hoặc một context window nhồi nhiễu. Hầu hết failure của agent, xem thẳng thắn, là failure cấu hình.

Phần 9

Vai trò lập trình viên đang tiến hóa: conductor và orchestrator

Khi AI đảm nhận nhiều việc triển khai hơn, vai trò lập trình viên đang biến đổi theo cách vừa thú vị vừa gây bối rối. Chúng tôi thấy hữu ích khi nghĩ về hai chế độ mà lập trình viên di chuyển linh hoạt giữa: conductororchestrator.12

Figure 8: Conductor vs. Orchestrator
Figure 8: Conductor vs. Orchestrator (Two modes of working with AI Agents)

Conductor: định hướng thời gian thực

Trong chế độ conductor, lập trình viên làm việc thời gian thực với một AI pair-programmer. Họ ở trong IDE, xem code xuất hiện, hướng dẫn AI bằng prompt và sửa, và duy trì kiểm soát chi tiết đối với cái gì được viết. AI là một công cụ mạnh, nhưng lập trình viên đang chủ động định hướng từng bước đi.

Chế độ này điển hình khi làm việc với logic phức tạp, debug vấn đề khó, hoặc làm việc trong codebase lạ nơi lập trình viên cần hiểu từng thay đổi khi nó được thực hiện. Công cụ như GitHub Copilot, Google's Gemini Code Assist, Cursor và Windsurf chủ yếu hỗ trợ chế độ này qua inline completion, giao diện chat và khả năng edit-in-place.

Chế độ conductor tự nhiên cho lập trình viên đến từ truyền thống kỹ thuật truyền thống. Nó giữ cảm giác hiểu và kiểm soát mà nhiều engineer trân trọng. Rủi ro là nó cũng có thể trở thành bottleneck — nếu lập trình viên đích thân định hướng từng phím gõ, cải thiện throughput từ AI bị giới hạn.

Orchestrator: ủy quyền đa agent bất đồng bộ

Trong chế độ orchestrator, lập trình viên vận hành ở mức trừu tượng cao hơn. Họ định nghĩa mục tiêu, giao cho agent, và review kết quả — nhưng họ không xem code xuất hiện từng dòng. Agent có thể đang làm việc ở hậu trường, song song, trên các phần khác nhau của codebase. Lập trình viên check-in định kỳ, review output, và cung cấp hiệu chỉnh hướng đi.

Chế độ này điển hình cho tác vụ định nghĩa rõ như sửa bug, triển khai tính năng theo pattern đã thiết lập, migrate codebase và tạo test. Công cụ như Google's Jules, GitHub Copilot's agent mode, Cursor's background agent và Claude Code hỗ trợ chế độ này qua thực thi tác vụ bất đồng bộ, thường làm việc trong môi trường sandbox với quyền truy cập đầy đủ repository, build tool và bộ test.13

Chế độ orchestrator đòi hỏi bộ kỹ năng khác. Thay vì chuyên môn sâu về cú pháp và idiom ngôn ngữ, nó đòi hỏi kỹ năng mạnh ở:

Bài toán 80%

Một thách thức dai dẳng trong phát triển có hỗ trợ AI là cái chúng tôi gọi là bài toán 80%: AI agent có thể nhanh chóng sinh khoảng 80% code cho một tính năng, nhưng 20% còn lại — edge case, xử lý lỗi, điểm tích hợp và yêu cầu đúng đắn tinh tế — đòi hỏi kiến thức context sâu mà model hiện tại thường thiếu.14

Bản chất lỗi AI đã tiến hóa từ lỗi cú pháp đơn giản sang failure khái niệm nguy hiểm hơn: giả định sai về logic kinh doanh, không tìm làm rõ yêu cầu mơ hồ, thiếu edge case, và quyết định kiến trúc tạo ra gánh nặng bảo trì dài hạn tinh tế. Những lỗi này khó phát hiện hơn chính xác vì code "nhìn đúng" và thậm chí có thể pass test cơ bản.

Lập trình viên điều hướng thách thức này hiệu quả nhất áp dụng một tư thế cụ thể: họ dùng AI cho cái AI giỏi (triển khai nhanh tác vụ đặc tả tốt) trong khi dành sự chú ý của mình cho cái AI vật lộn (yêu cầu mơ hồ, đánh đổi kiến trúc, và xác minh đúng đắn). Họ không cố nhanh hơn bằng cách chấp nhận mọi thứ AI sinh. Họ cố nhanh hơn bằng cách tập trung chuyên môn nơi nó quan trọng nhất.

Điều hướng bài toán 80% này hiệu quả đòi hỏi áp dụng đúng công cụ cho đúng giai đoạn công việc. Một lập trình viên vận hành như 'Conductor' cần bộ công cụ khác với người vận hành như 'Orchestrator'. Để hiểu cách map các chế độ vận hành này vào workflow hàng ngày, chúng ta phải phân loại bối cảnh agent AI hiện tại dựa trên tính tự chủ và tích hợp.

Phần 10

Coding agent trong thực tế

Một lập trình viên xây agent hôm nay làm hầu hết công việc từ terminal, thường bằng ngôn ngữ tự nhiên, thường với một coding agent khác đang gõ. Đây là mới. Một năm trước, cùng tác vụ đó có nghĩa là framework, SDK và cloud console. Các pattern đã thay thế chúng đáng được đặt tên rõ, cho cả lập trình viên muốn dùng coding agent trong ngày của họ, và cho lập trình viên muốn xây agent của riêng mình.

Vị trí của coding agent trong ngày của lập trình viên

Coding agent xuất hiện ở ba nơi trong công việc hàng ngày. Hầu hết lập trình viên dùng cả ba cùng lúc.

Trong trình soạn thảo

Inline completion gợi ý dòng tiếp theo khi lập trình viên gõ. Panel chat giải thích hoặc sửa code tại chỗ. Nhận thức toàn codebase bên trong IDE. Đây là nơi hầu hết người ta gặp AI lần đầu trong coding, và nơi công việc vẫn trong flow. Ví dụ: GitHub Copilot, Cursor, Windsurf, JetBrains AI Assistant.

Trong terminal

Coding agent mà lập trình viên khởi chạy từ dòng lệnh, đưa mục tiêu bằng ngôn ngữ thuần, và để làm việc qua codebase. Truy cập file system đầy đủ, edit đa file, khả năng chạy công cụ và test và lặp dựa trên kết quả. Đây là nơi vibe coding nghiêm túc xảy ra hôm nay. Ví dụ: Antigravity CLI, Claude Code, Codex CLI, Open Code, Cline.

Ở hậu trường: Agent nhận một tác vụ và chạy tự chủ trong sandbox đám mây, thường trong nhiều giờ, thường tạo pull request làm output. Lập trình viên giao phó và review sau. Ví dụ: Google Jules, GitHub Copilot agent mode, Cursor's background agent và Google's specialized AlphaEvolve agent cho thiết kế thuật toán nâng cao.

Trong thực tế, editor agent giúp khi lập trình viên đang giữa việc viết code và muốn gợi ý, sửa nhanh, hay giải thích mà không rời flow. Terminal agent phù hợp công việc đa file, khám phá codebase lạ, và tác vụ nơi agent cần chạy code và phản ứng với cái nó quan sát. Background agent phù hợp tác vụ đặc tả tốt mà lập trình viên có thể mô tả trong một đoạn văn và đi nghỉ — như sửa bug đã biết, tạo bộ test, hoặc migrate code từ framework này sang framework khác. Cùng lập trình viên thường dùng cả ba trong một ngày.

Điểm bắt đầu đúng phụ thuộc vào tác vụ, không phải vào danh mục nào ngồi cao nhất trên một thang tự chủ nào đó.

Vibe Coding các Agent sẵn sàng production

Mọi thứ thảo luận đến giờ là về việc dùng coding agent để xây phần mềm: viết tính năng, sửa bug, tạo test, refactor code. Nhưng chuyện gì xảy ra khi thứ bạn cần xây bản thân là một agent?

Một bot hỗ trợ khách hàng xử lý yêu cầu hoàn tiền. Một trợ lý nghiên cứu cross-reference các nguồn và tạo báo cáo có grounding. Một công cụ nội bộ giám sát tuân thủ và đánh dấu bất thường. Đây không phải tác vụ bạn giải với coding agent trong terminal. Chúng là sản phẩm cần công cụ riêng, memory riêng, evaluation riêng và hạ tầng deployment riêng.

Cùng workflow terminal-based sinh script prototype giờ tiếp cận các production agent này. Xây, đánh giá và deploy một agent thực chạy ở quy mô, với memory bền vững, governance và observability, đã chuyển từ tác vụ framework và cloud console sang thứ diễn ra trong cùng terminal, thường bằng cách nói với cùng coding agent mà lập trình viên đã dùng.

Workflow này quan trọng khi builder cần một agent chạy đáng tin cậy cho user thực: memory bền vững qua session, quyền scoped trên công cụ và dữ liệu, eval coverage bắt regression trước khi ship, observability trace cái agent thực sự làm. Cho script một lần hay tự động hóa cá nhân, coding agent thường là đủ; agent là điểm đến. Cho agent phục vụ user thực ở quy mô, agent là sản phẩm, và nó cần substrate bên dưới.

Google's Agents CLI được xây quanh ý tưởng này.14 Đó là công cụ dòng lệnh nhỏ gọn đóng gói một bộ skill cho việc xây agent trên Google Cloud, và quan trọng là nó làm việc với coding agent nào mà lập trình viên ưa thích — Claude Code, Codex hay cái khác. Sau khi cài đặt một lần, coding agent có bảy skill mới bao phủ toàn bộ vòng đời ADK: scaffold dự án, viết code agent, đánh giá nó, deploy lên Agent Runtime, và nối observability. Lập trình viên không học SDK mới. Họ mô tả cái họ muốn, và coding agent dùng skill để làm đúng việc ở mỗi bước.

Cụ thể, toàn bộ vòng lặp build-evaluate-deploy trông như thế này:

# One-time setup
uvx google-agents-cli setup
# Then in your coding agent:
> Build a support agent that answers questions from our docs.
> evaluate it on the FAQ dataset
> Deploy it to Agent Engine

Snippet 1: Agents CLI Setup and Build.

Đằng sau một instruction đơn lẻ đó, coding agent scaffold dự án từ template, viết code ADK, sinh evalset, chạy nó với agent, deploy lên Agent Runtime, và báo cáo lại. Cho lập trình viên thích lái trực tiếp, cùng operation có sẵn như lệnh CLI thuần (agents-cli create, agents-cli playground, agents-cli eval, agents-cli deploy).

Production agent từng đòi hỏi stack riêng và workflow riêng khỏi prototype. Giờ prototype chạy trên laptop lập trình viên hôm qua có thể trở thành production agent phục vụ user thực hôm nay, không cần viết lại.

Cùng workflow scale từ một agent sang nhiều. ADK cung cấp workflow graph-based, workflow đa agent cho việc xây collaborative agent và cơ chế tương tác như shared session state, LLM-driven delegation, và explicit invocation, kết hợp thành bất kỳ pattern đa agent nào phù hợp vấn đề.

Điều phối qua agent xảy ra thông qua shared session state cho trường hợp đơn giản, qua Model Context Protocol (MCP) cho truy cập công cụ, và qua Agent2Agent (A2A) protocol cho ủy quyền cross-agent.15 Team kỹ thuật Anthropic đã công bố một thử nghiệm đầu năm 2026 trong đó team agent chạy trên kiến trúc kiểu này đã xây một C compiler hoạt động bằng Rust trong hai tuần, với con người định hướng và review output nhưng không viết triển khai.16 Bottleneck chuyển từ viết code sang đặc tả cái nó nên làm và xác minh agent đã làm.

Cho builder, hệ quả thực tế đơn giản. Cùng vibe coding workflow sinh script hôm nay sinh production agent ngày mai. Vòng đời — build, evaluate, deploy, observe, refine — sống ở một nơi. Đường từ ý tưởng đến agent chạy đã sụp đổ từ tuần xuống giờ, và hầu hết công việc giờ diễn ra trong ngôn ngữ tự nhiên.

Các thực hành làm workflow này production-grade ở quy mô team — từ spec-driven development và code review có cấu trúc đến guardrail, sandboxing và zero-trust development — được bao phủ trong tài liệu Day 5 đồng hành: Spec-Driven Production Grade Development in the Age of Vibe Coding.

Phần 11

Kinh tế học của phát triển AI

Khi đánh giá tác động của AI lên vòng đời phát triển phần mềm, cuộc trò chuyện thường bắt đầu và kết thúc với tốc độ lập trình viên: chúng ta có thể viết code nhanh cỡ nào? Tuy nhiên, cho lãnh đạo kỹ thuật, metric quan trọng hơn là Tổng Chi phí Sở hữu (TCO).

Để hiểu chi phí thực sự của phát triển có hỗ trợ AI, chúng ta phải xem cách workflow khác nhau dịch gánh nặng tài chính và vận hành giữa Chi phí Vốn (CapEx) — đầu tư ban đầu để xây thứ gì đó — và Chi phí Vận hành (OpEx) — chi phí liên tục để chạy, sửa và bảo trì. Quan trọng, trong kỷ nguyên AI, OpEx bị chỉ đạo nặng bởi nền kinh tế token.

Figure 9: The Economics of AI Development
Figure 9: The Economics of AI Development

Khoản nợ ẩn của Vibe Coding (CapEx thấp, OpEx cao)

Nhìn thoáng qua, vibe coding tỏ ra cực kỳ hiệu quả chi phí. Rào cản gia nhập về cơ bản là zero: subscription hàng tháng chuẩn cho trợ lý AI và vài prompt thoải mái. CapEx không đáng kể vì lập trình viên dựa hoàn toàn vào năng lực baseline của model thay vì đầu tư thời gian vào thiết kế hệ thống.

Tuy nhiên, kinh tế học của vibe coding giấu một gánh nặng OpEx khổng lồ, cộng dồn:

Khoản đầu tư của Agentic Engineering (CapEx cao, OpEx thấp)

Agentic engineering lật ngược mô hình kinh tế này. Nó đòi hỏi một đầu tư ban giờ có chủ đích về thời gian và nguồn lực kỹ thuật trước khi một dòng code production nào được sinh.

CapEx trong agentic engineering bao gồm thiết kế API schema, xây bộ test deterministic, và quan trọng nhất, cấu trúc context của agent. Trong khi chi phí ban đầu này cao hơn, chi phí biên của ship và bảo trì một tính năng giảm mạnh. AI vận hành trong một "nhà máy" được quản trị nghiêm ngặt, nghĩa là output của nó có cấu trúc hợp lý, được test trước và phù hợp với tiêu chuẩn công ty.

Context Engineering như một đòn bẩy tài chính

Trong nền kinh tế token, context engineering không chỉ là kỹ năng kỹ thuật — đó là chiến lược tài chính. LLM tính phí cho từng mảnh thông tin bạn gửi. Truyền cả một repository 100.000-token vào mỗi prompt là không khả thi về tài chính ở quy mô.

Context engineering hiệu quả đảm bảo model nhận payload dày đặc, tín hiệu cao (như file AGENTS.md chính xác và guardrail kiến trúc) thay vì một payload lan man, nhiễu. Bằng cách cung cấp đúng context ban đầu, lập trình viên tăng đáng kể tỷ lệ thành công first-pass của agent, tránh vòng lặp thử-sai tốn kém hành hạ vibe coding.

Mở rộng hiệu quả qua Dynamic Context và Skills

Để thực sự tối ưu OpEx, agentic engineering nâng cao dựa vào dynamic context qua việc dùng "skill" hay tool calling (như Model Context Protocol server) mà chúng ta bao phủ chi tiết trong tài liệu day-3.

Intelligent Model Routing

Hơn nữa, agentic engineering cho phép intelligent model routing. Trong workflow vibe coding, lập trình viên thường dựa vào một frontier model khổng lồ duy nhất cho mọi tương tác — trả giá token premium chỉ để yêu cầu AI sửa lỗi chính tả hay sinh unit test cơ bản.

Một mô hình nhà máy được thiết kế tốt tránh sự lãng phí này. Nó dùng model lớn, nâng cao cho tác vụ phức tạp cao (Yêu cầu, Kiến trúc, và Triển khai ban đầu) nhưng tự động route tác vụ deterministic, complexity thấp hơn (Tạo Test, Code Review, và giám sát CI/CD) sang model nhỏ hơn, nhanh hơn và rẻ hơn đáng kể. Bằng cách orchestrate một hệ sinh thái đa model, team kỹ thuật có thể duy trì chất lượng output đỉnh trong khi hệ thống giảm chi phí token vận hành.

Phần 12

Bắt đầu từ đâu

Sự chuyển dịch từ cú pháp sang ý định không phải là trạng thái tương lai. Nó là công việc trước mặt chúng ta hôm nay. Dù đọc tài liệu này như một builder cá nhân hay như một lãnh đạo nghĩ về cách team hay tổ chức áp dụng các công cụ này, cùng nguyên tắc cơ bản giữ: AI khuếch đại văn hóa kỹ thuật mà nó hạ cánh vào. Các thực hành dưới đây dịch nguyên tắc đó thành hành động.

Dành cho lập trình viên cá nhân

  1. Thiết lập AGENTS.md (hoặc tương đương) cho dự án. Chọn quy ước phù hợp với coding agent bạn chọn. Bắt đầu với mười dòng: stack, quy ước, quy tắc cứng, workflow. Thêm một quy tắc mỗi khi agent làm gì đó mà nó không nên làm lại.
  2. Cài đặt một bộ skill cho coding agent (như Agents CLI) để build, evaluate, deploy và tối ưu agent.
  3. Chọn một workflow lặp đi lặp lại và làm nó thành agent đầu tiên. Một workflow nghiên cứu, một quy trình code review, một báo cáo định kỳ, một mảnh nội dung sản xuất đều đặn. Dùng coding agent cho prototype, và tốt nghiệp nó thành production agent qua Agents CLI khi nó chứng minh giá trị. Xây một agent end-to-end dạy nhiều hơn đọc về một trăm.
  4. Viết test và eval trước khi sinh code. Cùng nhau chúng là hợp đồng với AI. Một bộ test và eval được viết tốt giao tiếp ý định chính xác hơn bất kỳ prompt ngôn ngữ tự nhiên nào, và biến phát triển có hỗ trợ AI từ vibe coding thành agentic engineering.
  5. Review từng dòng agent sinh ra mà sẽ ship. Hoài nghi về bất cứ thứ gì trông khéo léo. Kiểm tra import có package thực. Xác minh xử lý lỗi bao phủ failure mode thực tế. Code mà team không hiểu trở thành chi phí debug mà team không thể afford.
  6. Duy trì kỹ năng lập trình viên. AI xử lý routine để lập trình viên tập trung vào cái thách thức. Sắp xếp đó chỉ làm việc nếu kỹ năng nền tảng — debug, system design, trực giác về hiệu suất và đúng đắn — giữ sắc bén. Xử lý AI như cách áp dụng chuyên môn ở quy mô lớn hơn, không phải thay thế cho nó. Thực hành đều đặn với debug phức tạp, code review output AI và thảo luận kiến trúc vẫn thiết yếu để phát triển như engineer.

Dành cho lãnh đạo kỹ thuật

  1. Biến context engineering thành thực hành kỹ thuật first-class trong team. Xử lý AGENTS.md, system prompt, eval suite và skill library như code: review trong pull request, version với dự án, sở hữu bởi engineer có tên. Không có kỷ luật này, harness trôi và hành vi agent trở nên không thể tái lập qua team.
  2. Đặt tiêu chuẩn ở eval, không phải demo. Một demo hoạt động chứng minh agent có thể thành công một lần. Một bộ eval pass chứng minh nó thành công đáng tin cậy. Nhưng eval không có rubric rõ ràng không đo gì cả. Định nghĩa cái bạn chấm điểm: thành công tác vụ, chất lượng dùng công cụ, tuân thủ quỹ đạo, hallucination và chất lượng phản hồi. Yêu cầu eval coverage với rubric rõ ràng như điều kiện tiên quyết cho bất kỳ agent nào ship vào workflow chia sẻ — cùng cách test coverage gate deploy dịch vụ.
  3. Tái định hình code review cho code AI-sinh. Code AI-sinh đòi hỏi sự giám sát tương đương hoặc lớn hơn code con người viết, với chú ý thêm vào dependency hallucinated, xử lý lỗi không đầy đủ và khoảng cách đúng đắn tinh tế trông đúng thoáng qua. Đào tạo reviewer về failure mode của code sinh, và điều chỉnh checklist review tương ứng.
  4. Phân biệt công việc prototype khỏi công việc production trong quy chuẩn team. Vibe coding là tốc độ đúng cho khám phá. Agentic engineering là kỷ luật đúng cho production. Làm ranh giới rõ ràng: dự án nào, branch nào, môi trường nào warrant chế độ làm việc nào. Team giữ sự phân biệt này mơ hồ sản xuất prototype ship theo tai nạn.
  5. Đầu tư vào thành phần harness như tài sản team chia sẻ. System prompt dùng lại, skill library, kết nối MCP server và evaluation harness compound qua dự án. Xử lý chúng như hạ tầng: tài liệu hóa, duy trì và cải thiện có chủ đích. Team compound nhiều giá trị nhất từ phát triển có hỗ trợ AI là những team xây harness một lần và tinh chỉnh nhiều lần.

Dành cho tổ chức

  1. Xử lý phát triển có hỗ trợ AI như một đầu tư kỹ thuật, không phải feature năng suất. Team thấy lợi lớn nhất ghép công cụ AI với eval coverage, observability và tiêu chuẩn kiến trúc rõ. Triển khai coding agent không có scaffolding đó sản xuất tốc độ không chất lượng, compound thành technical debt nhanh hơn bất kỳ team nào có thể trả.
  2. Đầu tư vào substrate production trước quy mô. Một prototype vibe-coded trên laptop không phải là hệ thống production. Cái tốt nghiệp từ cái này sang cái kia là kỷ luật vận hành quanh nó: trajectory và final-response eval chạy trong CI, trace mỗi agent run, quyền scoped mỗi agent, và security review điều chỉnh cho failure mode của code sinh. Xây substrate này trước khi production agent đầu tiên ship, không phải sau.
  3. Áp dụng tiêu chuẩn mở cho công cụ và giao tiếp inter-agent. Model Context Protocol (MCP) cho truy cập công cụ và Agent2Agent (A2A) cho ủy quyền cross-agent đang hội tụ thành mô liên kết của hệ đa agent. Chọn chúng giờ giữ tùy chọn mix vendor và framework mở, và tránh re-platform sau.
  4. Lập kế hoạch cho team hybrid giữa con người và agent, không phải workflow chỉ con người hay chỉ agent. Kết quả production mạnh nhất năm qua đến từ kiến trúc nơi con người định hướng, agent làm triển khai, và protocol handoff rõ ràng chi phối ranh giới. Quy trình code review, rotation on-call và cấu trúc team đều cần tiến hóa để phản ánh rằng agent giờ là participant, không chỉ công cụ.
  5. Tái khung hình tuyển dụng và phát triển kỹ năng quanh đánh giá, không chỉ triển khai. Khi triển khai trở nên nhanh và tự động hơn, bottleneck chuyển sang specification, evaluation, đánh giá kiến trúc và review. Tuyển dụng và phát triển cho những kỹ năng đó có chủ đích. Engineer giá trị nhất trong vài năm tới sẽ là những người có thể định hướng agent tốt, không phải những người có thể viết nhiều code nhất.
Phần 13

Kết luận: Intent là giao diện mới

Sự chuyển dịch từ cú pháp sang ý định không phải là dự đoán tương lai — đó là thực tại hiện tại. Lập trình viên đã dành nhiều thời gian hơn mô tả cái họ muốn hơn là đặc tả cách xây nó. SDLC đã đang được nén, tái cấu trúc và tái tưởng tượng quanh năng lực AI. Câu hỏi không phải là liệu biến đổi này có xảy ra không, mà là lập trình viên cá nhân, team và tổ chức sẽ điều hướng nó hiệu quả thế nào.

Framework chúng tôi đã trình bày trong tài liệu này — quang phổ từ vibe coding đến agentic engineering, mô hình conductor-to-orchestrator của vai trò lập trình viên, taxonomy ambient, workflow và autonomous agent, và mô hình nhà máy của sản xuất phần mềm — cung cấp một bộ mô hình tư duy để hiểu một bối cảnh tiến hóa nhanh. Các mô hình này sẽ vẫn hữu ích ngay cả khi công cụ và năng lực cụ thể tiến hóa.

Ba nguyên tắc nổi bật là bền vững:

  1. Cấu trúc scale, vibe thì không. Vibe coding là cách tiếp cận hợp lệ cho khám phá, prototype và dự án cá nhân. Nhưng cho phần mềm mà tổ chức dựa vào, kỷ luật của agentic engineering — specification, test, guardrail và giám sát kiến trúc con người — không phải tùy chọn. Khoảng cách giữa "có vẻ hoạt động" và "hoạt động đúng dưới mọi điều kiện" là nơi outage production, lỗ hổng bảo mật và ác mộng bảo trì sống.
  2. AI khuếch đại văn hóa kỹ thuật của bạn. Tổ chức với thực hành test mạnh, tiêu chuẩn kiến trúc rõ và quy trình code review khỏe nhận được nhiều hơn đáng kể giá trị từ phát triển có hỗ trợ AI so với những tổ chức không có. AI là force multiplier — và nó nhân cả điểm mạnh và điểm yếu của bạn.
  3. Vai trò con người đang tiến hóa, không giảm bớt. Builder hiểu kiến trúc, có thể định nghĩa spec chính xác, đánh giá output phê phán và thiết kế hệ thống ràng buộc và feedback loop hiệu quả là giá trị hơn bao giờ hết. Kỹ năng quan trọng đang chuyển từ triển khai sang đánh giá, từ viết code sang thiết kế hệ thống sinh code.

Chúng ta đang ở đầu của một biến đổi sẽ tái định hình không chỉ cách phần mềm được xây, mà loại phần mềm nào có thể xây được. Team nhỏ hơn sẽ có thể giải quyết vấn đề lớn hơn. Lập trình viên cá nhân sẽ có thể xây và duy trì hệ thống trước đây đòi hỏi cả phòng ban. Rào cản tạo phần mềm sẽ tiếp tục giảm, mở thực hành phát triển phần mềm cho dân số rộng hơn.

Team sẽ thịnh vượng là những team ôm AI như công cụ mạnh trong khi duy trì kỷ luật kỹ thuật luôn là nền tảng của phần mềm đáng tin cậy. Họ sẽ là những ai hiểu rằng tương lai của kỹ thuật phần mềm không phải về việc chọn giữa chuyên môn con người và năng lực AI — đó là về việc thiết kế hệ thống nơi cả hai đóng góp thế mạnh độc đáo của họ.

Generation đã được giải. Verification, đánh giá và định hướng là craft mới.

Endnotes

  1. GetPanto, "AI Coding Assistant Statistics 2025-2026," https://www.getpanto.ai/blog/ai-coding-assistant-statistics; Index.dev, "Developer Productivity Statistics with AI Tools," https://www.index.dev/blog/developer-productivity-statistics-with-ai-tools
  2. Karpathy, A., "Vibe Coding," X/Twitter post, February 2025. https://x.com/karpathy/status/1886192184808149383; Wikipedia, "Vibe coding," https://en.wikipedia.org/wiki/Vibe_coding
  3. Osmani, A., "Agentic Engineering," https://addyosmani.com/blog/agentic-engineering/
  4. Karpathy, A., "From Vibe Coding to Agentic Engineering," 2026; The New Stack, "Vibe Coding is Passe," https://thenewstack.io/vibe-coding-is-passe/
  5. Glide Blog, "What is Agentic Engineering?" https://www.glideapps.com/blog/what-is-agentic-engineering; The New Stack, "Vibe Coding, Agentic Engineering," https://thenewstack.io/vibe-coding-agentic-engineering/
  6. CircleCI, "AI-Native SDLC," https://circleci.com/blog/ai-sdlc/
  7. GroovyWeb, "SDLC in the AI Era: Software Development 2026," https://www.groovyweb.co/blog/sdlc-ai-era-software-development-2026; EPAM, "From Traditional Software to a Native AI SDLC," https://www.epam.com/about/newsroom/in-the-news/2026/from-traditional-software-to-a-native-ai-sdlc-how-genai-is-redefining-engineering
  8. Osmani, A., "The Factory Model," https://addyosmani.com/blog/factory-model/
  9. Deloitte, "AI in Software Engineering: Productivity Gains 2025-2026," projecting 30-35% gains across the full development process.
  10. METR, "Uplift Update: Measuring the Impact of AI Coding Tools," February 2026, https://metr.org/blog/2026-02-24-uplift-update/
  11. Google, "Introduction to Agents," Agents Whitepaper Series, November 2025.
  12. Osmani, A., "From Conductors to Orchestrators: The Future of Agentic Coding," https://addyosmani.com/blog/future-agentic-coding/
  13. Google, "Jules: AI-Powered Coding Agent," https://developers.googleblog.com/en/the-next-chapter-of-the-gemini-era-for-developers/
  14. Osmani, A., "The 80% Problem in Agentic Coding," https://addyo.substack.com/p/the-80-problem-in-agentic-coding
  15. Medium, Dave Patten, "The State of AI Coding Agents 2026: From Pair Programming to Autonomous AI Teams," https://medium.com/@dave-patten/the-state-of-ai-coding-agents-2026-from-pair-programming-to-autonomous-ai-teams-b11f2b39232a
  16. Lawfare, "When the Vibes Are Off: The Security Risks of AI-Generated Code," https://www.lawfaremedia.org/article/when-the-vibe-are-off--the-security-risks-of-ai-generated-code
  17. Google, "Introduction to Agents," Multi-Agent Systems and Design Patterns section, November 2025.
  18. Google, "Agent Development Kit (ADK)," https://google.github.io/adk-docs/; Kartakis, S., "From Zero to Multi-Agents: A Beginner's Guide to Google Agent Development Kit (ADK)," https://medium.com/@sokratis.kartakis/from-zero-to-multi-agents-a-beginners-guide-to-google-agent-development-kit-adk-b56e9b5f7861
  19. Google, "Agent-to-Agent (A2A) Protocol," https://google.github.io/a2a-protocol/; Kartakis, S. and Hotz, H., "Generative AI in the Real World: Understanding A2A," O'Reilly Podcast, https://www.oreilly.com/radar/podcast/generative-ai-in-the-real-world-understanding-a2a-with-heiko-hotz-and-sokratis-kartakis/
  20. TLDL, "AI Coding Tools 2026," https://www.tldl.io/resources/ai-coding-tools-2026; Kanerika, "GitHub Copilot vs Claude Code vs Cursor vs Windsurf," https://kanerika.com/blogs/github-copilot-vs-claude-code-vs-cursor-vs-windsurf/
  21. Google, "Gemini Code Assist," https://cloud.google.com/gemini/docs/codeassist/overview
  22. Dark Reading, "Coders Adopt AI Agents, but Security Pitfalls Lurk in 2026," https://www.darkreading.com/application-security/coders-adopt-ai-agents-security-pitfalls-lurk-2026
  23. Google, "Gemini CLI," https://github.com/google-gemini/gemini-cli.
  24. Google, "Agent Tools: Interoperability with Model Context Protocol (MCP)," Agents Whitepaper Series, November 2025.
  25. Google, "Agent Quality" and "Prototype to Production," Agents Whitepaper Series, November 2025.
  26. Lawfare, "When the Vibes Are Off: The Security Risks of AI-Generated Code," https://www.lawfaremedia.org/article/when-the-vibe-are-off--the-security-risks-of-ai-generated-code
  27. DevOps.com, "AI-Generated Code Packages Can Lead to Slopsquatting Threat," https://devops.com/ai-generated-code-packages-can-lead-to-slopsquatting-threat/
  28. Osmani, A., "Beyond Vibe Coding," O'Reilly Media, 2025-2026, https://www.oreilly.com/library/view/beyond-vibe-coding/9798341634749/
  29. "Awesome LLM Apps," https://github.com/Shubhamsaboo/awesome-llm-apps
  30. Osmani, A., "My LLM Coding Workflow Going Into 2026," https://addyosmani.com/blog/ai-coding-workflow/
  31. Questera, "7 AI Coding Trends to Watch in 2026," https://www.questera.ai/blogs/7-ai-coding-trends-to-watch-in-2026
  32. DEV Community, "Programming in the Age of AI: From Code to Intent," https://dev.to/robertobutti/programming-in-the-age-of-ai-from-code-to-intent-46eo