GitHub Spec Kit: Làm việc với AI coding agent có quy trình hơn

GitHub Spec Kit: Làm việc với AI coding agent có quy trình hơn - 1

AI coding agent như GitHub Copilot, Claude Code hay các công cụ tương tự đang giúp việc viết code nhanh hơn rất nhiều. Nhưng khi dự án bắt đầu lớn lên, một vấn đề khá quen thuộc xuất hiện: AI có thể code rất nhanh, nhưng chưa chắc đã hiểu đúng mình muốn xây gì.

Prompt một kiểu, code ra một kiểu. Sửa thêm vài vòng thì cấu trúc bắt đầu lệch. Feature ban đầu khá đơn giản nhưng sau một lúc lại thành một mớ thay đổi khó kiểm soát.

Spec Kit của GitHub được tạo ra để giải quyết đúng vấn đề này.

Thay vì yêu cầu AI “code ngay”, Spec Kit đưa vào một quy trình rõ ràng hơn: xác định yêu cầu, lập kế hoạch, chia task, triển khai rồi kiểm tra lại kết quả.

Nói đơn giản, đây là một bộ công cụ giúp AI coding agent nghĩ trước khi code.

Spec Kit là gì?

Spec Kit là một toolkit mã nguồn mở của GitHub dành cho việc xây dựng phần mềm cùng AI coding agent.

Điểm quan trọng nhất của Spec Kit là cách tiếp cận Spec-Driven Development — phát triển dựa trên đặc tả.

Thông thường khi vibe coding, chúng ta có thể bắt đầu bằng một prompt như:

Tạo cho tôi ứng dụng quản lý hình ảnh.

AI sẽ tự suy luận khá nhiều thứ: giao diện thế nào, dữ liệu lưu ở đâu, chức năng gồm những gì, kiến trúc ra sao.

Với Spec Kit, quá trình này được tách thành nhiều bước rõ ràng hơn. Bạn mô tả sản phẩm cần làm, sau đó AI cùng bạn tạo specification, technical plan, task list và cuối cùng mới bắt đầu implementation.

Nhờ vậy, phần code được sinh ra có một “nguồn tham chiếu” cụ thể thay vì chỉ dựa vào lịch sử chat.

Spec Kit hiện không chỉ phục vụ việc xây feature mới. GitHub đã mở rộng nó thành một toolkit gồm nhiều quy trình độc lập như phát triển feature, sửa bug và đánh giá một ý tưởng trước khi quyết định có nên làm hay không.

Điểm mình thích nhất: AI không còn nhảy thẳng vào code

Workflow cơ bản của Spec Kit khá dễ hiểu.

Bạn bắt đầu bằng việc đặt ra những nguyên tắc chung cho dự án, sau đó mô tả feature cần xây. Từ đó AI tạo specification, xây technical plan, chia nhỏ thành task rồi mới bắt đầu code.

Một flow điển hình sẽ giống như:

Constitution
↓
Specification
↓
Plan
↓
Tasks
↓
Implementation
↓
Convergence

Trong Spec Kit, bước converge khá đáng chú ý. Sau khi implementation hoàn thành, agent tiếp tục đối chiếu code với specification và kế hoạch ban đầu để xem mọi thứ đã thực sự khớp hay chưa.

Nếu chưa, bạn có thể tiếp tục vòng implement → converge cho đến khi kết quả đạt trạng thái Converged.

Cách làm này nghe có vẻ nhiều bước hơn vibe coding thông thường, nhưng với project nghiêm túc thì nó lại tiết kiệm khá nhiều thời gian sửa sai về sau.

Không chỉ dùng để làm feature mới

Một điểm khá thú vị ở phiên bản Spec Kit hiện tại là GitHub không ép mọi thứ phải đi qua một workflow duy nhất.

Nếu chỉ cần sửa bug, bạn có thể cài extension dành riêng cho bug fixing:

specify extension add bug

Sau đó workflow sẽ đi qua ba bước chính:

/speckit-bug-assess
/speckit-bug-fix
/speckit-bug-test

Agent sẽ phân tích nguyên nhân, thực hiện bản sửa và cuối cùng kiểm tra xem lỗi ban đầu có thực sự biến mất hay chưa.

Kết quả được ghi lại thành artifact riêng, với verdict như verified, partial hoặc failed.

Điều này khá hữu ích vì “AI nói đã fix” và “bug thực sự đã được kiểm chứng” là hai chuyện hoàn toàn khác nhau.

Có thể dùng Spec Kit để đánh giá ý tưởng trước khi code

Spec Kit còn có một workflow khá hay tên là Idea Assessment.

Thay vì vừa nghĩ ra ý tưởng đã bắt AI code prototype, bạn có thể cho agent nghiên cứu và đánh giá trước.

Cài extension:

specify extension add assess

Sau đó đi qua các bước như intake, research, define, shape và decide.

Cuối cùng Spec Kit đưa ra một trong ba kết quả:

go
needs-clarification
kill

Tức là: nên làm, cần làm rõ thêm, hoặc nên dừng.

Theo mình đây là một hướng khá hợp lý cho những ai thường xuyên vibe coding. AI làm prototype quá nhanh khiến chúng ta rất dễ xây một thứ chỉ vì “có thể làm được”, chứ chưa chắc nó đáng để làm.

Spec Kit buộc mình dành thêm một chút thời gian cho câu hỏi “có nên làm không?” trước câu hỏi “code thế nào?”.

