Cách viết robust code với Claude Code và AI Coding Agent

Các công cụ như Claude Code hay những AI coding agent hiện đại đang giúp developer tạo ứng dụng nhanh hơn rất nhiều. Chỉ với vài prompt, người dùng đã có thể sinh ra cả một project hoạt động tương đối hoàn chỉnh mà gần như không cần tự viết toàn bộ code bằng tay.

Tuy nhiên, tốc độ luôn đi kèm đánh đổi. Khi ứng dụng được tạo quá nhanh, phần lớn developer sẽ không còn thời gian để đọc và kiểm tra toàn bộ code như trước. Điều này thực ra không phải vấn đề quá lớn trong đa số trường hợp, bởi coding agent hiện nay đã đủ mạnh để tự xử lý khá nhiều phần implementation một cách đáng tin cậy. Trừ khi bạn đang xây hệ thống safety-critical hoặc yêu cầu độ chính xác cực cao, việc đọc từng dòng code không còn luôn cần thiết nữa.

Nếu không có quy trình phù hợp, code được tạo bởi AI rất dễ gặp vấn đề về robustness — tức khả năng hoạt động ổn định trong nhiều tình huống khác nhau. Ứng dụng có thể chạy tốt ở điều kiện bình thường nhưng dễ lỗi khi gặp edge case hoặc thay đổi context.

Bài viết này tập trung vào các kỹ thuật giúp tăng độ ổn định của code khi làm việc với Claude Code và AI coding agent, đặc biệt trong trường hợp developer không trực tiếp review toàn bộ source code bằng tay.

Vì sao robust code quan trọng hơn bao giờ hết?

Robust Code (Mã nguồn mạnh mẽ/bền vững) là thuật ngữ trong khoa học máy tính chỉ các đoạn mã được thiết kế, xây dựng để có khả năng chịu đựng, xử lý tốt các tình huống bất ngờ, lỗi thực thi hoặc đầu vào sai (invalid input) mà không bị sập (crash) hay dừng hoạt động hoàn toàn.

Đây gần như là câu hỏi mang tính “hiển nhiên”. Ai cũng muốn sản phẩm hoạt động ổn định hơn vì điều đó trực tiếp ảnh hưởng tới trải nghiệm người dùng. Ứng dụng càng ít lỗi, trải nghiệm tổng thể càng tốt.

Tuy nhiên, một câu hỏi khác cũng thường xuất hiện: nếu muốn code robust hơn, tại sao không tự đọc và chỉnh sửa toàn bộ code cho chắc chắn?

Có hai lý do khá thực tế. Đầu tiên là tốc độ phát triển sản phẩm. Nếu muốn duy trì nhịp độ build nhanh với AI coding agent, gần như không thể dành thời gian review từng dòng code như cách lập trình truyền thống.

Lý do thứ hai là coding agent hiện nay đã cải thiện rất nhiều. Nếu được prompt đúng cách, chúng hoàn toàn có thể tự phát hiện vấn đề và sinh ra code đáng tin cậy hơn mà không cần quá nhiều can thiệp thủ công từ con người.

Chính vì vậy, thay vì cố gắng kiểm soát mọi thứ bằng tay, mục tiêu nên là xây workflow giúp AI tự tăng robustness của code nhiều nhất có thể.

Muốn code ổn định, hãy đầu tư cho giai đoạn planning

Kỹ thuật đầu tiên cần nhấn mạnh là sử dụng “plan mode”. Đây là một trong những tính năng quan trọng nhất nếu muốn khai thác tối đa sức mạnh của coding agent. Thay vì bắt đầu implementation ngay lập tức, plan mode buộc AI dành thêm thời gian để suy nghĩ về kiến trúc và cách triển khai tổng thể trước khi viết code.

Điều này đặc biệt hữu ích vì rất nhiều bug xuất hiện khi một component được sửa mà vô tình phá vỡ logic ở component khác. Khi có thêm thời gian planning, model thường nhìn được “bức tranh lớn” tốt hơn và ít tạo ra side effect ngoài ý muốn hơn.

Một điểm thú vị khác là plan mode thường khiến AI chủ động hỏi ngược lại người dùng để làm rõ ambiguity. Theo tác giả, đây là khả năng cực kỳ mạnh nhưng nhiều người chưa tận dụng đủ.

Thay vì liên tục đặt câu hỏi cho AI, hãy để AI đặt câu hỏi cho bạn. Cách làm này giúp model tự suy nghĩ nhiều hơn và chỉ quay lại khi thực sự cần clarify requirement hoặc hiểu rõ hơn mục tiêu implementation.

Dù planning ban đầu khiến workflow chậm hơn đôi chút, tác giả cho rằng lợi ích dài hạn lớn hơn rất nhiều vì bug ít hơn và số vòng lặp chỉnh sửa sau implementation giảm đáng kể.

Markdown file có thể trở thành “trí nhớ dài hạn” cho ai agent

Một kỹ thuật khác cực kỳ hiệu quả là duy trì hệ thống markdown file bên trong repository. Theo thời gian, khi làm việc với coding agent, số lượng file markdown nên tăng dần để ghi lại:

  • Cách agent cần hoạt động trong project
  • Bug từng xuất hiện
  • Cách bug được sửa
  • Các lưu ý kỹ thuật quan trọng

