OpenSpec – Khi “vibe coding” không còn đủ nữa


Bạn đã bao giờ prompt AI viết code hàng tiếng đồng hồ, rồi đến prompt thứ 50 nhìn lại và không hiểu cái mình đang xây là cái gì không? Cái cảm giác đó có tên hẳn hoi: Vibe Codinglập trình bằng cảm hứng, yêu cầu nằm rải rác trong lịch sử chat, AI hiểu một kiểu, mình hiểu một kiểu, và đến cuối thì mọi thứ hơi… lộn xộn. OpenSpec sinh ra để giải quyết đúng cái vấn đề đó.

OpenSpec là gì?

OpenSpec là một framework theo phong cách Spec-Driven Development (lập trình dựa trên đặc tả) dành riêng cho các công cụ AI Coding. Ý tưởng cốt lõi rất đơn giản:

Thống nhất yêu cầu trước — AI viết code sau.

Thay vì bắt AI code ngay từ đầu, OpenSpec yêu cầu bạn tạo ra các tài liệu Proposal → Specification → Design → Tasks trước khi bắt đầu triển khai. Toàn bộ những thứ này được lưu dưới dạng file Markdown ngay trong thư mục dự án — tức là AI luôn có một “nguồn sự thật” rõ ràng để tham chiếu, thay vì phụ thuộc vào lịch sử hội thoại.

Hiện tại dự án đang có hơn 52.000 sao trên GitHub — con số nói lên khá nhiều về mức độ quan tâm từ cộng đồng.

Tại sao lại cần đến OpenSpec?

AI không nhớ những gì bạn nói từ đầu

Đây là vấn đề ai dùng AI Coding cũng sẽ gặp sớm hay muộn. Hãy tưởng tượng một luồng làm việc điển hình:

  • Prompt 1: “Thêm chế độ tối vào giao diện”
  • Prompt 15: “À quên, phải hỗ trợ màn hình máy tính bảng nữa”
  • Prompt 37: “Đừng đụng vào phần xác thực người dùng nhé”
  • Prompt 82: “Sao tự nhiên mất màn hình đăng nhập rồi??”

AI không cố ý “quên” — nó chỉ không có một tài liệu nào để bám vào. OpenSpec giải quyết điểm này bằng cách biến toàn bộ yêu cầu thành file Markdown nằm trong dự án, để mỗi lần AI đọc lại đều có đúng bối cảnh.

Quy trình làm việc giống kỹ thuật phần mềm thực sự

Thay vì vòng lặp “prompt → copy → paste → cầu may”, OpenSpec đưa vào một luồng bài bản hơn:

Proposal → Specification → Design → Tasks → Implementation → Archive

Nghe có vẻ “nặng” hơn, nhưng thực ra đây chính là cách các nhóm phát triển chuyên nghiệp đã làm từ lâu — chỉ là lần này áp dụng cho AI thay vì con người.

Lưu trong Git, review được, rollback được

Mọi thứ đều là file Markdown:

  • proposal.md
  • spec.md
  • design.md
  • tasks.md

Điều này có nghĩa là bạn có thể tạo Pull Request để review yêu cầu trước khi AI bắt tay vào code, xem lại lịch sử thay đổi, thậm chí rollback về phiên bản đặc tả cũ nếu cần. Đây là thứ bạn không thể làm với lịch sử chat trên Claude hay ChatGPT.

Hỗ trợ hầu hết công cụ AI Coding phổ biến

OpenSpec không bị gắn với một IDE hay một mô hình AI cụ thể nào. Bạn có thể dùng nó với:

Claude Code, Cursor, GitHub Copilot, OpenAI Codex CLI, Windsurf, Cline, RooCode, Amazon Q và nhiều công cụ khác — tổng cộng hơn 20 công cụ.

Đây là điểm mạnh đáng kể: bạn không bị khóa vào hệ sinh thái của một nhà cung cấp, và có thể chuyển sang công cụ khác bất cứ lúc nào mà vẫn giữ nguyên toàn bộ đặc tả.

Cài đặt và dùng thử OpenSpec

Yêu cầu duy nhất là Node.js. Cài package toàn cục:

npm install -g @fission-ai/openspec

Khởi tạo trong thư mục dự án:

openspec init

OpenSpec sẽ hỏi bạn đang dùng công cụ AI nào, rồi tự cấu hình lệnh và hướng dẫn tương ứng.

Các lệnh OpenSpec hay dùng

LệnhTác dụng
/opsx:proposeTạo proposal và các tài liệu cần thiết
/opsx:applyYêu cầu AI triển khai theo đặc tả
/opsx:syncĐồng bộ thay đổi vào đặc tả chính
/opsx:archiveĐóng thay đổi sau khi hoàn tất

So sánh nhanh với các công cụ khác

Công cụĐiểm mạnhHạn chế
OpenSpecSpec-Driven, dùng được với mọi AI, lưu trong GitCần thay đổi thói quen làm việc
Claude CodeViết code rất tốtYêu cầu chủ yếu nằm trong chat
Cursor RulesThiết lập rule đơn giảnKhông quản lý proposal và đặc tả đầy đủ
ClineTự động hóa caoThiếu framework quản lý yêu cầu
CopilotTích hợp VS Code rất tốtKhông có quy trình Spec-Driven mặc định

Nhược điểm cần biết trước

Không có công cụ nào hoàn hảo cho mọi tình huống.

Thêm một bước trước khi code. Nếu bạn chỉ sửa vài dòng CSS hay viết một script ngắn, OpenSpec sẽ cảm giác “quá quy trình” so với việc cần làm.

Cần thay đổi thói quen. Nếu bạn đã quen với vòng lặp “prompt → AI code → copy” thì ban đầu sẽ thấy chậm hơn. Đây là chi phí học ban đầu, không phải lỗi của công cụ.

Không phù hợp với prototype cực nhanh. Nếu mục tiêu là dựng thứ gì đó trong vài tiếng cho hackathon, viết spec trước có thể là bước thừa.

Nên dùng OpenSpec khi nào?

✅ Nhóm nhiều người cùng phát triển một dự án

✅ Dự án kéo dài nhiều tuần hoặc nhiều tháng

✅ Muốn AI sinh code nhất quán, ít bị “ảo giác” (hallucination)

✅ Cần review yêu cầu với khách hàng hoặc đồng đội trước khi code

✅ Muốn lưu lịch sử quyết định thiết kế để tra cứu sau

❌ Sửa vài dòng nhanh

❌ Làm prototype thử nghiệm trong vài giờ

❌ Script ngắn, task nhỏ lẻ

Kết

OpenSpec không giúp AI viết code nhanh hơn — nó giúp AI viết đúng hơn. Khi mọi yêu cầu được ghi rõ thành tài liệu, khi AI luôn biết đang làm gì và tại sao, kết quả ra sẽ nhất quán hơn nhiều so với việc nhớ lại xem mình đã nói gì ở prompt thứ 23.

Nếu bạn đang dùng Claude Code, Cursor hay Copilot mỗi ngày và đã từng cảm thấy “AI lại quên rồi” — thử OpenSpec một lần xem sao.

📌 GitHub: github.com/Fission-AI/OpenSpec


Next

Để 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 *