Khả năng mở rộng khá mạnh

Spec Kit không phải một bộ prompt cố định. GitHub thiết kế nó theo hướng có thể mở rộng bằng extension, preset, workflow, bundle và catalog.

Ví dụ một team có thể tạo preset riêng để bắt buộc mọi technical plan phải tuân theo tiêu chuẩn bảo mật hoặc coding convention của công ty.

Một workflow cũng có thể chèn thêm quality gate trước hoặc sau một bước của Spec Kit. Các tổ chức thậm chí có thể tạo catalog riêng chứa những component đã được kiểm duyệt để developer trong nội bộ sử dụng.

Điều này khiến Spec Kit phù hợp không chỉ với developer cá nhân mà còn có tiềm năng áp dụng cho team lớn có quy trình phát triển khá nghiêm ngặt.

Cài đặt Spec Kit

Theo hướng dẫn hiện tại, Spec Kit yêu cầu Python 3.11 trở lên, uv và một AI coding agent được hỗ trợ. Công cụ chạy trên Linux, macOS và Windows.

Cài CLI bằng:

uv tool install specify-cli

Sau đó tạo project mới. Ví dụ với GitHub Copilot:

specify init my-project --integration copilot
cd my-project

Sau khi project được khởi tạo, bạn mở coding agent tại thư mục đó rồi chạy các skill của Spec Kit trực tiếp trong phần chat của agent.

Một flow cơ bản:

/speckit-constitution
/speckit-specify
/speckit-plan
/speckit-tasks
/speckit-implement
/speckit-converge

Ví dụ:

/speckit-specify
Build a photo organizer with albums grouped by date.

/speckit-plan
Use Vite with vanilla JavaScript.
Store metadata in SQLite.

Điểm cần chú ý là các command dạng /speckit-* được chạy trong chat của coding agent, không phải Terminal.

Spec Kit có phù hợp với project đang tồn tại không?

Có. Bạn không bắt buộc phải tạo project mới hoàn toàn.

Spec Kit có hướng dẫn riêng để đưa workflow vào một codebase đang tồn tại. Vì vậy bạn có thể dùng nó để phát triển feature mới hoặc chuẩn hóa cách AI làm việc trên project hiện tại.

Đây có lẽ cũng là trường hợp thực tế nhất với nhiều người: đang dùng Cursor, Copilot hoặc Claude Code cho một project rồi muốn giảm tình trạng agent sửa code theo kiểu “mỗi lần một hướng”.

Điểm cần lưu ý

Spec Kit không khiến AI tự nhiên trở thành senior engineer. Nếu specification ban đầu sai hoặc quá mơ hồ thì implementation phía sau vẫn có thể sai theo.

Vì vậy giá trị lớn nhất của Spec Kit không nằm ở việc “AI tự làm mọi thứ”, mà là tạo ra các điểm dừng để người dùng review. GitHub cũng khuyến nghị chạy từng skill một và xem lại kết quả trước khi tiếp tục bước tiếp theo.

Ngoài ra, nếu chỉ đang làm một script vài chục dòng hoặc prototype rất nhỏ thì workflow này có thể hơi nặng.

Spec Kit bắt đầu phát huy giá trị rõ hơn khi feature có nhiều requirement, nhiều file, nhiều quyết định kiến trúc hoặc dự án sẽ còn tiếp tục phát triển trong thời gian dài.

Một lưu ý khác là Spec Kit có catalog cộng đồng, nhưng GitHub nói rõ rằng việc xuất hiện trong catalog không đồng nghĩa component đó đã được audit hay chứng thực. Nếu cài extension hoặc workflow bên ngoài, vẫn nên kiểm tra source trước.

Spec Kit phù hợp với ai?

Nếu bạn đang dùng AI coding agent theo kiểu:

prompt → code → lỗi → prompt sửa → lỗi khác → prompt tiếp

thì Spec Kit khá đáng thử.

Đặc biệt là với những project vibe coding nhưng đã vượt qua giai đoạn prototype và bắt đầu có database, authentication, API, nhiều feature liên kết với nhau hoặc cần maintain lâu dài.

Nó cũng khá phù hợp với designer, product builder hoặc solo developer không muốn phải tự thiết kế một development workflow phức tạp từ đầu.

Thay vì cố viết một “siêu prompt” thật dài để AI hiểu toàn bộ dự án, bạn chia công việc thành những artifact rõ ràng để cả người và AI cùng theo dõi.

Kết luận

Mình nghĩ điều thú vị nhất ở Spec Kit không phải là thêm một công cụ giúp AI viết code nhanh hơn.

Nó đi theo hướng ngược lại: làm AI chậm lại một chút trước khi code.

Trong thời điểm coding agent ngày càng mạnh, bottleneck dần không còn nằm ở tốc độ viết code mà nằm ở việc xác định đúng thứ cần xây, giữ requirement nhất quán và kiểm soát những thay đổi mà AI tạo ra.

Spec Kit đang cố đưa phần kỷ luật đó trở lại workflow.

Nếu bạn đang vibe coding một project nhỏ thì có thể chưa cần. Nhưng nếu project bắt đầu lớn, AI sửa một chỗ làm hỏng chỗ khác hoặc mỗi session lại hiểu requirement hơi khác nhau, Spec Kit là một công cụ rất đáng thử.

Repo chính thức: https://github.com/github/spec-kit

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *