Trò chuyện với agent trông có vẻ đơn giản: bạn viết bằng lời bình thường cần làm gì, nó làm. Nhưng chính dòng nhập đó còn có một cửa thứ hai. Chỉ cần bắt đầu tin nhắn bằng dấu gạch chéo / - Claude Code sẽ tìm mục phù hợp trong menu lệnh của nó.

Bài viết này nói trước hết về các lệnh điều khiển phiên làm việc - toàn bộ cuộc trò chuyện hiện tại của bạn với agent, từ lúc khởi chạy đến lúc thoát. Chúng dùng để đổi model, xóa cuộc trò chuyện, xem trạng thái của nó, hoàn tác một lượt không thành công. Dễ hình dung nhất là coi chúng như một chiếc điều khiển: phiên làm việc có các nút bấm riêng, và bạn bấm chúng tách biệt với cuộc trò chuyện về nhiệm vụ. Nhưng không phải dòng nào có dấu gạch chéo cũng là nút bấm của điều khiển. Cùng menu đó còn khởi chạy các kịch bản dựng sẵn và prompts của những công cụ đã kết nối. Trong giao diện chúng được gọi là skills và workflows; chúng có thể giao cho agent một nhiệm vụ trọn vẹn và thay đổi project.

Bên dưới: cách tìm bất kỳ lệnh nào trong hai giây, mười hai lệnh nào đáng biết ngay từ đầu, lệnh nào bạn có thể bấm thoải mái chỉ vì tò mò, và lệnh nào có thể ghi đè file trên đĩa.

Hai cách nói chuyện với agent

Văn bản tự do đặt ra một nhiệm vụ. "Thêm vào trang một biểu mẫu liên hệ" - agent sẽ đọc file, quyết định cần đổi gì, và đổi.

Các lệnh có sẵn trong phần này điều khiển phiên làm việc. /model đổi model, /clear bắt đầu lại cuộc trò chuyện, /status cho biết bạn đang làm với gì. File của project trong lúc đó hầu như không hề bị động tới.

Có một quy tắc kỹ thuật hay gây bối rối: lệnh chỉ được nhận ra khi nằm ở ngay đầu tin nhắn. Dấu gạch chéo ở giữa câu chỉ là một ký tự bình thường, không có lệnh nào ở đó cả. Còn mọi thứ đứng sau tên lệnh trở thành tham số của nó:

Bạn đã gõ gìAgent đọc thế nào
thêm vào trang một biểu mẫu liên hệmột nhiệm vụ bằng lời bình thường, không có dấu gạch chéo nào cả
/compact giữ lại mọi thứ về bố cục của biểu mẫumột lệnh, và mọi thứ sau tên của nó là tham số
sửa đường dẫn src/main/index.htmlcó dấu gạch chéo, nhưng không nằm ở đầu, nên không phải lệnh
Lệnh gửi giữa lúc agent đang trả lời không bị mất

Nếu gửi một lệnh trong khi agent vẫn đang trả lời, nó sẽ xếp vào hàng đợi và chạy ngay khi agent hoàn thành bước hiện tại. Một số lệnh hoạt động khác đi và có hiệu lực ngay lập tức, không cắt ngang câu trả lời, ví dụ /status.

Cách tìm đúng lệnh cần dùng

Không cần thuộc lòng danh sách, và có lẽ đó là điều quan trọng nhất nên nhớ từ bài này 😅. Gõ / vào dòng trống - menu với toàn bộ lệnh khả dụng sẽ mở ra. Gõ thêm vài chữ cái, danh sách được lọc lại, Tab chọn gợi ý đang được tô sáng.

Nếu muốn có phần giải thích thay vì menu, đã có /help. Nó trả lời câu hỏi "ở đây rốt cuộc có những gì".

Trong menu không chỉ có các lệnh có sẵn. Skills, workflows và prompts từ plugin và các công cụ đã kết nối cũng nằm ở đó. Đây không phải nút điều khiển mà là kịch bản dựng sẵn: chúng đưa cho agent chỉ dẫn, có thể chạy công cụ và thay đổi project. Vì vậy tập hợp này lớn lên cùng project, và bạn cũng có thể tự bổ sung vào đó - nhưng đó là chủ đề của một bài khác.

Và một lưu ý trước, để sau này khỏi bất ngờ: danh sách này khác nhau ở mỗi người. Một số lệnh phụ thuộc vào nền tảng, gói dịch vụ và những gì đang kết nối với project. Không thấy một dòng nào trong bảng dưới đây trên máy của mình - đó là bình thường, không phải lỗi.

Bộ lệnh cơ bản cho thời gian đầu

Mười hai lệnh dùng được rất lâu. Không cần học thuộc lòng, chỉ cần đọc qua một lần và biết rằng chúng tồn tại.

