Bỏ qua menu, tới nội dung
Thành viên The MONA Group
Thành viên The MONA Group
Sản phẩm và viết theo yêu cầu
1900 636 648Tư vấn miễn phí, 8h–22h
MONA OS 2.0Hệ thống quản trị MONA tự phát triển, nối 7 phần mềm nội bộ về một dữ liệu, có Gấu Quản Trị trả lời câu hỏi điều hành.7 phần mềm1 trục dữ liệu8 AI AgentXem MONA OS hoạt động
Dự án giáo dụcThe IELTS WorkshopPhần mềm quản lý chuỗi 11 cơ sở luyện thi, kèm app cho học viên20238 tháng12 ngườiXem hồ sơ dự án Xem thêm dự án Khoa Y
Dự án bán lẻHình minh hoạ gấu MONA bán trang sức tại quầy kính, cạnh màn hình bán hàng và tồn khoNgọc Thành JewelryPhần mềm quản lý chuỗi cửa hàng trang sức, tích hợp xuất hoá đơn20246 tháng7 ngườiXem hồ sơ dự án
Dự án sản xuấtHình minh hoạ gấu MONA hướng dẫn công nhân học bài trên phần mềm đào tạo trong phòng họp nhà máyPolytex Far Eastern Việt NamPhần mềm đào tạo công nhân viên chạy trong mạng nội bộ nhà máy20234 tháng8 ngườiXem hồ sơ dự án
Dự án nhân sựHình minh hoạ gấu MONA đứng lớp đào tạo cho bác sĩ, điều dưỡng bằng phần mềm học trực tuyếnBệnh viện Hoàn Mỹ Sài GònViệc đào tạo nhân sự chuyển từ Excel sang phần mềm MONA viết riêng20247 tuần13 moduleXem hồ sơ dự án
Sản phẩm có sẵnHình minh hoạ gấu MONA phục vụ bàn, khách quét mã QR trên bàn để gọi mónnhahang.aiGọi món tại bàn bằng mã QR, kết nối bếp, quản lý bàn, định lượng nguyên liệuNhà hàngQuán ănChuỗi ăn uốngXem nhahang.ai
Sản phẩm có sẵnMONA HouseTự lập hoá đơn tiền phòng, gửi mã QR qua Zalo, báo có khi khách chuyển khoảnNhà trọCăn hộ cho thuêXem MONA House
Sản phẩm có sẵnMONA NHTQĐặt hàng Taobao, 1688, Tmall, ví khách hàng và theo dõi vận đơn cho công ty nhập hàngTaobao1688TmallXem MONA NHTQ
Tư vấn miễn phí, 8h–22h mỗi ngày
Lập trình và AI

Spec driven development là gì? Viết spec cho AI agent

Spec driven development là gì và vì sao đội dùng AI agent viết code phải viết spec trước. MONA Software kể cách viết spec bằng Spec Kit cho từng dự án phần mềm.

MONA Software biên soạnCập nhật · Đăng · 12 phút đọc

Spec driven development là gì? Viết spec cho AI agent

Tóm tắt: Spec driven development là cách làm phần mềm viết bản đặc tả (spec) trước, rồi giao AI agent viết code theo đúng bản đó. Spec ghi rõ làm gì, cho ai dùng, xong thế nào là đạt. Nó là nguồn sự thật để máy kiểm và người duyệt kết quả.

Anh chị nhắn cho AI một câu “làm cho anh cái quản lý kho”. Mười phút sau nó trả về một màn hình nhập hàng chạy được, nút bấm đủ cả. Tới lúc thủ kho dùng thật mới lòi ra chuyện hàng ký gửi bị cộng chung vào tồn, vì không ai dặn nó kho này có hai loại hàng. Máy làm đúng chữ mà sai việc. Tụi em thấy cảnh này nhiều nhất từ ngày 20/04/2026, khi MONA chuyển toàn bộ quy trình làm phần mềm sang AI agent, và spec driven development là cách tụi em chặn nó từ gốc.

