Lập trình với AI nghĩa là gì trong kỷ nguyên vibe coding?
Lập trình với AI trong kỷ nguyên “vibe coding” là cách phát triển phần mềm nơi bạn mô tả ý tưởng, bối cảnh và mục tiêu bằng ngôn ngữ tự nhiên, để trợ lý AI đề xuất giải pháp, tạo mã nguồn, chạy thử và chỉnh sửa thông qua một cuộc trò chuyện liên tục thay vì thao tác trực tiếp trên terminal hay IDE phức tạp.
Điểm mấu chốt: nếu bạn vẫn phải mở terminal cho mọi tác vụ, bạn đang tự trói mình vào một cách làm cũ. “Vibe coding” biến lập trình từ kỹ năng thuần kỹ thuật thành một cuộc đối thoại, nơi AI hiểu ý định của bạn và chuyển thẳng thành mã nguồn. Khi Rovo Dev được nối với Slack, bạn có thể ngồi trong phòng chat quen thuộc, nói: “tạo branch mới”, “viết unit test cho đoạn code này” – và để AI làm phần nặng. Đây không chỉ là tiện lợi; nó thay đổi cách chúng ta tổ chức công việc, giảm hẳn việc nhảy qua lại giữa quá nhiều công cụ.

Vì sao nên biến Slack thành IDE: ít chuyển ngữ cảnh, nhiều tập trung
Hầu hết lập trình viên ngày nay sống trong Slack nhiều hơn là trong terminal. Vậy tại sao không kéo luôn môi trường lập trình với AI vào nơi bạn đang trò chuyện với team? Một cầu nối nhỏ (khoảng 300 dòng Python) giữa Rovo Dev CLI và Slack cho phép bạn lập trình ngay trong kênh chat: không cần mở terminal, không cần nhớ lệnh, không bị cắt ngang dòng suy nghĩ.
Điểm ăn tiền của Rovo Dev Slack là cắt giảm chuyển ngữ cảnh: bạn đang bàn yêu cầu với PM, gõ ngay cho bot: “viết prototype API theo mô tả trên” – không phải chuyển sang IDE rồi quay lại giải thích. Trợ lý AI lo phần thao tác máy, bạn giữ đầu óc cho kiến trúc, quy ước, trải nghiệm người dùng. Theo mô hình vibe coding, cuộc trao đổi xoay quanh vấn đề, không phải từng dòng syntax. Điều này tốt không chỉ cho senior dev mà cả những người không rành công cụ dòng lệnh.

Chuẩn bị nền: những gì bạn cần để nối Rovo Dev với Slack
Để lập trình với AI qua Slack thay vì terminal, bạn không cần hạ tầng hoành tráng, nhưng phải chuẩn bị đúng mảnh ghép. Về phía AI, bạn cần Rovo Dev CLI chạy ở chế độ HTTP API với lệnh `acli rovodev serve 18888 -- disable - session - token`, lệnh này mở một server cục bộ với các endpoint rõ ràng. Về phía Slack, bạn cần một ứng dụng dùng Slack Bolt cho Python, chạy ở Socket Mode để nhận và gửi tin nhắn mà không cần public URL hay ngrok.
Ở giữa là một cầu nối Python 3 khoảng 300 dòng, ghép Slack ↔ Rovo Dev, và một process manager như systemd để dịch vụ tự khởi động cùng máy, tự restart khi lỗi. Đừng xem nhẹ lớp bảo mật: ít nhất hãy dùng biến môi trường `ALLOWED_USER_ID = os.environ.get("ALLOWED_USER_ID", "")` để chỉ xử lý tin nhắn từ tài khoản Slack của bạn, người khác nhắn bot vẫn bị bỏ qua. Đây là mức độ cấu hình mà một dev bình thường hoàn toàn có thể tự làm, không cần đội hạ tầng riêng.

Từng bước biến cuộc trò chuyện Slack thành code chạy được
Cách tích hợp này không phải phép màu đen tối; nó là một chuỗi bước rõ ràng. Trước hết, chạy `acli rovodev serve` để Rovo Dev nghe trên một cổng cục bộ và phơi bày hai endpoint: `POST /v3/set_chat_message` để gửi thông điệp tới AI, và `GET /v3/stream_chat` để nhận phản hồi theo dạng Server-Sent Events (SSE). Sau đó, ứng dụng Slack Bolt nhận tin nhắn (DM hoặc mention), gửi nội dung đó sang endpoint POST, rồi đọc stream SSE đến hết câu trả lời.
Khi phản hồi hoàn tất, cầu nối ghép toàn bộ nội dung và đăng lại lên Slack dưới dạng reply. Để tránh phải khởi động tay mỗi ngày, bạn chạy script này như một service systemd, nhờ đó nó tự bật khi máy boot và tự restart khi gặp sự cố. Sai lầm phổ biến nhất không nằm ở code mà ở cấu hình quyền Slack; người viết cầu nối mất gần hai giờ cài đặt, chủ yếu là “đánh nhau với Slack scopes”. Một khi xong xuôi, cấu trúc này đủ đơn giản để bạn sửa tiếp: thêm multi-session theo thread, slash command, hay xử lý file upload về sau.
Kết quả và giới hạn: vibe coding không thay thế dev, nó thay đổi vai trò
Khi hệ thống hoạt động đúng, bạn có một bot Slack nói chuyện thẳng với Rovo Dev qua HTTP + SSE, chạy như một dịch vụ systemd, tự khởi động cùng máy và chỉ trả lời tin nhắn của bạn. Từ đó, bạn có thể hỏi: “what’s in my home directory?” để AI chạy `ls -la ~` và đáp lại, yêu cầu “explain the AGENTS.md file in my workspace” để nó đọc và tóm tắt, hay bảo “create a new branch called feature/xyz” để nó thực thi lệnh git. Đây là vibe coding đúng nghĩa: mô tả yêu cầu thay vì gõ lệnh chi tiết, để AI lo phần thao tác kỹ thuật.
Nhưng sự thoải mái này cũng mang rủi ro: càng dễ tạo phần mềm, càng nhiều người viết ra những hệ thống mà họ không hiểu sâu, kéo theo vấn đề bảo trì và bảo mật. Lập trình viên kinh nghiệm không bị loại bỏ; họ trở thành người thẩm định chất lượng, phát hiện khi AI chọn giải pháp sai hoặc sinh ra đoạn code nguy hiểm. Kết luận hợp lý là: hãy tích hợp AI vào quy trình làm việc hàng ngày – Slack, notepad, công cụ bạn đang dùng – để giảm ma sát, nhưng đừng abdicare trách nhiệm kỹ thuật. AI là cộng sự, không phải người chịu trách nhiệm thay bạn.






