Chẩn Đoán Trực Tiếp (LSP)
Vòng phản hồi chặt chẽ nhất không chờ bạn chạy mã — nó bắt lỗi ngay khoảnh khắc chúng được gõ ra. Đó là điều mà Language Server Protocol ( — Giao Thức Máy Chủ Ngôn Ngữ) cung cấp: "bộ não" trực tiếp phía sau trình soạn thảo của bạn, bao gồm lỗi thời gian thực, thông tin kiểu (type), đi-đến-định-nghĩa (go-to-definition), và tự động hoàn thành (autocomplete). Một language server đọc mã của bạn khi nó thay đổi và báo cáo vấn đề trước khi bất cứ thứ gì được chạy.
Đòn bẩy cho vibe coding là đưa những chẩn đoán đó trở lại cho AI. Không có nó, vòng lặp chậm chạp: AI viết mã, bạn chạy nó, nó bị lỗi vì một lỗi gõ hoặc lỗi kiểu, và bạn dán thông báo trở lại bằng tay. Với chẩn đoán được kết nối, thấy cùng đường gạch chân đỏ mà bạn thấy ngay khoảnh khắc nó viết dòng đó — và sửa lỗi kiểu hoặc lint ngay khi đang viết, trước khi mã từng bao giờ được chạy.
Bạn có thể cho agent khả năng "nhìn" này theo vài cách:
- Chạy language server cho stack (bộ công nghệ) của bạn (tsserver, rust-analyzer, pyright, v.v.) — hầu hết các trình soạn thảo AI-native làm điều này cho bạn.
- Cho agent tự chạy một lệnh typecheck hoặc lint và đọc kết quả, hoặc để lộ chẩn đoán qua một server.
- Coi một báo cáo chẩn đoán sạch là một phần của "hoàn thành," không phải là suy nghĩ sau cùng.
Được kết nối theo cách này, agent tự chạy chu trình tự sửa lỗi tương tự một mình — chỉnh sửa, chạy, đọc lỗi, sửa, và chạy lại cho đến khi chẩn đoán trở lại sạch sẽ:
┌──────────┐ ┌──────────┐ ┌──────────────┐
│ EDIT │ ───▶ │ RUN │ ───▶ │ READ FAILURE │
└──────────┘ └──────────┘ └──────┬───────┘
▲ │
│ ▼
│ ┌──────────┐ ┌──────────┐
│ │ PASS │ ◀──── │ FIX │
│ │ (done) │ no └──────────┘
│ └────┬─────┘
└─────────────────┘
still failing
Đây cũng là lý do tại sao một ngôn ngữ có kiểu (typed language) có thể là một siêu năng lực thầm lặng cho vibe coding: mỗi chú thích kiểu (type annotation) là một đặc tả nhỏ, được máy kiểm tra, bắt lỗi của AI trước khi chúng từng bao giờ được chạy. Một chu trình chạy-hỏng-dán trở thành một chu trình thầm lặng, tự sửa lỗi. AI ít phải vật lộn hơn và hội tụ nhanh hơn.