Spec driven development là gì

Spec driven development là quy trình phát triển phần mềm lấy bản đặc tả làm gốc. Trước khi có dòng code đầu tiên, nhóm làm phần mềm chốt ba thứ: tính năng làm gì, ai dùng vào lúc nào, và đo bằng gì để biết là đạt, ví dụ “mọi thao tác dưới 2 giây”. Với một tính năng cỡ xuất hoá đơn, phần chữ đó chỉ chừng 15 dòng, viết xong mới tới lượt AI.

Đội gấu MONA đọc bản spec như bản vẽ trước khi AI agent viết code
Spec là bản vẽ: AI agent xây theo nó, người kiểm cũng dựa vào nó.

Cách này ngược với kiểu viết code trước rồi mới bổ sung tài liệu cho đủ hồ sơ, và cũng khác vibe coding là gõ ý tưởng rồi chạy thử. Giống xây nhà: có bản vẽ rồi mới gọi thợ, chứ đổ móng xong mới đo lại diện tích thì chỉ còn cách đập. Trong repo, file spec.md chính là bản vẽ. AI agent đọc nó để viết, gate máy đọc nó để kiểm, kỹ sư đọc nó để duyệt. Ba bên cùng nhìn một bản. Ở MONA, từ ngày 20/04/2026, tụi em đặt bản vẽ đó trong thư mục specs/ của từng repo, đánh số 001, 002 theo thứ tự tính năng, nên ai mở repo ra cũng biết tính năng nào được làm vì lý do gì.

Vì sao AI agent cần spec hơn cả lập trình viên

Lập trình viên gặp chỗ mơ hồ thì hỏi lại, còn AI agent thường tự đoán rồi làm tiếp cho xong. Báo cáo 2026 Agentic Coding Trends Report của Anthropic cho thấy lập trình viên dùng AI trong khoảng 60% công việc, nhưng chỉ giao trọn được 0–20% đầu việc. Phần giao trọn được thường là phần mô tả đủ rõ để máy tự kiểm kết quả.

AI agent làm sai khi yêu cầu mơ hồ và làm đúng khi có spec rõ
Yêu cầu mơ hồ thì AI đoán, có spec thì AI làm đúng việc.

Spec làm đúng việc đó: biến yêu cầu mơ hồ thành tiêu chí máy kiểm được. Kinh nghiệm của tụi em sau hơn 14.000 dự án là brief viết ra file rõ ràng thì AI thợ làm một lượt là xong, còn dặn miệng thì sửa đi sửa lại nhiều vòng, mỗi vòng lại tốn thêm thời gian của kỹ sư duyệt. Rõ từ đầu thì đỡ.

Một spec tốt gồm những phần nào

Một spec tốt ngắn, khoảng 15 dòng cho 1 tính năng, và đủ 6 phần dưới đây. Ngắn thì AI và người đều đọc hết, không bỏ sót dòng nào.

Sáu phần của một bản spec tốt được gấu MONA sắp xếp
Sáu phần này đủ để AI agent và người duyệt hiểu giống nhau.
  1. Mục tiêu: tính năng này giải quyết việc gì.
  2. Người dùng và lúc dùng: chức danh nào, vào thời điểm nào trong ngày làm việc.
  3. Luồng chính: các bước bấm theo thứ tự.
  4. Tiêu chí nghiệm thu: con số đo được như “dưới 2 giây”, không dùng chữ “nhanh”, “đẹp”.
  5. Ngoài phạm vi: những thứ lần này không làm, để AI khỏi tự thêm.
  6. Ràng buộc: dữ liệu nào được đụng, khoá bí mật để ở đâu.

Thiếu một phần là AI tự đoán.

