0
0
Lập trình
Admin Team
Admin Teamtechmely

Lập trình Spec với Kiro: Kinh nghiệm xây dựng LiftFire

Đăng vào 3 tuần trước

• 5 phút đọc

Tóm tắt:

Lập trình vibe (ứng dụng một câu) rất thú vị, nhưng không thể mở rộng. Lập trình spec là một quy trình trong đó các tệp .md (product.md, tech.md, requirements.md,...) hoạt động như các thông số sống dẫn dắt quá trình xây dựng, hỗ trợ bởi các hook tự động.

Tôi đã thử nghiệm điều này bằng cách xây dựng LiftFire, một ứng dụng theo dõi tập luyện gym. Đây là những gì tôi đã học được:

  • Một trang nhỏ có thể chạy trên ~50 thông số.
  • Một ứng dụng thực tế có thể cần 500+ thông số và 700+ vibe.
  • Các thông số xử lý kiến trúc lớn; các vibe chăm chút cho chi tiết.
  • Con người vẫn là yếu tố quyết định.

Điều này đã thuyết phục tôi rằng lập trình spec là con đường tiến tới cho phát triển hỗ trợ AI.


Từ phép màu lập trình vibe đến thực tế lập trình spec

Lần đầu tiên tôi thấy lập trình vibe, cảm giác như phép thuật: “Xây dựng cho tôi một trang” → bùm, một trang xuất hiện.

Nhưng phép màu đó không kéo dài khi bạn vượt ra ngoài các bản demo nhỏ.

Ứng dụng một câu là các bản demo thú vị, nhưng chúng là ngõ cụt cho phát triển nghiêm túc.

Các ứng dụng thực sự cần cấu trúc. Chúng cần nhiều hơn là chỉ vibe.

Đó là lúc lập trình spec xuất hiện. Các công cụ như Kiro IDE đang khám phá con đường này, và đây là cách tôi đã thực hiện:

  • Tệp điều khiển (product.md, tech.md, security.md, structure.md) hoạt động như các tài liệu thiết kế sống.
  • Thông số phân chia hệ thống thành các ứng dụng nhỏ hơn, tính năng hoặc mô-đun — mỗi cái đều có requirements.md, design.md, và tasks.md riêng.
  • Hook (hay còn gọi là yêu cầu vibe) kích hoạt các tác vụ như kiểm tra, cam kết, hoặc định dạng — có thể thực hiện thủ công hoặc tự động khi điều kiện được đáp ứng.

Điều này không phải là để thay thế các kỹ sư. Nó là để nâng cuộc trò chuyện từ “dòng mã” lên “ý định + kiến trúc.”


Luật mở rộng của tôi: 50 thông số so với 500 thông số

Một trang nhỏ = ~50 thông số.
Một ứng dụng thực tế với frontend, backend, DB, AWS và các tính năng xã hội = 500+ thông số và 700+ vibe.

Các thông số di chuyển những viên đá lớn.
Các vibe đập vào chi tiết.
con người giám sát quy trình quyết định thành công hay thất bại.

Tự động hóa rất mạnh mẽ, nhưng sự phán đoán của con người mới mang lại ý nghĩa cho dự án.


Thông số vs Ticket

Các thông số trong tệp .md tốt hơn ticket trong Jira. Kết thúc.
Ticket phân tán ý định; thông số tập trung nó.

Jira và Trello được xây dựng cho quy trình làm việc của con người, không phải cho quy trình điều khiển bởi AI. Các thông số là gần với mã, dễ duy trì hơn, và trực tiếp dẫn dắt quá trình xây dựng.

Tôi thậm chí còn dự đoán:

Trong 5 năm, hầu hết các công ty khởi nghiệp sẽ không bắt đầu với một mã nguồn. Họ sẽ bắt đầu với một tập hợp các thông số .md.


Cảm giác khi xây dựng LiftFire

Để thử nghiệm quy trình làm việc này, tôi đã xây dựng LiftFire, một ứng dụng theo dõi tập luyện gym.
Có, tôi đã kéo cháu trai của mình vào phòng gym để thử nghiệm — trách nhiệm là một tính năng.

MVP là chức năng: theo dõi bài tập, mục tiêu, cột mốc. Nó sẽ sớm được xuất bản dưới dạng APK trên Google Play.
Nhưng phần quan trọng nhất không phải là ứng dụng mà là trải nghiệm lập trình khác biệt:

  • Viết thông số trong tệp .md thay vì để mất ý định trong các ticket.
  • Theo dõi các hook vibe tự động tạo kiểm tra khi các tệp thay đổi.
  • Nhận ra rằng việc cam kết, linting, và các công việc khác có thể tự động thực hiện trong khi tôi vẫn ở trong “chế độ thiết kế.”

Cảm giác như không phải lập trình một mình, mà giống như điều hành với một nhà phát triển junior siêu nhanh không bao giờ ngủ — nhưng vẫn cần hướng dẫn.


Tại sao điều này quan trọng

Hầu hết các công cụ phát triển tập trung vào việc tăng tốc độ gõ.
Lập trình spec tập trung vào nâng cao mức độ trừu tượng:

  • Các kỹ sư dành nhiều thời gian hơn để suy nghĩ về kiến trúc và ngữ cảnh.
  • AI xử lý các cơ chế lặp đi lặp lại.
  • Giám sát của con người gắn kết mọi thứ lại với nhau.

Những gì ba kỹ sư + Jira làm trong sáu tháng, một kỹ sư với lập trình spec có thể làm trong hai tuần.

Nó yêu cầu nhiều nỗ lực hơn ở đầu, nhưng nó tạo ra phần mềm mạnh mẽ hơn, nhanh hơn, với ít người bị mắc kẹt trong công việc dán dính.

Và vẫn — con người là chìa khóa. Nếu không có tầm nhìn, phán đoán và quản lý lâu dài của con người, sẽ không có giá trị lâu dài.


Suy nghĩ cuối

Lập trình vibe là bản demo thú vị.
Lập trình spec là bước thay đổi hướng tới phần mềm hỗ trợ AI quy mô lớn, thực tế.

Nó không có nghĩa là các kỹ sư sẽ biến mất — mà là vai trò của chúng ta chuyển đổi: ít boilerplate, nhiều kiến trúc, nhiều quyết định quan trọng hơn.

Và từ những gì tôi đã thấy khi xây dựng LiftFire với Kiro, các dự án chấp nhận mô hình này sẽ hoàn thành nhanh hơn, mạnh mẽ hơn và gọn gàng hơn so với những dự án không làm như vậy.

👉 Bạn nghĩ sao: liệu các thông số có phải là ticket mới, hay tôi đang thổi phồng tương lai? Bạn có tin tưởng 500 thông số / 700 vibe để xây dựng ứng dụng tiếp theo của mình không?


Nếu bạn tò mò về phía cá nhân của câu chuyện này — tại sao cháu trai của tôi lại bị kéo vào phòng gym cùng tôi, và điều đó đã định hình ứng dụng LiftFire như thế nào, tôi đã viết về nó trên blog cá nhân của mình.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào