Contents
Chào mừng bạn đến với Fx Studio. Chủ đề hôm nay là Hành trình từ “code bằng cảm xúc” (Vibe Coding) đến kỷ nguyên Agentic Engineering.
Mở đầu: Cơn sốt mang tên Vibe Coding
Tháng 2 năm 2025, Andrej Karpathy (đồng sáng lập OpenAI, cựu lãnh đạo AI tại Tesla) đăng một dòng tweet ngắn. Ông nói có một kiểu lập trình mới, ông gọi tên nó là “vibe coding”: bạn “fully give in to the vibes”, chấp nhận đường cong hàm mũ, và quên luôn chuyện code đang tồn tại.
Cụm từ đó lan như virus. Đến cuối 2025, “vibe coding” trở thành Từ của Năm theo Collins English Dictionary. Product manager, designer, sinh viên, cả những lập trình viên mười năm kinh nghiệm, tất cả đều đang nói với AI rằng “làm cho tôi cái app quản lý todo” rồi ngồi xem code tự sinh ra.
Và phải nói thật: nó rất đã.
Prototype trong vài phút. MVP trong vài giờ. Cảm giác như vừa mọc thêm một cánh tay. Theo một khảo sát developer công bố năm 2026, 87% người tham gia nói vibe coding giúp họ tiết kiệm thời gian, 74% nói họ build được nhiều thứ hơn trước.
Nhưng rồi tháng thứ ba đến.
Bức tường tháng thứ ba
Trong giới phát triển phần mềm, người ta bắt đầu gọi nó là “the three-month wall”, bức tường tháng thứ ba.
Câu chuyện thường diễn ra như thế này:
- Tháng 1: Mọi thứ tuyệt vời. AI ship nhanh, app chạy được, bạn iterate dựa trên feedback thực tế của user.
- Tháng 2: Ma sát bắt đầu xuất hiện. Dependencies lệch version, bug nhỏ tích tụ, AI cần nhiều context hơn để thay đổi vì codebase đã lớn hơn lúc ban đầu.
- Tháng 3: Dự án hoặc thiết lập được nhịp bảo trì, hoặc bắt đầu chết dần.

Lý do? Vibe coding thiếu một thứ cốt lõi: big picture, cái nhìn toàn cảnh về phần mềm nên làm gì và tại sao.
Khi bạn đi prompt-by-prompt, mỗi cuộc hội thoại là một hòn đảo riêng biệt. Quyết định bạn đưa ra ở prompt thứ 5 bị quên ở prompt thứ 50. Context sống trong session chat, mà session chat thì phù du. Không ai quay lại đọc lịch sử 200 tin nhắn để hiểu tại sao cái function kia được viết theo cách đó.
Nghịch lý năng suất
Đây là phần thú vị nhất. Và cũng đau nhất.
Một thử nghiệm đối chứng ngẫu nhiên (RCT) do METR tiến hành năm 2025 làm việc với các lập trình viên open-source giàu kinh nghiệm, trên chính repository quen thuộc của họ. Kết quả:
- Developer dự đoán họ sẽ nhanh hơn 24% khi dùng AI tools
- Đo thực tế, họ chậm hơn 19%
- Và sau nghiên cứu, họ vẫn tin rằng mình đã nhanh hơn 20%
Đọc lại cho kỹ: cảm giác nhanh và thực tế nhanh đang tách rời nhau. Lấy con số dự đoán trừ con số đo được, khoảng lệch rơi vào 43 điểm phần trăm. Đây là phép trừ của mình từ hai số liệu trong nghiên cứu, không phải chỉ số họ công bố, nhưng nó cho thấy độ lớn của cái hố.

