Claude Code bằng giọng nói: xây dựng trên lane song song

Agent lập trình AI biến gõ phím thành nút thắt. Quy trình thực tế để đọc prompt, review và lệnh đổi hướng cho các lane agent song song trên macOS.

Teodor Deleanu10 tháng 7, 20268 phút đọc

Có một thứ đã lặng lẽ đảo chiều trong năm vừa rồi của việc lập trình có AI hỗ trợ: phần chậm nhất trong vòng lặp không còn là cái máy. Claude Code vui vẻ cày một lượt refactor suốt bốn phút. Cursor sẽ soạn cả bộ test trong lúc bạn không nhìn tới. Nút thắt cổ chai là bạn — cụ thể là đôi tay của bạn, thứ chỉ có thể ở trong một cửa sổ tại một thời điểm.

Một khi bạn chạy nhiều hơn một lane agent, chuyện này thôi là phiền toái và trở thành hình dáng của cả ngày làm việc. Lane một đang refactor phần auth. Lane hai đang chờ bạn review. Lane ba là một thread Slack nơi khách hàng đang mô tả một cái bug rất tệ. Mỗi lane trong số đó chỉ tiến lên nhờ ngôn ngữ tự nhiên — và bạn thì đang sản xuất thứ ngôn ngữ tự nhiên đó bằng mười ngón tay và một cửa sổ đang focus.

Đó là khoảng trống mà giọng nói lấp vào. Không phải giọng nói kiểu “đọc cả cuốn tiểu thuyết” — mà là giọng nói làm kênh điều khiển. Đây là phần của vibecoding mà chẳng ai demo: bạn hiếm khi tạo ra chính phần code bằng cách nói, bạn đang lái những agent làm việc đó.

Prompt là văn xuôi, và văn xuôi thì nói ra nhanh hơn

Chuyện về việc điều khiển một agent lập trình là thế này: đầu vào không phải code. Nó là chỉ dẫn. “Lấy phần logic retry ra khỏi WebSocket handler, chuyển nó thành module riêng, và cho phép cấu hình giới hạn backoff.” Bạn gõ được câu đó trong hai mươi giây nếu bạn đã ở sẵn trong cửa sổ, đã khởi động xong, và không nghĩ về thứ gì khác.

Nhưng bạn không bao giờ còn ở trạng thái đó nữa. Bạn đang review dở ở một lane khác. Bạn đang đọc cái diff cuối cùng của agent. Bạn đang cầm ly cà phê. Chi phí của một prompt không phải thời gian gõ — mà là cú chuyển ngữ cảnh để đưa tay và mắt bạn vào đúng tư thế để gõ nó.

Nói prompt ra làm sập cái chi phí đó. Focus vào terminal, giữ một phím, nói ra câu bạn vốn đã nói sẵn trong đầu, thả ra. Câu chữ rơi xuống con trỏ và lane lại bắt đầu chạy trong khi sự chú ý của bạn quay về đúng chỗ nó cần ở.

Quy trình, một cách cụ thể

Tôi dùng Keebye cho việc này — đó là công cụ tôi làm ra khi vấn đề này ăn mất đời sống làm việc của tôi, và những chi tiết bên dưới là hành vi thật của nó, không phải mong ước. Danh sách thiết lập rút gọn — hotkey, chế độ chèn văn bản, từ điển — nằm ở gõ bằng giọng nói cho Claude Code.

Một hotkey, giữ xuống. ⌘ phải là mặc định. Giữ nó, nói, thả ra; văn bản đã chuyển rơi vào ô nhập liệu có thể chỉnh sửa đang focus. Với những chỉ dẫn dài hơn, một cú nhấn đơn sẽ bật chế độ ghi âm cho đến khi bạn nhấn lần nữa. Esc để hủy. Không có cửa sổ nào phải mở ra, và đó chính là toàn bộ ý đồ — công cụ này không có lane của riêng nó.

Chế độ gõ mô phỏng cho terminal. Claude Code sống trong terminal, mà terminal thì thù địch với cách chèn văn bản bằng dán qua clipboard — nhất là qua SSH hay bên trong tmux. Keebye có thể gõ mô phỏng văn bản ra thay vì dán, với nhịp độ hiểu terminal, để prompt đến nơi đúng như cách những cú nhấn phím sẽ đến. Một cài đặt này là khác biệt giữa “bản demo dễ thương” và “công cụ dùng hằng ngày” cho công việc với agent — toàn bộ câu chuyện vì sao terminal làm hỏng thao tác dán nằm trong bài đọc chính tả sống sót được trong terminal.

Một từ điển cho vốn từ riêng của bạn. Các model giọng nói không biết vốn từ của dự án bạn. Một từ điển tùy chỉnh ánh xạ điều model nghe được sang điều bạn muốn nói — tên module, tên đồng đội, “pnpm”, bất cứ thứ gì codebase của bạn bắt bạn phải nói đi nói lại.