Phần 2 chính là câu hỏi trong nguyên tắc thực dụng của MONA: ai dùng, dùng lúc nào, đỡ được việc gì. Tính năng nào không trả lời được câu đó thì tụi em không đưa vào spec, dù khách hay AI đề xuất, vì một nút bấm không ai dùng vẫn tốn công làm, tốn công kiểm và tốn công bảo trì suốt vòng đời phần mềm. Mẫu dưới đây là spec ngắn cho tính năng xuất hoá đơn điện tử từ đơn hàng, viết trong khoảng 10 phút.

Mẫu spec tính năng xuất hoá đơn điện tử có tiêu chí dưới 2 giây
Tiêu chí nghiệm thu đo được, ví dụ mọi thao tác dưới 2 giây.
Tính năng: Xuất hoá đơn điện tử từ đơn hàng
Mục tiêu: Kế toán không gõ lại số từ đơn hàng sang hoá đơn
Người dùng: Kế toán, ngay sau khi khách thanh toán
Luồng chính: Mở đơn > bấm "Xuất hoá đơn" > xác nhận > nhận file PDF
Nghiệm thu:
  - Mọi thao tác dưới 2 giây
  - Số tiền trên hoá đơn khớp đơn hàng tới từng đồng
  - Đơn đã xuất thì nút chuyển sang "Đã xuất", không xuất trùng
Ngoài phạm vi: Gửi email hoá đơn cho khách (làm ở bản sau)
Ràng buộc: Không đọc bảng lương; khoá API hoá đơn nằm ở biến môi trường

Spec Kit của GitHub: cài đặt và 6 lệnh

Spec Kit là bộ công cụ mã nguồn mở của GitHub cho spec driven development. Nó cho AI agent một quy trình có sẵn, mẫu file dùng lại được và nơi lưu kết quả ngay trong repo. Tụi em dùng nó cho mọi dự án mới của MONA từ ngày 20/04/2026, vì nó cho cả ba thợ AI cùng một khuôn spec và giữ mọi file kết quả ngay trong repo thay vì nằm rải rác trong khung chat. Bước đầu là cài công cụ dòng lệnh specify.

Gấu MONA chạy lệnh specify init của Spec Kit trong terminal
Spec Kit đi theo sáu lệnh, từ nguyên tắc dự án tới đối chiếu khi xong.
uv tool install specify-cli
specify init ten-du-an --integration copilot

Chữ copilot thay bằng tên agent đội anh chị đang dùng. Lệnh init tạo sẵn bộ thư mục và mẫu file trong 1 lần chạy. Sau đó, trong khung chat của agent, chạy lần lượt sáu lệnh.

  1. /speckit-constitution: chốt nguyên tắc chung của dự án.
  2. /speckit-specify: viết yêu cầu của tính năng.
  3. /speckit-plan: lên cách làm kỹ thuật.
  4. /speckit-tasks: chia thành danh sách việc.
  5. /speckit-implement: AI bắt đầu làm theo danh sách.
  6. /speckit-converge: đối chiếu còn thiếu gì, rồi lặp lại bước 5 tới khi đủ.
Trang dự án Spec Kit của GitHub với 140 nghìn sao, chụp ngày 06/10/2026
Trang github.com/github/spec-kit, tụi em chụp ngày 06/10/2026.

Mỗi lệnh để lại file trong repo. Người đến sau đọc lại được vì sao tính năng được làm như vậy, tính năng nào còn dở ở bước nào.

Spec driven development khác cách viết yêu cầu kiểu cũ

Tài liệu yêu cầu kiểu cũ là file Word vài chục trang, duyệt một lần rồi cất. Spec cho AI agent ngắn hơn nhiều, nằm ngay trong repo và được sửa theo từng tính năng. Mỗi cách thắng ở một chỗ riêng, bảng dưới đặt hai bên cạnh nhau.