Một nghiên cứu khác từ Stanford phát hiện điều tương tự ở góc bảo mật: developer dùng AI viết ra code kém an toàn hơn, nhưng lại tự tin hơn về độ bảo mật của code mình.
Vibe coding mua cho bạn discovery speed, tốc độ khám phá. Nhưng nó trả giá bằng production durability, độ bền vững khi đưa vào production.
Vậy “sau vibe coding” là gì?
Câu trả lời đang hình thành rõ ràng trong năm 2026: Agentic Engineering, kỹ thuật phần mềm dựa trên agent.
Nếu vibe coding là “nói cho AI làm, xong thì thôi”, thì agentic engineering là “điều phối AI agents như một đội ngũ, còn bạn giữ vai trò kiến trúc sư”.
Theo IBM, agentic engineering nhấn mạnh lập trình agent-hỗ-trợ là công cụ, không phải lực lượng xây dựng toàn bộ codebase từ đầu đến cuối. Forrester gọi năm 2026 là điểm uốn thực sự, khi agents bắt đầu hoạt động xuyên suốt từ phân tích, thiết kế, xây dựng, kiểm thử, đến triển khai.
Và đây chính là nơi Kiro xuất hiện.
Kiro: Câu trả lời của AWS cho “sau vibe coding thì gì?”
AWS ra mắt Kiro giữa năm 2025 với tagline “Move beyond AI coding to agentic engineering”, vượt qua AI coding để tiến đến kỹ thuật agentic.
Kiro không phải chatbot gắn vào text editor. Nó là một IDE, môi trường phát triển tích hợp, nơi đơn vị công việc không phải là prompt mà là specification (đặc tả).
Spec-Driven Development: Viết ra trước, code sau
Ý tưởng cốt lõi: code là build artifact của spec, không phải primary artifact.
Hãy tưởng tượng bạn muốn xây nhà:
- Vibe coding = Gọi điện cho thợ xây: “Anh ơi, làm cái nhà đẹp đẹp, 3 phòng ngủ, có sân vườn nhé.” Thợ xây làm theo hiểu biết của họ. Tuần sau bạn nhìn thấy cái bếp ở chỗ bạn muốn đặt phòng khách. “Ơ không, ý em là…” Đập ra làm lại.
- Spec-driven development = Có bản vẽ kiến trúc. Bạn và kiến trúc sư ngồi lại, vẽ ra requirements (cần gì), design (thiết kế thế nào), rồi chia thành tasks (làm theo thứ tự nào). Phê duyệt xong mới thi công. Ai đến sau cũng đọc bản vẽ là hiểu.
Trong Kiro, flow diễn ra như sau:
- Bạn mô tả ý tưởng bằng ngôn ngữ tự nhiên (giống vibe coding ở bước đầu)
- Kiro sinh ra requirements: danh sách user stories, acceptance criteria
- Bạn review, chỉnh sửa, approve requirements
- Kiro sinh ra design: technical architecture, data models, API contracts
- Bạn review, chỉnh sửa, approve design
- Kiro chia thành tasks, danh sách việc cụ thể, có thứ tự
- Agents thực thi tasks, song song khi có thể
- Property-based tests verify, đảm bảo code khớp với spec

Điểm mấu chốt: mọi quyết định được viết ra, được version-controlled, và bền vững. Không mất theo thời gian. Không chìm trong lịch sử chat.
Năm trụ cột đưa Kiro vượt qua vibe coding

