10 Bài học về Lập trình với AI Agent: Chúng ta nên làm gì khi viết mã trở nên rẻ tiền?
Bài viết chia sẻ 10 bài học kinh nghiệm khi làm việc với các AI Agent lập trình, nhấn mạnh rằng việc tạo ra mã nguồn ngày càng dễ dàng và rẻ tiền. Tuy nhiên, tác giả cũng lưu ý tầm quan trọng của bảo trì, bảo mật và việc ghi lại ý định ban đầu để tối ưu hóa quy trình phát triển phần mềm.

10 Bài học về Lập trình với AI Agent: Chúng ta nên làm gì khi viết mã trở nên rẻ tiền?
Gần đây, khái niệm "Agentic Coding" (lập trình dựa trên tác nhân AI) đang trở thành tâm điểm chú ý trên các diễn đàn công nghệ. Các mô hình AI tiên phong hiện nay thực hiện viết code cực kỳ tốt, thậm chí vượt trội so với khả năng thực hiện các nhiệm vụ khác. Việc cộng tác cùng các tác nhân AI này giống như một bản xem trước của tương lai, nơi chúng ta khám phá giới hạn của công nghệ. Nó vừa thú vị, vừa mang lại phần thưởng lớn, nhưng cũng đầy những điều kỳ lạ.
Người dùng đang cuộn trang trên điện thoại
Tôi đã duy trì một danh sách các mẹo cho lập trình dạng này: những hướng dẫn hoặc quy tắc mà ai đó mới bắt đầu với Codex, Claude Code, Pi hoặc bất kỳ tác nhân nào khác có thể cần. Lý tưởng nhất là mỗi mẹo đều là lời khuyên chung chung, phù hợp với bất kỳ lập trình dựa trên tác nhân nào. Tôi cũng đang tìm kiếm những bài học bền vững sẽ tồn tại ngay cả khi các mô hình và công cụ điều khiển (harnesses) được cải thiện.
Dưới đây là danh sách hiện tại của tôi: 10 Bài học cho Agentic Coding. Con số 10 là một con số đẹp tròn; một thời điểm tốt để chia sẻ những điều này.
Để rõ ràng: Tôi chỉ nhận công lao về việc mài giũa và biên soạn các hướng dẫn này. Như Kshetrajna Raghavan đã nói với tôi hôm nay: "Thật điên rồ khi chúng ta đều đang đi đến những bài học tương tự nhau."
1. Triển khai để học hỏi (Implement to learn)
Bạn có thể đi xa với Phát triển dựa trên đặc tả (Spec-Driven Development), nhưng hành động viết code thực tế sẽ hé lộ những quyết định bạn chưa từng nghĩ đến và làm cho đặc tả của bạn tốt hơn. Khi code trở nên rẻ, hãy triển khai để học hỏi.
2. Xây dựng lại thường xuyên (Rebuild often)
Hãy triển khai sớm và thường xuyên để học hỏi nhiều hơn. Hãy thử nghiệm các ý tưởng điên rồ bằng cách tạo nhánh (fork) và viết lại mã. Tìm hiểu xem bạn có thể đẩy tính năng đi xa đến đâu. Tất nhiên, bạn muốn lặp lại và cộng hưởng nỗ lực của mình, nhưng code rẻ có nghĩa là bạn có thể do thám và phát minh lại theo những cách chưa từng có.
3. Đầu tư vào kiểm thử đầu cuối (Invest in end-to-end tests)
Khi chúng ta có thể tái tạo code của mình một cách rẻ tiền, chúng ta nên dành thời gian viết các bài kiểm tra đo lường chức năng của sản phẩm, thay vì cách nó thực hiện chúng. Chúng ta muốn những "hợp đồng hành vi" trao cho chúng ta sự tự do để xây dựng lại và triển khai lại.
4. Ghi lại ý định (Document intent)
Các bài kiểm tra chi tiết mục tiêu của bạn trong khi code mã hóa phương pháp của bạn, nhưng không cái nào nắm bắt được "tại sao". Ý định của bạn thúc đẩy các quyết định, và việc lưu giữ nó cùng với code giúp bạn và tác nhân của bạn cộng hưởng các quyết định đó theo một hướng nhất quán.
5. Giữ đặc tả đồng bộ (Keep your specs in sync)
Cập nhật các đặc tả của bạn, các tệp markdown chứa mục tiêu và kế hoạch, khi bạn phát triển code và các bài kiểm tra của mình. Nếu coi đặc tả là một hiện vật đóng băng được viết trước khi công việc bắt đầu, bạn sẽ thất bại trong việc nắm bắt những bài học trong quá trình triển khai. Giữ cho nó luôn mới sẽ giúp nó liên tục thông báo cho các lựa chọn của bạn và các tác nhân, đồng thời giúp việc xây dựng lại thường xuyên dễ dàng hơn.
6. Tìm ra những thứ khó khăn (Find the hard stuff)
Làm việc trên một dự án đủ lâu và mọi thứ sẽ không còn dễ dàng. Bạn sẽ nhanh chóng vượt qua các công việc mẫu (boilerplate), các quyết định thiết kế rõ ràng, và bắt đầu gặp phải những công việc xấu xí, khó khăn: thiết kế trực quan, hiệu suất, bảo mật, khả năng phục hồi và kiến trúc hệ thống. Bất kỳ ai cũng có thể làm những thứ dễ dàng. Giá trị thực sự nằm ở những công việc khó khăn. Hãy tìm nó và đào sâu vào đó.
7. Tự động hóa mọi thứ dễ dàng (Automate everything that’s easy)
Để dành nhiều thời gian hơn cho những việc khó, hãy giảm thiểu thời gian dành cho những việc dễ. Chắt lọc bài học thành kỹ năng, xây dựng các vòng lặp, tự động hóa review code, và để công cụ của bạn cộng hưởng. Nhưng hãy cẩn thận: đừng bị mắc kẹt trong một "Ngôi nhà bí ẩn" (Mystery House).
8. Rèn luyện gu thẩm mỹ (Develop your taste)
Khi code đến nhanh nhưng phản hồi thì không, nguồn phản hồi duy nhất kịp thời là chính bạn. Bạn càng hiểu rõ lĩnh vực của mình, người dùng và vấn đề của họ, bạn càng có thể đi xa hơn mà không cần kiểm tra liên tục.
9. Tác nhân khuếch đại kinh nghiệm (Agents amplify experience)
Các nhà phát triển tài năng thường đánh giá thấp trực giác mà họ mang vào các câu lệnh (prompts): đúng thuật ngữ, đúng cách diễn đạt và đúng mức độ cụ thể. Nếu bạn hiểu rõ stack công nghệ của mình, bạn có thể tiết kiệm vô số chu kỳ trong cả triển khai và gỡ lỗi, đồng thời giảm thiểu sự khám phá lãng phí của tác nhân. Kết hợp chuyên môn kỹ thuật với gu thẩm mỹ tuyệt vời để tạo ra lợi thế không thể đánh bại.
10. Code rẻ, nhưng bảo trì, hỗ trợ và bảo mật thì không
Code do tác nhân tạo ra giống như "miễn phí như một chú cún con" (free as in puppies). Việc hỗ trợ không rẻ và bảo mật cũng vậy. Hãy xây dựng nhanh, nhưng hãy chú ý đến gánh nặng bảo trì mà bạn đang gánh vác.
"Code is cheap, but maintenance, support, and security aren’t."
Khi mã nguồn có thể được tạo ra trong tích tắc, vai trò của lập trình viên sẽ chuyển dịch từ việc viết từng dòng code sang việc kiến tạo kiến trúc, định hướng và đảm bảo chất lượng hệ thống. Đây là lúc kỹ năng mềm và tư duy hệ thống trở nên quan trọng hơn bao giờ hết.
Bài viết liên quan

Phần mềm
NHS yêu cầu chuyển hàng trăm kho lưu trữ GitHub sang chế độ riêng tư vì lo ngại về AI và bảo mật
05 tháng 5, 2026

Phần mềm
Async Rust chưa bao giờ thoát khỏi trạng thái MVP: Vấn đề bloat và giải pháp tối ưu hóa
05 tháng 5, 2026

Công nghệ
NetHack 5.0 ra mắt: Bản cập nhật lớn đầu tiên sau 11 năm cho tựa game kinh điển
05 tháng 5, 2026