So sánh tài liệu yêu cầu dày kiểu cũ với spec gọn nằm trong repo
Mỗi kiểu thắng ở chỗ riêng: hồ sơ thầu cần tài liệu dày, AI agent cần spec gọn.
Tiêu chí Tài liệu yêu cầu kiểu cũ Spec cho AI agent
Độ dài Vài chục trang cho cả dự án Khoảng 15 dòng cho mỗi tính năng
Nơi lưu File gửi qua email, thư mục chung Thư mục specs/ trong repo
Khi nào sửa Ít sửa sau khi duyệt Sửa ngay khi đổi yêu cầu
Thắng ở đâu Hồ sơ pháp lý, đấu thầu, hợp đồng Giao việc cho AI và kiểm tự động

Dự án lớn vẫn cần tài liệu kiểu cũ ở khâu ký kết, như các bước trong bài triển khai dự án ERP hay lập kế hoạch dự án. Spec là lớp nằm bên dưới, ngày nào cũng được AI và kỹ sư mở ra dùng. Nó sống cùng code: mỗi lần đổi tính năng, file trong specs/ được sửa trong cùng 1 lần gộp với code, nên spec không bao giờ lệch khỏi phần mềm đang chạy.

Cảnh AI làm đúng chữ mà sai việc ở đầu bài không phải do AI kém, mà do bản mô tả thiếu một dòng về hàng ký gửi. Phần mềm anh chị đang tính làm cũng có những dòng như vậy, nằm trong đầu thủ kho, kế toán, trưởng ca, và chỉ lộ ra khi có người ngồi hỏi đúng câu. Mỗi dòng như vậy thiếu trong spec là một vòng sửa về sau. AI không tự đoán ra được.

Anh chị gửi bản mô tả phần mềm đang có, dù chỉ là vài dòng ghi chú, qua trang viết phần mềm theo yêu cầu. Tụi em chuyển một tính năng trong đó thành spec mẫu đủ sáu phần để anh chị xem trước khi bàn tiếp.

MONA dùng spec driven development thế nào

MONA Software là công ty phần mềm Việt Nam tiên phong ứng dụng agentic coding vào quy trình làm phần mềm, vào sản phẩm của chính MONA và vào phần mềm giao cho khách hàng. Từ ngày 20/04/2026, MONA chuyển toàn bộ quy trình sang agentic coding. Spec là cửa đầu tiên của quy trình đó.

Ba thợ AI Claude, Codex, Gemini cùng đọc một bản spec trong dự án MONA
Ở MONA, ba thợ AI đọc chung một spec nên không ai hiểu lệch.

Dự án mới ở MONA được khởi tạo với lệnh specify init --here --ai claude,codex,agy, để cả Claude, Codex và Gemini đọc chung một bộ spec. Kèm theo là bd init để quản danh sách việc bằng Beads. Luật của tụi em: tính năng từ một ngày công trở lên phải có file specs/<NNN>/spec.md được duyệt trước khi AI viết dòng code đầu tiên.

Spec không đứng một mình. Trong repo còn có STATE.md ghi trạng thái hiện tại, AGENTS.md ghi luật làm việc cho AI, và ADR ghi các quyết định lớn. Bộ ba thợ AI gồm Claude Code làm phần não, Codex viết code và Gemini viết văn tiếng Việt, nên đứa nào vào repo cũng đọc được cùng một bối cảnh.

Từ spec tới Merge Request: một tính năng đi qua những cửa nào

Ở MONA, tụi em cho mỗi tính năng đi qua sáu cửa trong quy trình agentic coding trước khi chạm tới hệ thống thật. Luật này áp cho mọi dự án từ ngày 20/04/2026.

Một tính năng đi qua sáu cửa từ spec tới Merge Request ở MONA
Sáu cửa giữ cho code AI viết tới tay kỹ sư đã sạch lỗi cơ bản.
  1. Spec được duyệt: người chốt yêu cầu và tiêu chí nghiệm thu.
  2. Brief: spec được chuyển thành file giao việc, có danh sách file được đụng.
  3. AI thợ viết: Codex viết code theo brief.
  4. Gate máy: kiểm thử tự động và kiểm bảo mật chạy trên từng bản.
  5. AI chấm độc lập: một AI khác đọc và chấm theo spec, không được sửa file.
  6. Kỹ sư duyệt: kỹ sư MONA đọc lại và gộp qua Merge Request.