LệnhLàm gìKhi nào cần dùng
/helphướng dẫn và danh sách các lệnh khả dụngquên mất mình có gì trong tay
/statusphiên bản, model, tài khoản, các kết nốikhông rõ mình đang làm việc với gì
/doctorkiểm tra cài đặt và thiết lập: PATH, các bản cài trùng lặp, file thiết lập không đọc được; đề xuất sửa những gì tìm thấy, nhưng chỉ sửa sau khi bạn xác nhậnagent khởi chạy được nhưng hoạt động kỳ lạ
/modelđổi modelnhiệm vụ cần một model khác
/idetrạng thái kết nối với editorplugin đã kết nối nhưng hoạt động không đúng
/contextcái gì đang chiếm cửa sổ ngữ cảnhcuộc trò chuyện đã dài, muốn hiểu nó chứa gì
/clearbắt đầu cuộc trò chuyện từ trang trắngchuyển sang nhiệm vụ khác
/compactnén cuộc trò chuyện thành bản tóm tắt ngắn gọncuộc trò chuyện dài, nhưng nhiệm vụ vẫn thế
/rewindquay lại một điểm trước đó của cuộc trò chuyện hoặc của codelượt vừa rồi làm hỏng mọi thứ
/resumechuyển sang một cuộc trò chuyện đã lưu kháccần quay lại công việc của hôm qua
/costđã tiêu bao nhiêu, giống hệt /usagetò mò phiên làm việc này tốn bao nhiêu
/exitthoátkết thúc công việc

Riêng về /rewind: nó còn có các bí danh /undo và /checkpoint. Nên nếu tay bạn theo thói quen gõ "undo", mọi thứ vẫn hoạt động.

Lệnh nào thay đổi, lệnh nào chỉ hiển thị

Bộ lệnh trong bảng chia thành ba nhóm, và sự khác biệt giữa chúng quan trọng hơn nhìn thoáng qua.

  • Chỉ hiển thị. /help, /status, /context, /cost, /ide. Không thay đổi gì trong project cũng như trong cuộc trò chuyện. Bấm bao nhiêu lần cũng được.
  • Thay đổi cuộc trò chuyện hoặc thiết lập của agent, nhưng không đụng tới file project. /clear, /compact và /resume chỉ làm việc với những gì agent đang giữ trong đầu: hai lệnh đầu với cuộc trò chuyện hiện tại, lệnh thứ ba thay nó bằng một cuộc trò chuyện khác. /model đổi model và ghi nhớ lựa chọn cho các phiên làm việc mới. /exit đóng phiên làm việc, còn cuộc trò chuyện vẫn được lưu lại.
  • Có thể thay đổi file trên đĩa. /rewind và /doctor. Lệnh đầu là lệnh duy nhất đưa code về trạng thái trước đó. Lệnh sau không động vào code, nhưng có thể đề xuất sửa thiết lập, cũng như CLAUDE.md và skills của project, và chỉ áp dụng chúng sau khi bạn xác nhận.
Cẩn thận với /rewind

Đây là lệnh duy nhất trong bộ lệnh cơ bản làm thay đổi code trên đĩa. Menu của nó cho bạn chọn điểm muốn quay lại, và chọn chính xác cái gì cần khôi phục: code, cuộc trò chuyện, hay cả hai. Hãy đọc kỹ mục đang được chọn trước khi bấm: những chỉnh sửa mà agent đã làm bằng công cụ chỉnh sửa file của nó sau điểm đó sẽ biến mất. Các chỉnh sửa của subagent thường không nằm trong số này. Còn những gì nó làm bằng lệnh trong terminal - rm, mv, script - và những chỉnh sửa của chính bạn trong các file mà agent chưa từng động tới thì việc hoàn tác không đụng tới, bạn sẽ phải khôi phục chúng bằng cách khác.

Và nhân tiện nói về chuyện mất mát. /clear không xóa gì cả: không xóa file project, không xóa cuộc trò chuyện trước đó. File vẫn nằm trên đĩa đúng như đã nằm, cuộc trò chuyện vẫn được lưu và có thể quay lại. Bạn chỉ đơn giản là tiếp tục từ một trang trắng.

Lệnh, cờ dòng lệnh và phím tắt

Việc điều khiển được chia ra ba chỗ khác nhau, và sự nhầm lẫn thường bắt đầu chính từ đây.

Cờ khởi chạy được gõ trong terminal khi phiên làm việc chưa tồn tại, còn slash-command và phím tắt hoạt động bên trong một phiên đã mở sẵnChưa có phiênPhiên đã mởCờ khởi chạySlash-commandPhím tắtclaude --resume/resumeEsc Esc
Bên trái gõ trong terminal, bên phải - trong dòng nhập của một agent đã mở sẵn

