Phương pháp phát triển trong kỷ nguyên AI (SDD+TDD)
(app-place-tech.com)Khi tốc độ AI tạo ra mã vượt qua tốc độ con người có thể hiểu, vai trò của lập trình viên đang chuyển từ "người viết mã" sang "kiến trúc sư định nghĩa và kiểm chứng ý đồ". Bài viết này đề xuất sự kết hợp giữa SDD(Spec-Driven Development) và TDD như một mẫu kiến trúc cốt lõi.
- Sự trỗi dậy của SDD(phát triển hướng đặc tả)
Bối cảnh: Sự bùng nổ năng suất tạo mã do AI khiến "con người dẫn dắt/đánh giá" trở thành nút thắt cổ chai. Thay vì bản thân mã nguồn, "ý đồ rõ ràng (Spec)" trở thành tài sản quan trọng nhất.
Khái niệm: Dùng bản đặc tả yêu cầu được tinh chỉnh tốt làm prompt cho AI agent đồng thời là một "artifact có thể thực thi". Nó đóng vai trò mặt phẳng điều khiển (Control Plane) để ngăn chặn từ gốc những triển khai đi chệch khỏi đặc tả.
- Hiệp lực với TDD (Spec = Test Case)
Guardrail: Để ngăn ảo giác (Hallucination) và những bước nhảy logic của AI, cần định nghĩa mã kiểm thử trước khi triển khai để giới hạn sự sáng tạo của AI trong phạm vi yêu cầu.
Quy trình làm việc: Tạo kiểm thử dựa trên đặc tả (Red) → AI tự động triển khai (Green) → AI hỗ trợ cải tiến thiết kế (Refactor).
Tích hợp: Đặc tả trở thành kiểm thử, và việc kiểm thử thất bại lại tiếp tục bổ sung cho đặc tả, hình thành một vòng tuần hoàn tích cực.
- Tư duy mới của lập trình viên
Thay đổi vai trò: Chuyển từ "thợ xây gạch" sang "người chỉ huy/kiến trúc sư" điều phối hệ thống.
Năng lực cốt lõi: 1. Tầm nhìn để định nghĩa giá trị bản chất của sản phẩm.
2. Năng lực thiết kế cấu trúc mô-đun có tính sẵn sàng cao.
3. Kiến thức miền đủ sâu để có thể rà soát phản biện (Discrimination) các kết quả do AI tạo ra.
Kết luận: Hãy giao phần triển khai chi tiết (How) cho AI, còn lập trình viên cần trở thành "nhạc trưởng hệ thống" định nghĩa và kiểm chứng các bất biến của hệ thống cùng ý đồ của logic nghiệp vụ (What/Why).
1 bình luận
Cảm giác không phải AI thay thế lập trình viên, mà là nó đang khiến (một số) lập trình viên bị đào thải và giúp phát hiện ra (một số) lập trình viên.