Điểm đặc biệt là coding agent hiện đại thường có đủ context để chủ động đọc và tận dụng những tài liệu này trong session mới. Điều đó giúp agent tránh lặp lại các quyết định sai mà nó từng mắc trước đây.

Đây có lẽ là mẹo số một giúp coding với AI hiệu quả hơn. Sau mỗi chat thread với coding agent, nên yêu cầu AI tự tổng quát hóa kiến thức vừa học được thành markdown note lưu trong repo. Tương tự, mỗi khi phát hiện bug và sửa thành công, nên lưu lại mô tả lỗi cùng cách fix.

Nếu làm đều đặn, repository sẽ dần trở thành knowledge base rất mạnh, giúp AI coding agent ngày càng hiểu project tốt hơn và ít tạo lỗi hơn theo thời gian.

Context Window quá dài có thể làm AI viết code tệ hơn

Một quan điểm khá thú vị trong bài viết là: context window quá lớn đôi khi lại khiến coding agent hoạt động kém hiệu quả hơn.

Ví dụ, Claude Code hiện đã hỗ trợ context lên tới 1 triệu token. Con số này nghe rất ấn tượng, nhưng theo kinh nghiệm thực tế của tác giả, hiệu suất model thường giảm mạnh sau khoảng 300.000–400.000 token.

Nguyên nhân là vì khi context quá dài, model phải xử lý rất nhiều thông tin “nhiễu” không thực sự liên quan tới task hiện tại. Và với LLM, việc phân biệt đâu là noise, đâu là thông tin quan trọng không phải lúc nào cũng dễ dàng.

Kết quả là AI dễ đưa ra decision kém chính xác hơn và tạo code dễ lỗi hơn.

Chính vì vậy, trừ khi thực sự cần giữ nhiều context đặc biệt, tác giả khuyến nghị nên làm việc với context nhỏ và sạch hơn để coding agent hoạt động hiệu quả hơn.

Hãy để ai review code của chính AI

Dù planning tốt tới đâu, coding agent vẫn sẽ mắc lỗi. Đó là lý do cần nhấn mạnh tầm quan trọng của bước verification sau implementation.

Một trong những cách đơn giản nhưng hiệu quả nhất là dùng AI khác để review code do AI tạo ra.

Workflow được đề xuất khá rõ ràng: tạo một coding agent mới với context sạch, sau đó yêu cầu nó phân tích pull request và tìm potential bug.

Điều thú vị là prompt dành cho “review agent” cũng nên được cải tiến theo thời gian. Ví dụ, bạn có thể thêm thông tin về các bug từng xuất hiện trước đây, cách chúng được phát hiện và cách fix để agent review ngày càng thông minh hơn.

Việc dùng model khác để review đôi khi cũng mang lại kết quả tốt hơn. Ví dụ, nếu code được viết bằng Claude Code, có thể dùng GPT hoặc Gemini để review. Vì các model “suy nghĩ” theo cách khác nhau, chúng đôi khi phát hiện được những lỗi mà model ban đầu bỏ sót.

Pre-Commit detection vẫn là “lớp phòng thủ” rất quan trọng

Cũng cần nhắc tới pre-commit hook — cơ chế chạy kiểm tra tự động trước mỗi lần commit code.

Đây là kỹ thuật đã tồn tại từ lâu nhưng vẫn cực kỳ hữu ích trong thời đại AI coding. Ví dụ, nhiều codebase có pre-commit hook để kiểm tra translation missing hoặc static error trước khi commit được tạo. Điều này giúp phát hiện lỗi ngay lập tức thay vì chờ tới code review hoặc production.

Tuy nhiên, không phải lỗi nào cũng có thể detect bằng static rule. Trong những trường hợp đó, bạn dùng AI agent như một “pre-commit reviewer” nhanh trước khi commit. Cách làm rất đơn giản: yêu cầu agent đi qua implementation vừa tạo và tự hỏi:

“Code này đã production-ready chưa?”

Nghe có vẻ đơn giản, nhưng theo tác giả, câu hỏi này đôi khi giúp phát hiện khá nhiều lỗi tiềm ẩn trước khi code đi xa hơn trong pipeline phát triển.

Tương lai của coding agent không chỉ là “viết code”

Coding agent đã cải thiện rất mạnh kể từ sau thời điểm ChatGPT xuất hiện năm 2022. Tuy nhiên, chúng vẫn dễ mắc lỗi nếu không được sử dụng đúng cách. Tương lai của AI coding sẽ không chỉ nằm ở việc model thông minh hơn, mà còn ở khả năng “tuning workflow” để AI hoạt động hiệu quả nhất có thể.

Những kỹ thuật như planning, knowledge base markdown, context management, AI code review hay pre-commit verification nhiều khả năng vẫn sẽ rất quan trọng ngay cả khi chất lượng LLM tiếp tục tăng mạnh trong vài năm tới.

Bởi cuối cùng, mục tiêu không chỉ là viết code nhanh hơn — mà là viết code đủ nhanh nhưng vẫn đủ ổn định để dùng thực tế.

Thứ Bảy, 23/05/2026 14:35
31 👨
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ AI cho Lập trình