Dạy Trí Tuệ Nhân Tạo Thực Hiện TDD Một Cách Nghiêm Túc

07 tháng 4, 2026·3 phút đọc

Bài viết phân tích cách để một AI lập trình tuân thủ nghiêm túc phương pháp Phát triển theo Kiểm thử (TDD), từ việc xác định đơn vị nguyên tử của công việc đến kiểm soát truy xuất giữa tiêu chí nghiệm thu và bài kiểm thử trước khi hợp nhất mã nguồn.

Dạy Trí Tuệ Nhân Tạo Thực Hiện TDD Một Cách Nghiêm Túc

Dạy Trí Tuệ Nhân Tạo Thực Hiện TDD Một Cách Nghiêm Túc

Phát triển phần mềm với AI không chỉ đòi hỏi AI có khả năng viết mã mà còn phải tuân thủ kỷ luật lập trình, đặc biệt là phương pháp Phát triển theo Kiểm thử (TDD). Bài viết khám phá các bước cụ thể để tạo ra một agent AI có thể áp dụng TDD một cách nghiêm túc, khác biệt với việc chỉ "đánh dấu có làm TDD" một cách hình thức.

Vấn đề với chỉ dẫn chung chung: "Chỉ bảo làm TDD"

Ở bước đầu, tác giả nhận ra rằng việc ra lệnh chung chung như "làm theo TDD" không đủ để AI hành động đúng. Kết quả là agent viết toàn bộ test rồi code một mạch, rồi khẳng định rằng đã dùng TDD, dù thực tế quy trình không được tuân thủ.

Giải pháp là phải xác định đơn vị nguyên tử của công việc:

  • Viết chính xác một bài test thất bại.
  • Viết mã đủ để bài test đó thành công.
  • Commit thay đổi.
  • Chỉ sau khi hoàn tất các bước trên mới tiếp tục viết test kế tiếp.

Đề ra ranh giới rõ ràng giúp AI duy trì nhịp độ phát triển nhỏ, phát hiện sớm các vấn đề thiết kế, và dễ dàng kiểm tra lại qua lịch sử commit—vừa là kỹ thuật vừa là biện pháp quản lý.

Chia nhỏ công việc theo lát cắt dọc dưới dạng kịch bản BDD

Thay vì chia câu chuyện thành các lớp theo chiều ngang (ví dụ: mở rộng DB, service, controller, UI theo thứ tự), tác giả đề xuất chia thành các lát cắt dọc theo kịch bản hành vi (BDD). Mỗi tác vụ có dạng:

Given [trạng thái ban đầu]
When [hành động của người dùng hoặc hệ thống]
Then [kết quả quan sát được]
Hint: [layer cần thao tác và hướng xử lý sơ bộ]

Cách làm này giúp AI hoặc lập trình viên luôn tập trung vào hành vi người dùng quan sát được, thay vì cấu trúc kỹ thuật bên trong. Phần "hint" vừa cung cấp định hướng kỹ thuật cần thiết mà không bóp nghẹt sự sáng tạo trong giải pháp.

Đặc biệt, kịch bản này đồng thời là bài test nên không có khoảng cách giữa việc hoàn thành nhiệm vụ và viết test tương ứng.

Đảm bảo truy xuất tiêu chí nghiệm thu trước khi merge

Yếu tố tiếp theo giúp tăng tính kỷ luật trong AI agent là truy xuất tiêu chí nghiệm thu (Acceptance Criterion - AC). Trước khi tạo pull request, AI phải cung cấp bảng ánh xạ rõ ràng từ tiêu chí nghiệm thu đến bài test tương ứng.

Nếu một tiêu chí nào đó chưa có test bao phủ, thì câu chuyện chưa hoàn thành và không được merge. Đây là rào cản bắt buộc, thay vì chỉ là lời khuyên, nhằm đảm bảo chất lượng và tính minh bạch trong quá trình phát triển phần mềm.

Bài học rút ra

Mẫu hình phát triển kỷ luật mà tác giả đề xuất không chỉ giới hạn cho agent AI mà còn có thể áp dụng cho các đội ngũ phát triển phần mềm truyền thống.

  • Việc chuyển từ các quy ước không rõ ràng thành các ràng buộc rõ ràng, có thể kiểm tra giúp đảm bảo quy trình làm việc bền vững.
  • Đặc biệt khi phối hợp với các trợ lý lập trình AI, đầu tư thời gian để cấu hình và định nghĩa các luật lệ tỉ mỉ sẽ giúp giảm đáng kể khối lượng công việc kiểm tra, review thủ công.

Như vậy, khi làm việc cùng AI trong lập trình, sự nghiêm túc về quy trình không chỉ là “tin tưởng” mà phải được quy chuẩn cụ thể, rõ ràng và luôn kiểm chứng được.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