So Sánh Các Công Cụ Phát Triển AI: spec-kit, OpenSpec, superpowers và BMAD
•
6 phút đọc
Tóm tắt bằng:ChatGPTPerplexityGrokClaude

So Sánh Các Công Cụ Phát Triển AI: spec-kit, OpenSpec, superpowers và BMAD

Phân tích kiến trúc bốn công cụ phát triển hướng đặc tả (spec-driven): quy trình vận hành, chi phí thủ tục, tình huống lỗi và tiêu chí lựa chọn phù hợp.

Viết code không còn là điểm nghẽn chính trong quy trình phần mềm. Dữ liệu telemetry của Faros AI trên 10.000 lập trình viên cho thấy: họ merge nhiều hơn 98% pull request và hoàn thành nhiều hơn 21% tác vụ, nhưng thời gian review code lại tăng 91%. Trong thử nghiệm ngẫu nhiên của METR trên 16 lập trình viên mã nguồn mở giàu kinh nghiệm xử lý các issue thật trong chính repo của họ, nhóm dùng AI làm chậm hơn 19%, dù họ ước tính bản thân làm nhanh hơn 20%. Đồng thời, khảo sát năm 2025 của Stack Overflow chỉ ra 46% lập trình viên chủ động nghi ngờ độ chính xác của code AI sinh ra.

Khi việc sinh code trở nên rẻ, yêu cầu không được quản lý khiến khối lượng review chồng chất. Như đã phân tích trong bài viết về chuyển đổi từ vibe coding sang Agentic Engineering, hệ thống production đòi hỏi lớp đặc tả có cấu trúc để neo các AI coding agent hàng đầu năm 2026 vào ý định đã được con người xác nhận.

Bốn bộ công cụ mã nguồn mở tiêu biểu đã xuất hiện để giải quyết bài toán này: spec-kit, OpenSpec, superpowers và BMAD. Dù cùng dùng định dạng Markdown, triết lý thiết kế, chi phí vận hành và mục tiêu thực thi của chúng khác biệt rõ rệt.

Các Tầng Kiến Trúc Của Bộ Công Cụ Spec-Driven Cho Agent


Bảng so sánh bốn bộ công cụ

Trước khi đi sâu vào từng giải pháp, hãy đối chiếu cách bốn công cụ phân chia trách nhiệm trên toàn bộ quy trình phát triển:

Tiêu chí spec-kit OpenSpec superpowers BMAD Method
Đơn vị duy trì GitHub Fission-AI Jesse Vincent (Prime Radiant) BMad Code
Cơ chế cốt lõi Pipeline tài liệu theo từng giai đoạn Thư mục delta thay đổi Kỹ năng markdown bắt buộc Mô phỏng nhóm agile đa vai trò
Mô hình spec Bộ spec đơn khối theo tính năng Đặc tả năng lực hệ thống Không có (kỷ luật luồng việc) Bộ tài liệu PRD và ADR
Tầng thực thi Công cụ agent bên ngoài Hệ thống slash-command cho agent (/opsx) Terminal hook và git worktree Prompt theo từng vai trò agent
Đầu ra chính specs/NNN-feature/ openspec/changes/<name>/ Bảng chống ngụy biện trong kỹ năng _bmad-output/
Quy mô phù hợp Dự án greenfield quy mô doanh nghiệp Codebase brownfield hiện có Tính năng từ vừa đến lớn Sản phẩm hoàn chỉnh nhiều epic

1. spec-kit: Pipeline tài liệu theo từng giai đoạn

Do GitHub phát triển, spec-kit vận hành trên nguyên tắc: code phục vụ bản đặc tả, bản đặc tả không chạy theo code. Công cụ này xoay quanh quy trình lõi sáu bước, đi kèm các bước tùy chọn như clarify, checklist và analyze:

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

Quy trình bắt đầu bằng việc thiết lập bộ quy ước nền tảng (constitution), cố định các nguyên tắc kiến trúc bắt buộc. Với mỗi tính năng, spec-kit tự động tạo nhánh git riêng và thư mục riêng tại specs/NNN-feature/.

Các thành phần chính gồm:

  • spec.md: User story, tiêu chí nghiệm thu và edge cases. Bản mẫu cấm đưa chi tiết triển khai vào spec, bắt buộc gắn thẻ [NEEDS CLARIFICATION] khi yêu cầu còn mơ hồ.
  • plan.md: Thiết kế kiến trúc kỹ thuật, data model và contracts.
  • tasks.md: Danh sách đầu việc theo trình tự triển khai.
  • converge: Vòng lặp luân phiên sinh code và kiểm chứng đến khi công cụ báo trạng thái hội tụ.