AI không giữ chìa deploy. Tụi em để việc đưa code lên máy chủ chạy thật đi qua 5 chốt do người giữ, nên tốc độ AI viết nhanh tới đâu thì quyết định cuối vẫn nằm ở kỹ sư chịu trách nhiệm dự án. Bài agentic engineering nói kỹ vai đó.

Khách hàng nhận được gì từ một bản spec

Spec là thứ anh chị đọc được và duyệt được, không cần biết code. Tụi em gửi spec cho khách duyệt trước khi AI viết. Khi đổi yêu cầu, anh chị thấy rõ đổi dòng nào, ảnh hưởng tính năng nào, và giá đổi ra sao, xem khung giá ở trang bảng giá. MONA báo giá minh bạch và commit đúng giá đã báo. Giá báo là giá chốt. Báo giá phần mềm riêng gồm cả theo dõi vận hành 6 tháng đầu.

Khách hàng đọc và duyệt spec cùng gấu MONA trước khi làm phần mềm
Spec giúp anh chị thấy rõ đổi yêu cầu chỗ nào và giá đổi ra sao.

Tiêu chí trong spec là thứ khách cầm để nghiệm thu. Hồ sơ dự án The IELTS Workshop và Ngọc Thành Jewelry đều chốt một dòng “mọi thao tác dưới 2 giây”, và đó là con số cả hai bên cùng đo khi bàn giao. Spec cũng là chỗ giữ cho phần mềm cực kì dễ dùng: màn hình đi đúng thứ tự việc nhân viên đang làm. Nó giữ phần mềm chuẩn ngành, như phần mềm tiệm vàng có sẵn tuổi vàng, công thợ, ký gửi. Dù anh chị cần phần mềm CRM hay hệ thống ERP, repo bàn giao đều kèm spec, AGENTS.md và STATE.md.

Bốn lỗi hay gặp khi viết spec cho AI

Bốn lỗi dưới đây tụi em từng vấp, và mỗi lỗi giờ đã thành một luật hoặc một gate máy trong quy trình của MONA.

Bốn lỗi hay gặp khi viết spec cho AI và cách gấu MONA sửa
Bốn lỗi này tụi em từng vấp, giờ thành luật kiểm tự động.
  • Spec dài như tiểu thuyết: AI bỏ sót ý nằm giữa đoạn văn dài. Sửa bằng gạch đầu dòng, mỗi dòng một ý.
  • Thiếu tiêu chí nghiệm thu: làm xong không ai biết đạt hay chưa. Sửa bằng con số đo được, ví dụ thời gian thao tác hay số tiền khớp tới từng đồng.
  • Đổi ý mà không sửa spec: người nói một đằng, file ghi một nẻo, AI làm theo file. Sửa bằng luật đổi yêu cầu là sửa spec.md trước, nhắn sau.
  • Nhét khoá bí mật vào spec: spec nằm trong repo, ai đọc được repo là thấy khoá. Sửa bằng cách chỉ ghi tên biến môi trường, giá trị thật để ngoài repo.

Viết spec tốn thêm một buổi ở đầu, đổi lại không phải sửa đi sửa lại nhiều vòng như kiểu giao việc bằng một câu nhắn. Với phần mềm quản lý chạy cho nhiều bộ phận, buổi đó là buổi ngồi với thủ kho, kế toán, trưởng ca để lôi ra đúng những dòng như “kho có hai loại hàng”.

Anh chị gọi 1900 636 648 để hẹn buổi 45 phút với kỹ sư MONA. Hai bên viết spec cho một tính năng anh chị đang cần nhất, anh chị giữ bản spec đó dù có làm tiếp với MONA hay không. Chi tiết dịch vụ ở trang viết phần mềm theo yêu cầu.

