𝗩𝗶𝗯𝗲 𝗖𝗼𝗱𝗶𝗻𝗴 𝗞𝗵𝗼̂𝗻𝗴 𝗣𝗵𝗮̉i 𝗟𝗮̀ 𝗠𝗼̣̂𝘁 𝗖𝗮̂́𝗽 𝗕𝗮̣̂𝗰. 𝗡𝗼́ 𝗟𝗮̀ 𝗠𝗼̣̂𝘁 𝗧𝗿𝗼̣ᴄ 𝗧𝗼̣̂𝗶.

Karpathy định nghĩa vibe coding là một vòng lặp đơn giản: xem thứ gì đó, nói thứ gì đó, chạy thứ gì đó, và sao chép-dán.

Hầu hết mọi người coi đây là một nấc thang của sự tự chủ. Họ đo lường lượng công việc mà bạn giao cho AI.

Các cấp độ trông như thế này:

  • L0: Không có AI
  • L1: AI đóng vai trò tự động hoàn thiện (autocomplete)
  • L2: Dựa trên ý định (bạn xác định "cái gì", AI xác định "như thế nào")
  • L3: Lập trình cặp (pair-programming) cộng tác
  • L4: Bán tự chủ
  • L5: Tự chủ hoàn toàn

Nấc thang này hữu ích nhưng chưa đầy đủ. Nó chỉ đo lường một thứ duy nhất: sự ủy thác.

Hai lập trình viên đều có thể ở Cấp độ 4. Một người xây dựng một codebase sạch sẽ và ngày càng vững chắc. Người kia xây dựng một mớ hỗn độn và dần suy thoái.

Sự khác biệt không nằm ở kỹ năng của họ. Mà nằm ở kỷ luật điều hành (operator discipline) của họ.

Kỷ luật điều hành là việc bao nhiêu phần công việc của bạn được lưu giữ dưới dạng trạng thái có thể kiểm tra được (inspectable state).

Nếu bạn không lưu lại các quyết định của mình, bạn sẽ phải lặp lại chúng trong mỗi phiên làm việc. Tôi đã mất hàng tháng trời tranh luận với AI về cùng một kiến trúc. Nó cứ đề xuất cùng một thứ sai lầm hết lần này đến lần khác. Tôi cảm thấy kiệt sức.

Tôi đã khắc phục điều này bằng cách tạo ra một kho lưu trữ đơn giản cho các quyết định:

  • Đề xuất (Proposed)
  • Đã chấp nhận (Accepted)
  • Đã chốt (Locked)

Một khi quyết định đã được chốt, AI không thể thay đổi nó nếu không có sự cho phép. Công việc trở nên bình lặng hơn. Codebase không còn bị chao đảo nữa.

Vibe coding là một bản đồ hai trục. Trục 1 là Sự tự chủ (từ L0 đến L5). Trục 2 là Kỷ luật điều hành (từ Thấp đến Cao).

Công thức toán học như sau: L1 + Kỷ luật cao > L5 + Kỷ luật thấp xét trong thời gian dài.

Sự tự chủ cao đi kèm với kỷ luật thấp sẽ dẫn đến tốc độ tối đa nhưng cũng đi kèm với sự hỗn loạn tối đa. Bạn sẽ lao nhanh vào một bức tường nợ kỹ thuật (technical debt).

Để xây dựng với kỷ luật, tôi sử dụng ba thứ:

  • Một tệp persona: Danh tính, quy tắc và sở thích dành cho mô hình.
  • Các kho lưu trữ chỉ cho phép ghi thêm (append-only stores): Nơi lưu trữ các quyết định đã chốt và các luồng (threads) đang hoạt động.
  • Thói quen ghi chép (capture habit): Viết lại các quyết định ngay khi chúng vừa được đưa ra.

Đừng chỉ dựa vào các câu lệnh (prompts). Hãy xây dựng một máy trạng thái (state machine).

Nếu việc sử dụng nhiều AI hơn không mang lại cho bạn nhiều đòn bẩy hơn, vấn đề có lẽ không nằm ở mô hình. Vấn đề nằm ở trục thứ hai của bạn.

Bạn lưu giữ điều gì dưới dạng trạng thái? Bạn phải xây dựng lại cái gì từ đầu trong mỗi phiên làm việc?

Source: https://dev.to/jugeni/vibe-coding-is-not-a-level-its-an-axis-12gb

Optional learning community: https://t.me/GyaanSetuAi