Ưu điểm và sự đánh đổi

Thế mạnh lớn nhất của spec-kit là khả năng truy vết và kiểm toán (auditability). Trong các doanh nghiệp lớn hoặc đội ngũ kỹ thuật phân tán quy mô lớn, lưu trữ hồ sơ giải thích lý do từng hàm được tạo ra sẽ ngăn ngừa phân rã kiến trúc.

Nhược điểm là gánh nặng thủ tục. Trong thử nghiệm của Scott Logic khi dựng lại tính năng CRUD circuits trên ứng dụng KartLog, spec-kit tốn 57 phút chạy agent qua hai lần lặp (33,5 và 23,5 phút), sinh 4.800 dòng markdown (2.577 và 2.262 dòng) và cần 5,5 giờ review (3,5 và 2 giờ; riêng bước plan chiếm 2.067 dòng). Ngược lại, prompt trực tiếp chỉ mất 8 phút chạy agent và 24 phút kiểm tra (15 phút review code và 9 phút chạy test, sửa lỗi). Với tính năng nhỏ, spec-kit tạo ra lượng tài liệu dư thừa lớn.


2. OpenSpec: Bản đặc tả sống và cơ chế delta

Được Fission-AI xây dựng, OpenSpec tiếp cận bài toán đặc tả theo hướng lặp từng bước (iterative), tối ưu cho codebase có sẵn (brownfield). Thay vì tạo tài liệu tách biệt cho từng ticket, OpenSpec lưu trữ năng lực hệ thống trong thư mục trung tâm openspec/specs/.

Luồng làm việc tuân theo vòng đời opsx tinh gọn:

/opsx:explore -> propose -> apply -> archive

Khi bắt đầu tính năng, OpenSpec tạo thư mục riêng tại openspec/changes/<feature>/ gồm proposal.md và đặc tả delta:

# Change: Add Dark Mode Toggle
 
## MODIFIED Requirements
- The Settings screen SHALL expose a persistent theme toggle.
- WHEN a user selects dark mode, the client SHALL write the preference to the user profile schema.

Sau khi code được duyệt, lệnh archive gộp các delta này vào file năng lực lâu dài. Chính OpenSpec cũng được phát triển bằng cách này với hơn 35 file năng lực.

Ưu điểm và sự đánh đổi

OpenSpec phù hợp với brownfield vì đội ngũ không cần dừng dự án để viết lại tài liệu từ đầu. Lập trình viên chỉ cần mô tả phần delta bị ảnh hưởng bởi pull request hiện tại.

Dù OpenSpec có lệnh xác thực (openspec validate) và kiểm tra (/opsx:verify), đặc tả của nó vẫn là văn bản markdown mô tả. Khác với test suite, công cụ không tự động chạy code ứng dụng để khẳng định việc hiện thực khớp với từng điều khoản. Telemetry cũng được bật mặc định và cần tắt thủ công.


3. superpowers: Kỷ luật thực thi và bắt buộc TDD

Khác với spec-kit hay OpenSpec, superpowers không định nghĩa schema file đặc tả mới. Do Jesse Vincent tại Prime Radiant phát triển, superpowers là execution harness dành riêng cho terminal coding agent như Claude Code.

Triết lý của superpowers là biến chỉ dẫn thành bắt buộc: dùng session hook ép agent gọi kỹ năng markdown theo chuẩn qua bảy bước:

  1. Động não tương tác (interactive brainstorming): Agent phải hỏi ba đến năm câu làm rõ trước khi đề xuất giải pháp.
  2. Cô lập git worktree: Mọi thay đổi diễn ra trên worktree riêng nhằm bảo vệ nhánh chính.
  3. Phân rã đầu việc nhỏ: Chia nhỏ kế hoạch sao cho mỗi đầu việc chỉ nên mất hai đến năm phút.
  4. Điều phối bằng subagent: Khởi chạy subagent mới cho từng đầu việc nhỏ, tránh quá tải context window.
  5. Bắt buộc quy trình TDD: Agent phải viết test thất bại trước, xoá mọi code ứng dụng đã viết trước khi có test fail.
  6. Hai lớp kiểm duyệt: Một lượt kiểm tra mức tuân thủ spec và lượt độc lập thứ hai đánh giá chất lượng code.
  7. Kết thúc nhánh gọn gàng: Squash commit và hợp nhất thay đổi từ worktree.

Ưu điểm và sự đánh đổi

Superpowers đem lại độ tin cậy thực thi cao nhất trong bốn công cụ nhờ ép buộc viết test trước và cô lập subagent.

Hạn chế là chi phí token đáng kể. Trong issue #832, một cộng tác viên đề xuất cắt giảm 69% dung lượng qua 14 file kỹ năng (từ 3.150 dòng xuống 977 dòng). Phía maintainer từ chối và đóng đề xuất, bảo vệ các bảng chống ngụy biện (rationalization tables) là cần thiết để ngăn agent lách quy tắc. Dù vậy, chạy vòng lặp subagent TDD cho chỉnh sửa UI nhỏ vẫn tốn kém token.


4. BMAD Method: Mô phỏng nhóm agile đa vai trò

BMAD Method cấu trúc vòng đời phần mềm bằng cách mô phỏng phòng ban kỹ thuật với các vai trò chuyên biệt. Trong kiến trúc bản v6 ổn định, BMAD điều phối:

  • Product Manager (John) và Analyst (Mary): Định hình bản tóm tắt sản phẩm và tài liệu PRD.
  • Kiến Trúc Sư Hệ Thống (Winston): Soạn thảo quyết định kiến trúc ADR và ranh giới giao diện, hợp đồng kỹ thuật.
  • Scrum Master (Bob): Phân rã epic thành user story kèm tiêu chí nghiệm thu.
  • Lập Trình Viên (Amelia) và QA (Quinn): Hiện thực hóa code và vận hành cổng kiểm thử.

Thư mục _bmad-output/ lưu PRD và ADR. Kết hợp ADR với domain glossary giúp các agent chạy song song thống nhất cách đặt tên và schema.

Ưu điểm và sự đánh đổi

BMAD hiệu quả ở sản phẩm greenfield khi tầm nhìn sản phẩm và kiến trúc kỹ thuật cần định hình cùng lúc, tránh các quyết định mâu thuẫn giữa các agent. Về việc khi nào các persona agent riêng biệt thật sự đáng dùng, xem bài agent profile cần ranh giới chứ không cần chức danh.

Tuy nhiên, BMAD có thủ tục nặng. Trong issue #2003 do chính agent BMAD thực hiện, kiến trúc sư ảo chỉ ra nghịch lý: phương pháp hướng đến người không chuyên, nhưng đánh giá chất lượng vẫn đòi hỏi đọc hiểu diff phức tạp. BMAD cung cấp Quick Flow bỏ qua kiến trúc cho tác vụ nhỏ, thừa nhận rằng mô phỏng agile đầy đủ là không thực tế với bảo trì thường ngày.


Khung phối hợp và lựa chọn thực tế

Bốn công cụ này không loại trừ nhau và có thể xếp lớp theo tầng:

Mô hình xếp lớp: BMAD bọc OpenSpec hoặc spec-kit, tiếp đến superpowers và cuối cùng là terminal agent

Quy tắc lựa chọn dựa trên độ trưởng thành dự án và quy mô công việc:

  1. Sửa lỗi nhỏ và bảo trì thường xuyên: Bỏ qua cả bốn công cụ. Prompt trực tiếp kèm test tự động trong CI là con đường ít ma sát nhất.
  2. Thêm tính năng trên codebase hiện có (brownfield): Chọn OpenSpec. Mô hình delta mô tả tính năng mới mà không cần viết lại code cũ trước.
  3. Module mới cho hệ thống lớn (greenfield): Chọn spec-kit. Đầu tư ban đầu vào bộ quy ước kiến trúc, hợp đồng và hội tụ giúp chống trôi kiến trúc về dài hạn.
  4. Tác vụ phức tạp trên terminal agent: Chọn superpowers. Đặt superpowers lên trên bản spec để đảm bảo kỷ luật TDD nghiêm ngặt và worktree riêng.
  5. Xây dựng sản phẩm hoàn chỉnh từ đầu: Chọn BMAD. Dùng vòng lặp các vai trò để thiết lập PRD, ADR và bảng phân chia công việc trước khi code.

Tài liệu tham khảo

|Chia sẻ:

Đăng ký nhận bản tin

Nhận các bài viết và cập nhật mới nhất qua email.

Bài viết liên quan