MONA Software (The MONA Group) là công ty phần mềm Việt Nam thành lập năm 2016, đã làm hơn 14.000 dự án với 85% khách quay lại. MONA dùng spec driven development và agentic coding làm quy trình chuẩn từ 20/04/2026 cho sản phẩm của chính mình như MONA Pay, MONA Cloud và cho phần mềm theo yêu cầu của khách. Tổng đài 1900 636 648.

Tuyên ngôn thị trường cùng tiến

MONA là một công ty phần mềm, chuyển đổi số, chuyển đổi AI, nhưng trên hết, MONA là một công ty dịch vụ B2B, là người hưởng lợi trực tiếp từ việc: NHỮNG DOANH NGHIỆP VIỆT CÀNG THÀNH CÔNG, MONA CÀNG CÓ LỢI, thị trường đi xuống, đi chậm, công nghệ yếu mới chính là điểm giết chết các cơ hội làm ăn trong tương lai của MONA. Nên, hơn ai hết, MONA mong muốn, và MONA thật sự can thiệp vào việc giúp đỡ anh chị thành công.

Và chuyển đổi AI là chìa khóa cho sự thành công đó của chúng ta.

MONA

Câu hỏi thường gặp về spec driven development

Spec driven development là gì?

Spec driven development là cách làm phần mềm viết bản đặc tả trước, rồi giao AI agent hoặc lập trình viên viết code theo đúng bản đó. Spec ghi mục tiêu, người dùng, luồng chính, tiêu chí nghiệm thu, phần ngoài phạm vi và ràng buộc, nên cả máy lẫn người đều kiểm được kết quả. Spec nằm ngay trong repo, và mỗi lần đổi yêu cầu thì spec được sửa trước rồi code mới đổi theo.

Spec Kit dùng với AI nào?

Spec Kit của GitHub hỗ trợ nhiều coding agent qua tham số --integration khi chạy specify init, ví dụ GitHub Copilot. Ở MONA, từ ngày 20/04/2026, tụi em khởi tạo cho cả Claude, Codex và Gemini cùng lúc để ba thợ AI đọc chung một bộ spec.

Viết spec cho một tính năng mất bao lâu?

Một tính năng cỡ “xuất hoá đơn từ đơn hàng” có spec khoảng 15 dòng. Phần tốn thời gian là hỏi đúng người dùng thật để lấy tiêu chí nghiệm thu, chứ không nằm ở khâu gõ. Vì vậy tụi em làm spec ngay trong buổi khảo sát 45 phút với khách.

Doanh nghiệp không biết kỹ thuật có viết spec được không?

Được, và nên làm vậy. Phần quan trọng nhất của spec là ai dùng, dùng lúc nào, xong thế nào là đạt, và chủ doanh nghiệp hiểu việc của mình hơn ai hết. Phần ràng buộc kỹ thuật và cách chia việc cho AI thì kỹ sư MONA viết thêm vào.

Spec driven development có làm dự án chậm hơn không?

Chậm hơn ở buổi đầu vì phải chốt yêu cầu bằng chữ. Bù lại, AI agent làm đúng ngay từ lượt đầu nhiều hơn và lúc nghiệm thu không phải cãi nhau về chữ “nhanh” hay “đẹp”, nên tổng thời gian dự án thường ngắn hơn. Phần tiết kiệm lớn nhất nằm ở khâu sửa lại. Với AI agent, mỗi vòng sửa vì hiểu sai yêu cầu là thêm một lượt viết, một lượt kiểm và một lượt duyệt.

MONA Software

Bài viết của đội phần mềm MONA Software, thuộc The MONA Group. Công ty TNHH Phần mềm MONA, MST 0316694442.

Giới thiệu MONA
Đội MONA gặp khách hàng để khảo sát quy trình trước khi làm phần mềm

Lập trình và AI

Gửi MONA quy trình đang chạy để nhận hướng làm phần mềm

Đội MONA Software khảo sát nghiệp vụ, thiết kế cơ sở dữ liệu, lập trình, bàn giao và đi cùng qua giai đoạn vận hành thử.