Giao diện
Spec Kit là gì?
Trước khi bắt đầu
- Cần biết: bạn đã từng dùng một công cụ AI lập trình ở mức cơ bản
- Cần có: không cần cài gì cho trang này; bạn chỉ cần đọc
- Cần đang ở: bất kỳ đâu, không cần mở terminal
1. Vấn đề Spec Kit giải quyết
Cách làm quen thuộc là mở khung chat của công cụ AI và gõ một câu mô tả điều mình muốn. Cách đó chạy được với việc nhỏ. Khi việc lớn dần, ba vấn đề xuất hiện:
- Prompt rời rạc. Mỗi lần bạn gõ một câu, công cụ chỉ thấy câu đó. Không có chỗ nào ghi lại ý định ban đầu của bạn để đối chiếu về sau.
- Thiếu cấu trúc. Không có bước nào buộc bạn nói rõ "cái gì" và "vì sao" trước khi công cụ nhảy vào "làm thế nào". Kết quả là công cụ tự chọn kiến trúc thay bạn.
- Không truy vết được. Khi mã nguồn sai, bạn không có tài liệu nào để trả lời câu "yêu cầu gốc là gì". Bạn chỉ còn một đoạn chat dài.
Spec Kit đặt cấu trúc lên trên cách bạn làm việc với công cụ AI. Thay vì một câu prompt, bạn đi qua các bước có thứ tự, mỗi bước tạo ra một tệp Markdown làm đầu vào cho bước sau.
2. Spec Kit không phải ứng dụng độc lập
Đây là điểm hiểu nhầm phổ biến nhất. Spec Kit không phải một ứng dụng bạn tải về, mở lên, rồi làm việc bên trong nó. Nó cũng không phải một công cụ AI.
Spec Kit là một bộ quy trình (process kit) gồm ba phần:
- Một công cụ dòng lệnh tên
specify, bạn chạy một lần trong mỗi dự án để khởi tạo. - Một bộ tệp mẫu và hướng dẫn được đặt vào dự án, nằm trong thư mục
.specify/. - Một bộ skill được cài vào công cụ AI của bạn, gọi bằng cú pháp
/speckit-<tên>.
Nói cách khác: bạn vẫn làm việc trong công cụ AI như bình thường. Spec Kit chỉ đưa cho công cụ đó một quy trình rõ ràng và một chỗ để ghi lại ý định của bạn.
3. Phát triển hướng đặc tả là gì
Phát triển hướng đặc tả (Spec-Driven Development, viết tắt SDD) là cách làm mà ở đó bản đặc tả (specification) là trung tâm, không phải mã nguồn.
Cách hiểu truyền thống: mã nguồn là sản phẩm thật, còn đặc tả chỉ là giàn giáo dựng lên rồi bỏ đi khi bắt đầu viết code. SDD đảo ngược điều đó. Đặc tả được viết trước, được giữ lại, và trở thành thứ mà mọi bước sau phải khớp theo.
Ở mức khái niệm, SDD dựa trên bốn ý:
- Ý định dẫn đường: đặc tả định nghĩa "cái gì" và "vì sao" trước khi bàn "làm thế nào".
- Đặc tả có khuôn mẫu: bạn viết theo mẫu có sẵn, kèm nguyên tắc của tổ chức, thay vì viết tự do.
- Tinh chỉnh qua nhiều bước: kết quả không đến từ một câu prompt duy nhất, mà từ chuỗi bước có thể xem lại và sửa.
- Dựa nhiều vào mô hình AI: công cụ AI đọc đặc tả và sinh ra kế hoạch (plan), công việc, rồi mã nguồn.
Bạn sẽ hiểu sâu hơn về SDD ở trang Hiểu về SDD, sau khi đã tự tay chạy một lần.
4. Ba lợi ích cụ thể
Lợi ích 1: Mỗi bước để lại một tệp đọc được. Bước tạo đặc tả ghi ra spec.md. Bước lập kế hoạch ghi ra plan.md và research.md. Bước chia việc ghi ra tasks.md. Bạn mở tệp bằng bất kỳ trình soạn thảo nào cũng đọc được, không cần công cụ đặc biệt.
Lợi ích 2: Có cổng chất lượng trước khi viết mã. Lệnh /speckit-clarify hỏi bạn những chỗ còn mơ hồ và ghi câu trả lời ngược lại vào spec.md. Lệnh /speckit-analyze đọc spec.md, plan.md, tasks.md và báo cáo chỗ mâu thuẫn; nó chỉ đọc, không sửa tệp. Nhờ vậy bạn phát hiện lệch hướng trước khi công cụ AI viết hàng nghìn dòng mã.
Lợi ích 3: Không bị khóa vào một công cụ AI. Spec Kit có 38 tích hợp công cụ AI chính thức, trong đó DeepSeek Harness (DSH) là một tích hợp chính thức với key dsh. Bạn đổi công cụ AI bằng cách chạy lại specify init với integration khác, còn quy trình và tệp trong dự án giữ nguyên. Ngoài ra cộng đồng đã đóng góp 157 tiện ích mở rộng (extension), nên bạn mở rộng quy trình mà không phải tự viết từ đầu.
5. Khi nào nên dùng
Nên dùng Spec Kit khi:
- Bạn xây một tính năng hoặc ứng dụng mới, việc kéo dài hơn một buổi làm.
- Bạn cần nhiều người cùng hiểu một yêu cầu, và cần một tệp để mọi người đọc chung.
- Bạn muốn công cụ AI viết mã đúng ý định, thay vì đoán ý định.
- Bạn cần lưu lại lý do đằng sau một quyết định kỹ thuật để tra về sau.
6. Khi nào không nên dùng
Không nên dùng Spec Kit khi:
- Bạn sửa một dòng lỗi chính tả hoặc đổi một hằng số. Quy trình sẽ dài hơn việc cần làm.
- Bạn đang thử nghiệm nhanh một ý tưởng để xem nó có khả thi không, và bạn chấp nhận vứt mã đi. Hãy thử trước, rồi áp dụng Spec Kit khi ý tưởng đã đứng vững.
- Bạn cần trả lời "có nên đầu tư vào ý tưởng này không" — đó là việc của quy trình đánh giá, không phải của quy trình xây dựng tính năng.
Kết quả
Sau khi hoàn thành trang này, bạn đã:
- Phân biệt được Spec Kit là bộ quy trình cho công cụ AI, không phải ứng dụng độc lập
- Hiểu Phát triển hướng đặc tả ở mức khái niệm
- Biết ba lợi ích cụ thể và hai tình huống không nên dùng Spec Kit
Cách tự xác nhận: tự trả lời hai câu không cần mở lại trang. Một, việc cài đặt Spec Kit làm ở đâu? Hai, lệnh /speckit-specify gõ ở đâu? Nếu bạn trả lời được "cài ở terminal, gõ trong khung chat của công cụ AI", bạn đã nắm đúng điểm quan trọng nhất. Trang kế tiếp là Cài đặt.
Nguồn tham chiếu: GitHub Spec KitPhiên bản kiểm chứng: Spec Kit 1.1.3