Ranh giới nằm ngay ở lúc khởi chạy. Bên trái ranh giới đó chưa có agent, không có ai để nói chuyện - ở đó chỉ có cờ khởi chạy hoạt động. Bên phải agent đã mở, và cả hai cửa đều dẫn vào cùng một phiên làm việc.

Slash-command hoạt động bên trong một phiên đã khởi chạy. Agent đang mở, bạn gõ vào dòng nhập của nó.

Cờ khởi chạy được đặt lúc khởi chạy, khi phiên làm việc chưa tồn tại. Nó không được gõ vào dòng của agent mà vào terminal, ngay cạnh lệnh claude - và đây không phải một lệnh độc lập, mà là phần thêm vào cho lần khởi chạy thông thường:

claude              # khởi chạy bình thường, trang trắng
claude --continue   # tiếp tục cuộc trò chuyện gần nhất trong thư mục này
claude --resume     # chọn một cuộc trò chuyện từ danh sách

Dù thế nào agent cũng khởi chạy. Cờ chỉ nói bắt đầu từ đâu: từ một cuộc trò chuyện trống hay từ một trong những cuộc trò chuyện trước đó.

Dễ hình dung nhất là cặp lệnh làm cùng một việc từ hai chỗ khác nhau:

claude --resume     # danh sách cuộc trò chuyện, ngay trước khi phiên bắt đầu
/resume             # cùng danh sách đó, từ bên trong một phiên đã mở

Phím tắt là chỗ thứ ba. Chúng không nhiều, nhưng lại cứu bạn thường xuyên hơn các lệnh:

  • Esc ngắt câu trả lời hiện tại. Công việc không mất đi, agent chỉ đơn giản dừng lại;
  • Esc Esc khi dòng nhập trống mở menu hoàn tác, giống hệt /rewind;
  • Tab chọn gợi ý tự động hoàn thành;
  • Shift+Tab chuyển đổi chế độ quyền, tức là agent tự ý sửa file mà không hỏi bạn đến mức nào.

Với Esc gõ hai lần có một điểm mà ai cũng gặp phải. Menu hoàn tác chỉ mở khi dòng nhập đang trống. Nếu bạn đã kịp gõ gì đó, lần gõ Esc hai lần đầu tiên chỉ xóa những gì bạn vừa gõ. Văn bản đó không mất đi đâu: nó đi vào lịch sử nhập, và phím mũi tên lên sẽ đưa nó trở lại.

Vì sao chuyện này quan trọng trong công việc hằng ngày

Các lệnh điều khiển trong bài này không nói về cách diễn đạt nhiệm vụ tốt hơn. Chúng giúp giữ phiên làm việc ở trạng thái sẵn sàng. Trong khi đó cả menu / còn rộng hơn thế: skills và workflows có thể tự khởi chạy nhiệm vụ. Vài điều đáng mang theo:

  • các lệnh điều khiển này không làm câu trả lời cho một nhiệm vụ tùy ý tốt hơn. Điều đó vẫn phụ thuộc vào những gì bạn viết bằng lời bình thường;
  • khi có gì đó không ổn, thứ tự thường là: /status để hiểu bạn đang làm với gì, /context để thấy cuộc trò chuyện đang chứa gì, và chỉ sau đó mới chọn giữa /clear, /compact và /rewind;
  • các lệnh có sẵn của giao diện là do chính bạn gọi. Một skill có thể tự kết nối nếu mô tả của nó khớp với nhiệm vụ; đó đã là chỉ dẫn cho agent, không phải nút điều khiển phiên làm việc;
  • menu / lớn lên cùng project. Kết nối một plugin, thêm một skill - trong danh sách sẽ xuất hiện những dòng hôm qua chưa có;
  • /doctor đáng được nhớ riêng: nó xem xét không phải code của project, mà là bản cài và thiết lập của agent, có thể đề xuất rút gọn CLAUDE.md, và không thay đổi gì nếu chưa có sự đồng ý của bạn. Nếu claude hoạt động kỳ lạ ngay từ lúc khởi chạy, bắt đầu từ đây là hợp lý. Còn nếu claude không khởi chạy được chút nào, không có chỗ để gõ lệnh - khi đó hãy chạy claude doctor trong terminal: nó chỉ hiển thị chẩn đoán, không sửa gì cả.
Đừng cố nhớ tên lệnh

Gõ / và vài chữ cái đầu của việc bạn muốn làm. Menu sẽ tự lọc - nhanh hơn cố nhớ chính xác cách viết, và đáng tin hơn việc tìm trên mạng.


Nội dung menu phụ thuộc vào phiên bản Claude Code, nền tảng và gói dịch vụ, nên danh sách của bạn có thể khác với danh sách trong bài. /help luôn hiển thị bộ lệnh hiện tại trên máy của bạn.