1. Steering: Kiến thức bền vững thay vì prompt lặp lại
Bạn có bao giờ mệt mỏi vì phải nhắc đi nhắc lại “dùng TypeScript, không phải JavaScript”, “follow Airbnb style guide”, “API dùng REST, không GraphQL” mỗi lần mở session mới?
Steering files giải quyết chuyện đó. Đặt một file markdown trong .kiro/steering/, viết conventions một lần, Kiro tuân theo mãi mãi. Commit vào git, cả team dùng chung.
Giống như onboarding document cho một nhân viên mới. Chỉ khác là “nhân viên” ở đây là AI agent, và nó không bao giờ quên đọc.
2. Custom Agents: Mỗi agent một nhiệm vụ
Thay vì một con AI biết tuốt nhưng dễ lạc hướng, bạn tạo agents chuyên biệt:
- Một agent chỉ đọc git history và viết changelog, không có quyền shell, không đụng file ngoài lane của nó
- Một agent chỉ review code theo security standards
- Một agent chỉ lo deployment
Nguyên tắc: least privilege, quyền tối thiểu. Agent chỉ có đúng tools cần thiết cho job của nó. Không hơn, không kém.
3. Hooks: Tự động hóa sự kỷ luật
Hooks là những automation chạy khi sự kiện xảy ra:
- Save file thì tự chạy linting
- Tạo file mới thì tự thêm copyright header
- Trước khi commit thì tự check security vulnerabilities
Bạn không cần nhớ làm những việc này. Hệ thống tự làm, mọi lần, không bỏ sót.
4. Powers: Đóng gói expertise của chuyên gia
Powers giống như skill pack cho agent. Khi bạn nhắc đến một công nghệ cụ thể (ví dụ “deploy lên AWS”), Kiro tự động load Power tương ứng, bao gồm tools, workflow guides, và best practices của domain đó.
Thay vì agent phải đi google cách làm, nó đã có sẵn playbook của chuyên gia.
5. Unified Agent Harness: Một agent, mọi nơi
Kiro chạy cùng một agent engine trên IDE, CLI, Web, và Mobile. Bạn cấu hình steering một lần, nó hoạt động giống hệt ở mọi nơi. Bắt đầu session trên laptop, check tiến độ trên điện thoại, pick up lại trên web, vẫn cùng một cuộc hội thoại, cùng một context.
Vibe coding không chết, nó được thuần hóa
Có một điều quan trọng cần nói rõ: vibe coding không sai, và nó không biến mất.
Kiro vẫn cho phép bạn chat tự do với default agent, và đó chính là vibe coding. Prototyping, hỏi đáp nhanh, thử ý tưởng, vibe coding vẫn là vũ khí tốt nhất.
Nhưng khi bạn muốn:
- Biến prototype thành production
- Làm việc theo team
- Maintain codebase qua nhiều tháng
- Pass audits, security reviews
- Scale lên hàng trăm nghìn dòng code
thì bạn cần nhiều hơn vibes. Bạn cần structure.
Cách mình hay nghĩ về nó: vibe coding là jazz improvisation, tự do, sáng tạo, đẹp khi đúng khoảnh khắc. Spec-driven development là dàn nhạc giao hưởng, mỗi nhạc công có bản nhạc, có nhạc trưởng, có tổng phổ. Cả hai đều là âm nhạc. Nhưng bạn không improvise khi đang biểu diễn Beethoven’s 9th trước 2.000 người.
Bức tranh lớn: Sáu thập kỷ và một vòng xoay
Trong blog post nền tảng của Kiro, đội ngũ AWS nhìn lại lịch sử 60 năm lập trình:
- 1950s-1960s: Assembly lên ngôn ngữ bậc cao. Cách mạng năng suất đầu tiên.
- 1970s-2020s: Nhiều nỗ lực nâng abstraction cao hơn. Hầu hết thất bại, trừ vài thành công niche (SQL là ví dụ kinh điển).
- 2025: Vibe coding. Lần đầu tiên có thể “nói” cho máy làm. Nhưng vẫn prompt-by-prompt, step-by-step.
- 2026 trở đi: Spec-driven và Agentic Engineering. Nâng abstraction lên mức outcome (kết quả mong muốn), không còn implementation (chi tiết cài đặt).
SQL đã chứng minh mô hình “nói what, không nói how” hoạt động, nhưng chỉ trong phạm vi database. Agentic engineering đang cố mở rộng mô hình đó ra toàn bộ phát triển phần mềm.
Tạm kết
Không phải “vibe coding hay spec-driven”, mà là “khi nào dùng gì”
Nếu bạn đang đọc bài này, có lẽ bạn đã trải qua cảm giác phấn khích của vibe coding. Và có thể cả sự bực bội khi codebase bắt đầu vượt ngoài tầm kiểm soát.
Đây là framework đơn giản:
- Dùng vibe coding khi: validate ý tưởng nhanh, prototype, hackathon, side project nhỏ, chi phí bugs thấp
- Chuyển sang spec-driven khi: đưa vào production, làm team, maintain lâu dài, cần audit trail, scale codebase
“Sau vibe coding thì gì?” không phải là quay lại viết code bằng tay từng dòng. Mà là giữ lại tốc độ của AI, thêm vào kỷ luật của engineering.
Viết ra ý định. Phê duyệt kế hoạch. Để agent thực thi. Verify bằng tests. Lưu mọi quyết định trong version control.
Đó là agentic engineering. Đó là “sau vibe coding”. Và nó đang diễn ra ngay bây giờ.
Tham khảo
- Kiro – Move beyond AI coding to agentic engineering
- Kiro and the future of AI spec-driven software development
- One agent, every surface: how we built the Kiro agent harness
- Kiro Documentation
- Vibe Coding vs Spec-Driven Development (2026) – Augment Code
- The Vibe Coding Productivity Paradox – Forbes
- AI coding tools can slow down seasoned developers by 19% – InfoWorld
- Agentic Software Development Is The Future – Forrester
- What is Agentic Engineering? – IBM
- What is Vibe Coding? – IBM
- Vibe Coding definition – Google Cloud
- Agentic AI in software engineering – Deloitte
- Vibe Coding’s Three-Month Wall – Joey Hipolito
Cảm ơn bạn đã đọc bài viết này!
Related Posts:
Written by chuotfx
Hãy ngồi xuống, uống miếng bánh và ăn miếng trà. Chúng ta cùng nhau đàm đạo về đời, về code nhóe!
Leave a Reply Cancel reply
Fan page
Tags
Recent Posts
- Sau Vibe Coding thì gì?
- Tui Học AI – 3 cái bẫy khiến bạn tưởng đã lên bậc nhưng chưa
- Vibe Coding 2026 – Essentials: Sách miễn phí cho Tester, PM, BA – Ebook
- Tui Học AI – Bài 7 – “Tôi điều phối AI” → “Tôi thiết kế hệ thống AI tự vận hành, kể cả khi hỏng”
- Tui Học AI – Bài 6 – “Tôi làm với 1 AI” → “Tôi điều phối nhiều AI song song”
- Tui Học AI – Bài 5 – “Tôi xài AI lẻ tẻ” → “Tôi đóng gói AI thành sản phẩm dùng chung”
- Prompt Engineering đang được Context Engineering hấp thụ
- Bắt đầu với Loop Engineering
- Tui Học AI – Bài 4 – “Tôi dùng AI thủ công” → “Tôi xây hạ tầng để AI tự chạy”
- Guided Generation – Khi Swift type trở thành hợp đồng với model
You may also like:
Archives
- August 2026 (2)
- July 2026 (7)
- June 2026 (13)
- May 2026 (2)
- April 2026 (5)
- March 2026 (5)
- February 2026 (1)
- January 2026 (10)
- December 2025 (1)
- October 2025 (1)
- September 2025 (4)
- August 2025 (5)
- July 2025 (10)
- June 2025 (1)
- May 2025 (2)
- April 2025 (1)
- March 2025 (8)
- January 2025 (7)
- December 2024 (4)
- September 2024 (1)
- July 2024 (1)
- June 2024 (1)
- May 2024 (4)
- April 2024 (2)
- March 2024 (5)
- January 2024 (4)
- February 2023 (1)
- January 2023 (2)
- November 2022 (2)
- October 2022 (1)
- September 2022 (5)
- August 2022 (6)
- July 2022 (7)
- June 2022 (8)
- May 2022 (5)
- April 2022 (1)
- March 2022 (3)
- February 2022 (5)
- January 2022 (4)
- December 2021 (6)
- November 2021 (8)
- October 2021 (8)
- September 2021 (8)
- August 2021 (8)
- July 2021 (9)
- June 2021 (8)
- May 2021 (7)
- April 2021 (11)
- March 2021 (12)
- February 2021 (3)
- January 2021 (3)
- December 2020 (3)
- November 2020 (9)
- October 2020 (7)
- September 2020 (17)
- August 2020 (1)
- July 2020 (3)
- June 2020 (1)
- May 2020 (2)
- April 2020 (3)
- March 2020 (20)
- February 2020 (5)
- January 2020 (2)
- December 2019 (12)
- November 2019 (12)
- October 2019 (19)
- September 2019 (17)
- August 2019 (10)