Dọn dẹp cục bộ với một phép suy đoán có giới hạn. Lời nói thô đầy “um” và những lần bắt đầu hụt. Keebye lược bỏ từ đệm và sửa dấu câu bằng các quy tắc nhanh; bước trau chuốt bằng LLM cục bộ tùy chọn sẽ lùi lại khi có mất token nghiêm trọng, phình nở hoặc lặp lại. Lớp bảo vệ đó không thể chứng minh ý nghĩa hay bảo vệ mọi chỗ phủ định, nên hãy xem lại những chỉ dẫn quan trọng gửi cho agent trước khi gửi đi.

Và vì toàn bộ việc chuyển giọng nói thành văn bản chạy ngay trên máy, bản thân những prompt đó — thứ mô tả chi tiết sản phẩm chưa công bố của bạn, từng lane một — không bao giờ rời khỏi máy.

Điều khiển bằng giọng nói thật sự giỏi ở chỗ nào

Sống với nó mỗi ngày, đây là bản kiểm kê trung thực:

Lệnh đổi hướng. Agent làm xong, và nó đúng 80%. “Giữ nguyên phần tách ra, nhưng hoàn tác việc đổi tên trong các tệp test rồi chạy lại bộ test.” Nói ra thì mất ba giây. Đây là kiểu đọc chính tả có giá trị cao nhất trong ngày của tôi.

Xếp hàng cho lane tiếp theo. Trong lúc lane một đang build, hãy mô tả nhiệm vụ kế tiếp vào lane hai. Tay thì nối tiếp, việc thì song song.

Phần văn xuôi quanh code. Mô tả PR, commit message, câu trả lời Slack cho báo cáo bug, cái email bạn còn nợ. Focus vào cửa sổ, nói ra, xong — tay bạn chưa từng rời khỏi cái lane chúng đang ở.

Nghĩ thành tiếng, một cách hữu ích. Một số chỉ dẫn nói ra thì rõ hơn, vì lời nói ép bạn phải tuyến tính. Bạn không thể lồng ngoặc đơn bằng miệng.

Nó không phải cái gì

Phần trung thực. Việc chuyển văn bản trong Keebye chạy theo batch, không phải luồng liên tục — chữ xuất hiện khi bạn thả phím, không phải từng từ một. Điều đó ổn với prompt (bạn nói, rồi nó rơi xuống thành một khối) nhưng nghĩa là đây không phải trải nghiệm phụ đề trực tiếp. Model mặc định được tinh chỉnh cho tiếng Anh; đọc chính tả đa ngôn ngữ là một engine riêng chạy trên máy, bao 25 ngôn ngữ — nói thêm về việc vì sao chuyện đó quan trọng ở bài đọc chính tả không nên chỉ có tiếng Anh. Và chẳng công cụ đọc chính tả nào biến một prompt dở thành prompt hay; giọng nói bỏ đi ma sát, chứ không bỏ đi nhu cầu phải suy nghĩ.

Trong lĩnh vực này cũng có những công cụ tốt khác — Superwhisper và Wispr Flow là hai cái chúng tôi hay được hỏi, và chúng tôi đã viết so sánh trung thực về cả hai: Keebye vs SuperwhisperKeebye vs Wispr Flow.

Vì sao chuyện này cộng dồn

Một prompt được đọc ra tiết kiệm vài giây. Đó không phải câu chuyện. Câu chuyện là những giây đó đang chặn cái gì: mỗi lane bạn chạy chỉ tiến lên khi bạn nạp cho nó, nên thuế đánh lên việc nạp một lane là thuế đánh lên tất cả. Cắt nó đi, và bạn thôi phải phân phối nhỏ giọt sự chú ý của chính mình — bạn thêm được cái lane thứ ba mà trước đây bạn không chạy vì thấy nó quá tốn công quản lý.

Nguồn gốc của tất cả chuyện này kém thanh lịch hơn một bài luận về quy trình làm việc: hai đứa con, vài luồng việc đầy rủi ro cao, và không đủ tay. Câu chuyện đó ở đây — Hai đứa con, ba startup, một giọng nói.

Keebye đang trong giai đoạn truy cập sớm cho macOS. Hãy bắt đầu bản dùng thử miễn phí bên dưới, chĩa nó vào cái lane bận nhất của bạn, và thử một chuỗi cụ thể: review lane một, đọc một lệnh đổi hướng vào lane hai, rồi trả lời con người đang chờ ở lane ba. Giọng nói không điều khiển chúng cùng lúc; nó giữ cho từng lane song song luôn được nạp việc với ít chi phí chuyển giao hơn.

Nạp việc cho cái lane đang chờ

Bắt đầu bản dùng thử miễn phí 14 ngày và thử một lệnh đổi hướng nói ra trong phiên Claude Code bận rộn nhất của bạn.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Đọc tiếp