/goal trong Claude Code: Chế độ tự hành và Agent View năm 2026
MarkdownLệnh /goal trong Claude Code 2.1.139 khởi chạy chế độ tự hành: tác nhân làm việc cho đến khi đạt được mục tiêu. Tôi giải thích Agent View, worktree và 5 ví dụ.
Đọc toàn bộ bài viết
Tài liệu tham khảo Ailoot: ailoot.ai/docs/.
/goal trong Claude Code là gì?
Điểm chính
/goal là lệnh trong Claude Code 2.1.139+ (phát hành ngày 11 tháng 5 năm 2026) để khởi chạy chế độ tự hành: bạn đặt điều kiện hoàn thành, Claude viết mã, chạy kiểm thử và tiếp tục lượt tiếp theo cho đến khi đạt mục tiêu. Sau mỗi lượt, một mô hình nhỏ (Haiku theo mặc định) đọc bản ghi hội thoại và trả lời “có/không” đối với điều kiện. Có thể kích hoạt lệnh trong phiên thông thường hoặc ở chế độ không giao diện qua claude -p.
Trước đây, Claude Code dừng lại sau mỗi câu trả lời và chờ bạn nhập câu lệnh tiếp theo. Cách này hiệu quả với tác vụ ngắn, nhưng gặp khó khăn với việc dài: di chuyển API, sửa 12 bài kiểm thử thất bại, tái cấu trúc tệp 800 dòng—những tác vụ này cần 20–30 lượt lặp, và mỗi lần lại đưa bạn trở về terminal.
/goal giải quyết vấn đề này bằng một ý tưởng đơn giản: tách “người làm việc” khỏi “người quyết định khi nào công việc hoàn tất”. Tác nhân chính viết mã. Một bộ đánh giá riêng (mô hình Haiku nhanh) đọc cuộc hội thoại sau mỗi lượt và trả lời một câu hỏi: “Điều kiện đã được đáp ứng chưa?” Nếu chưa, tác nhân bắt đầu lượt khác. Nếu rồi, quyền điều khiển được trả lại cho bạn.
Tài liệu chính thức của Anthropic định nghĩa lệnh như sau:
Lệnh /goal đặt điều kiện hoàn thành, và Claude làm việc hướng tới điều kiện đó mà không cần chờ bạn nhập câu lệnh ở mỗi bước. Sau mỗi lượt, một mô hình nhỏ, nhanh sẽ kiểm tra xem điều kiện đã được đáp ứng hay chưa. Nếu chưa, Claude bắt đầu lượt tiếp theo thay vì trả quyền điều khiển lại cho bạn. Mục tiêu được tự động xóa ngay khi điều kiện được đáp ứng.
Hàng nghìn tác nhân chạy ban đêm từ điện thoại—đó không phải lời quảng cáo, mà là cách làm hiện tại của một kỹ sư Anthropic. Cơ chế giúp điều đó khả thi là sự kết hợp giữa /goal và Agent View, được giới thiệu trong cùng bản phát hành ngày 11 tháng 5 năm 2026.
Vì sao cần chế độ tự hành: trước và sau ngày 11 tháng 5 năm 2026 có gì khác?
Điểm chính
Trước ngày 11 tháng 5 năm 2026, Claude Code chưa có chế độ tự hành tích hợp. Lập trình viên tự viết các tập lệnh bash với bộ hẹn giờ cron, dẫn đến những tổn thất tài chính—một lập trình viên đã tốn $6,000 chỉ sau một đêm vào ngày 22 tháng 5 vì TTL bộ nhớ đệm đổi từ một giờ xuống 5 phút mà không báo trước. /goal tích hợp khả năng tự hành vào chính công cụ bằng kiến trúc supervisor, giới hạn lượt trong điều kiện và mô hình đánh giá để dừng các phiên lặp vô hạn.
Ý tưởng “để AI làm việc qua đêm” đã tồn tại từ mùa thu năm 2025, khi Cursor Composer và chế độ tự động của Cline đã có thể chạy nền. Nhưng trước ngày 11 tháng 5 năm 2026, Claude Code cần một lớp bọc thủ công để làm việc này: tác vụ cron gọi claude -p mỗi N phút, hoặc một lớp bọc theo dõi trạng thái git rồi khởi chạy câu lệnh tiếp theo.
Cách tự làm này thường xuyên dẫn đến sự cố. Ngày 22 tháng 5 năm 2026, một lập trình viên để tập lệnh như vậy chạy qua đêm và thức dậy với hóa đơn $6,000. Nguyên nhân gốc: Anthropic âm thầm đổi TTL bộ nhớ đệm của Claude Code từ một giờ thành năm phút mà không thông báo. Cron gọi môi trường production mỗi 30 phút—bộ nhớ đệm có thời gian hết hạn giữa các lần chạy. Mỗi lần chạy dựng lại lịch sử 800,000 token từ đầu. Ghi dữ liệu mới vào bộ nhớ đệm tốn kém hơn nhiều so với đọc từ bộ nhớ đệm đang hoạt động.
Lập trình viên đó không làm gì khác thường—anh ấy dùng công cụ đúng như cách Anthropic quảng bá.
/goal giải quyết vấn đề này bằng kiến trúc tích hợp:
- Tiến trình supervisor giữ phiên bên ngoài terminal, vẫn hoạt động khi đóng cửa sổ và khi máy tính xách tay chuyển sang chế độ ngủ.
- Bộ đánh giá Haiku—một mô hình ít tốn kém kiểm tra từng lượt; token của bộ đánh giá chỉ tốn vài xu.
- Giới hạn lượt cứng trong điều kiện—bạn có thể viết rõ
or stop after 20 turns, và phiên chắc chắn sẽ dừng. - Cách ly bằng worktree cho các phiên chạy nền—thay đổi được đưa vào một nhánh riêng mà không tác động đến bản làm việc của bạn.
Khác biệt so với cách “tự viết tập lệnh bash” là Anthropic biến tất cả cơ chế này thành tính năng hạng nhất của công cụ, thay vì thủ thuật của bên thứ ba.
Cách bật /goal trong 3 bước
Điểm chính
Quy trình tối thiểu: 1) cập nhật Claude Code lên 2.1.139+ bằng claude update hoặc npm i -g @anthropic-ai/claude-code, 2) nhập /goal cùng điều kiện ngay trong phiên, 3) theo dõi tiến độ qua lớp phủ trực tiếp (thời gian đã trôi qua, số lượt, token). Lệnh hoạt động cả trong phiên tương tác lẫn chế độ không giao diện claude -p. Để dừng, nhấn Ctrl+C; để hủy mục tiêu, dùng /goal clear.
Bước 1. Cập nhật Claude Code lên phiên bản 2.1.139 trở lên.
Kiểm tra phiên bản:
claude --version
Nếu thấp hơn 2.1.139, hãy cập nhật:
claude update
# or force it through npm
npm install -g @anthropic-ai/claude-code@latest
Các bản phát hành từ ngày 12 đến 19 tháng 5 năm 2026 đã sửa những lỗi quan trọng trong phiên bản đầu tiên. Trong 2.1.140, họ sửa lỗi treo im lặng khi disableAllHooks chặn bộ đánh giá. Trong 2.1.143, tùy chọn worktree.bgIsolation: "none" và bản sửa lỗi vòng lặp stop hook được bổ sung. Trong 2.1.144 (ngày 19 tháng 5), họ bổ sung --resume cho phiên chạy nền và --json cho agents để viết tập lệnh. Phiên bản tối thiểu là 2.1.143.
Bước 2. Nhập /goal cùng điều kiện.
Mở phiên Claude Code thông thường và nhập lệnh:
/goal all tests in test/auth pass and the linter is clean, or stop after 15 turns
Bạn không cần gửi thêm câu lệnh riêng sau đó—lệnh khởi chạy lượt đầu tiên ngay lập tức. Có thể viết điều kiện bằng tiếng Nga, tiếng Anh hoặc kết hợp cả hai; mô hình hiểu được cả hai ngôn ngữ. Giới hạn độ dài tối đa là 4,000 ký tự.
Bước 3. Theo dõi bằng lớp phủ trực tiếp.
Sau khi /goal khởi chạy, một bảng trực tiếp xuất hiện ở cuối terminal:
/goal active · 3 turns · 12m elapsed · 18,400 tokens · last: tests in test/auth/login.test.ts still fail
Thông tin hiển thị:
- Turns—số lượt đã hoàn thành
- Elapsed—thời gian đã trôi qua kể từ khi khởi chạy
- Tokens—tổng số token đã dùng (con số chính để theo dõi ngân sách)
- Last—lý do gần nhất khiến bộ đánh giá trả lời “chưa”
Một mẹo hữu ích: nếu bộ đánh giá đưa ra cùng một lý do trong ba lượt liên tiếp, đó là dấu hiệu bạn đang mắc kẹt trong vòng lặp. Khi đó nhấn Ctrl+C hoặc nhập /goal clear (các từ đồng nghĩa: stop, off, reset, cancel), diễn đạt lại điều kiện rồi khởi chạy lại. Hướng dẫn cộng đồng về /goal xem đây là dấu hiệu chính của vòng lặp: “kẹt cùng một lý do ba lần—đó là vòng lặp, hãy thoát ra.”
Cách viết điều kiện tốt: 5 quy tắc và 5 ví dụ
Điểm chính
Điều kiện là một điều kiện thoát có thể kiểm chứng, không phải câu lệnh. Điều kiện tốt có ba yếu tố: trạng thái cuối có thể đo lường (kiểm thử đạt, bản dựng thành công), phương thức xác minh (npm test exits 0) và các ràng buộc không được vi phạm (“không sửa tệp bên ngoài /auth”). Điều kiện tệ thì mơ hồ (“làm cho đẹp”), không thể xác minh (“tối ưu UX”) hoặc thiếu giới hạn lượt. Một lập trình viên đã đốt $200 trong 14 giờ vì điều kiện mơ hồ.
Tài liệu Anthropic nêu ba yếu tố cần có trong một điều kiện tốt:
Điều kiện có thể duy trì qua nhiều lượt thường bao gồm: một trạng thái cuối đo lường được—kết quả kiểm thử, mã thoát của bản dựng, số lượng tệp hoặc hàng đợi trống; phương thức xác minh rõ ràng—cách Claude chứng minh điều đó, chẳng hạn
npm test exits 0hoặcgit statussạch; và những ràng buộc quan trọng—những gì không được thay đổi trong quá trình thực hiện, chẳng hạnno other test file is modified.
Một mẫu có sẵn bao gồm cả ba yếu tố trong một dòng:
/goal [thực hiện công việc] cho đến khi [trạng thái cuối đo lường được] mà không [vi phạm các ràng buộc cần tuân thủ]
Năm quy tắc thường khiến nhiều người mắc lỗi:
Quy tắc 1. Trạng thái cuối phải được xác minh bằng lệnh, không phải bằng cảm nhận.
Đừng viết “làm cho đẹp”, hãy viết npm test exits 0. Đừng viết “cải thiện UX”, hãy viết Lighthouse Performance score above 90. Bộ đánh giá chỉ đọc bản ghi hội thoại—nó không chạy lệnh hay xem ảnh chụp màn hình. Nếu kết quả không thể được ghi lại bằng văn bản, bộ đánh giá sẽ không bao giờ trả lời “có”.
Quy tắc 2. Ràng buộc phải rõ ràng và giới hạn hẹp.
Không có ràng buộc, Claude có thể sửa kiểm thử bằng cách xóa chính các bài kiểm thử hoặc chú thích các xác nhận thất bại. Hãy ghi rõ without modifying any file outside /auth, without removing existing assertions, without bumping major versions of dependencies.
Quy tắc 3. Cần có giới hạn lượt cứng.
Thêm or stop after N turns vào mọi điều kiện. Đây là dây cứu sinh để tránh vòng lặp bất tận. Nếu không có giới hạn:
Không có giới hạn, một vòng lặp chạy suốt một giờ sẽ đốt nhiều token hơn so với tự làm cùng công việc. Hãy dự trù ngân sách.
Quy tắc 4. Mô tả CÁI GÌ, không chỉ CÁCH LÀM.
Nếu không nhắc đến hình ảnh trong điều kiện, Claude sẽ không tạo chúng. Nếu điều kiện chỉ yêu cầu “kiểm thử đạt”, Claude có thể chú thích các kiểm thử phức tạp. Hãy mô tả CÁI GÌ bạn muốn, chứ không chỉ CÁCH bạn sẽ xác minh.
Quy tắc 5. Yêu cầu Claude hiển thị bằng chứng trong cuộc trò chuyện.
Bộ đánh giá không chạy lệnh—nó chỉ đọc những gì Claude đã hiển thị. Nếu điều kiện yêu cầu “npm test thành công” nhưng Claude không hiển thị kết quả npm test trong bản ghi hội thoại, bộ đánh giá sẽ mãi trả lời “chưa”. Thêm cụm “hiển thị kết quả của <command> trong cuộc trò chuyện” vào điều kiện.
Năm ví dụ hoạt động cho các tác vụ phổ biến:
1. Di chuyển API:
/goal every call to getUser() has been replaced with fetchUser(), npm test passes, npm run build is green, no other API names have been touched, or stop after 30 turns
2. Sửa kiểm thử:
/goal all failing tests in test/auth are now green (npm test shows 0 fails in the chat), without changing assertions or deleting tests, or stop after 20 turns
3. Chất lượng mã (kích thước tệp):
/goal src/legacy/UserService.ts has been split into files under 200 lines each, all imports are updated, npm run build is green, or stop after 25 turns
4. Xử lý backlog:
/goal process every issue labeled 'good-first-issue': read the description, implement a fix in a worktree branch, open a PR. Continue until the queue is empty or 6 issues have been processed
5. Kiểm tra bảo mật:
/goal every npm audit vulnerability with severity >= high is fixed, all existing tests pass, no breaking API changes, or stop after 15 turns
Muốn làm nhiều hơn là chỉ chạy /goal và xây dựng một môi trường để chế độ tự hành thực sự hoạt động với dự án của bạn? /goal chỉ là mắt xích cuối cùng. Trước đó, cần có ba trụ cột: bản sao AI (phương pháp của bạn trong Skills và Subagents), bộ não thứ hai (CLAUDE.md và thư mục plans/), và kỹ thuật ngữ cảnh (Plan Mode và /compact). Cần cân nhắc cả ba thành phần cùng nhau—sự kết hợp đó hỗ trợ làm việc với ngữ cảnh.
5 ví dụ cho thấy /goal thực sự hiệu quả
Điểm chính
/goal hoạt động tốt với tác vụ có trạng thái cuối kiểm chứng được: di chuyển API, sửa kiểm thử thất bại, tách tệp lớn, xử lý backlog sự cố và kiểm tra bảo mật. Lệnh hoạt động kém với tác vụ chủ quan như thiết kế, trau chuốt UX, tìm hiểu thông tin chuyên sâu và công việc sáng tạo. Quy tắc kinh nghiệm: bạn có thể mô tả “hoàn tất” bằng lệnh bash không? Nếu có, tác vụ phù hợp. Nếu không, hãy quay lại phiên thông thường hoặc Plan Mode.
Tài liệu Anthropic nêu bốn loại tác vụ phù hợp với /goal:
Dùng goal cho công việc đáng kể có trạng thái cuối kiểm chứng được: di chuyển một mô-đun sang API mới cho đến khi mọi lệnh gọi biên dịch được và kiểm thử đạt; triển khai tài liệu thiết kế cho đến khi đáp ứng mọi tiêu chí chấp nhận; tách một tệp lớn thành các mô-đun tập trung cho đến khi từng tệp nằm trong giới hạn kích thước; xử lý backlog sự cố được gắn nhãn cho đến khi hàng đợi trống.
Dưới đây là năm ví dụ với điều kiện soạn sẵn—hãy dùng và điều chỉnh cho dự án của bạn.
Ví dụ 1. Di chuyển một mô-đun sang API mới.
Tình huống: bạn chuyển từ REST sang GraphQL, hoặc thay hàm getUser() cũ bằng fetchUser() mới. Tác vụ mang tính cơ học nhưng ảnh hưởng đến 30–50 tệp.
Điều kiện:
/goal every getUser() in src/ has been replaced with fetchUser(), all calls updated to the new interface (id instead of userId), npm test passes, no files outside src/ touched, or stop after 30 turns
Vì sao hiệu quả: có thể kiểm tra trạng thái cuối bằng grep -r getUser src/ | wc -l (kết quả phải là 0) và npm test exits 0. Ràng buộc bảo vệ các tệp kiểm thử.
Ví dụ 2. Sửa kiểm thử thất bại.
Tình huống: sau khi cập nhật thư viện, 15 bài kiểm thử bị lỗi. Bạn biết cách sửa mang tính cơ học—cập nhật mock và điều chỉnh xác nhận theo định dạng mới. Bạn không muốn tự làm thủ công.
Điều kiện:
/goal all failing tests in test/ are now green, npm test shows the results in the chat with 0 failures, without deleting tests or commenting out assertions, or stop after 25 turns
Một ví dụ về điều kiện cùng loại:
Sửa mọi kiểm thử thất bại cho đến khi npm test trả về 0, không thay đổi bất kỳ tệp nào bên ngoài thư mục /auth
Ví dụ 3. Tách một lớp khổng lồ.
Tình huống: một tệp 1,200 dòng chứa mọi thứ—mô hình, dịch vụ, tiện ích và ứng dụng khách API. Bạn muốn tách tệp theo nguyên tắc “mỗi tệp một trách nhiệm”, cập nhật tất cả import và giữ cho kiểm thử đạt.
Điều kiện:
/goal src/legacy/UserService.ts has been split into files under 200 lines, each file handles one responsibility (model, repository, api-client, validator), all imports are updated, npm run build is green, existing tests pass, or stop after 25 turns
Ví dụ 4. Xử lý backlog sự cố qua đêm.
Tình huống: bạn có một kho mã nguồn mở với 20 sự cố đang mở được gắn nhãn good-first-issue. Bạn muốn Claude xử lý chúng qua đêm.
Điều kiện:
/goal process every issue labeled 'good-first-issue': read the description, implement a fix in a separate worktree branch worktree-issue-N, open a PR with a description. Continue until the queue is empty or 6 issues have been processed, or stop after 80 turns
Con số 6 không được chọn ngẫu nhiên—đó là giới hạn thực tế cho một đêm dùng gói Pro.
Ví dụ 5. Kiểm tra bảo mật.
Tình huống: npm audit hiển thị 8 lỗ hổng mức độ nghiêm trọng cao. Bạn muốn Claude sửa chúng mà không cập nhật phiên bản chính.
Điều kiện:
/goal every npm audit vulnerability with severity high+ is fixed, npm audit shows 0 high in the chat, all existing tests pass, no breaking API changes, no major version bumps to packages, or stop after 15 turns
Những việc KHÔNG nên làm với /goal:
| Loại tác vụ | Vì sao không hiệu quả |
|---|---|
| “Tạo giao diện đẹp” | Bộ đánh giá chỉ thấy văn bản, không thấy thiết kế |
| “Tìm hiểu thông tin chuyên sâu trong dữ liệu” | Không có trạng thái cuối kiểm chứng được |
| “Tối ưu UX của trang” | Sở thích chủ quan; tác nhân tối ưu những gì được đo lường |
| Nghiên cứu / khám phá | Không có điểm kết thúc rõ ràng—bộ đánh giá không biết khi nào là “đủ” |
| Triển khai production | Không thể hoàn tác tác động bên ngoài |
| Tạo nội dung / tiếp thị | Không thể kiểm tra chất lượng văn bản bằng lệnh |
Trong cẩm nang thực tế, Croucher nhấn mạnh quy tắc kinh nghiệm: đừng dùng /goal cho tác vụ mà “hoàn tất” có nghĩa là “trông đẹp”, “cảm thấy đúng”, “được thiết kế tốt” hoặc “thú vị”. Bộ đánh giá chỉ đọc bản ghi hội thoại—nó không chạy công cụ và không thể đánh giá kết quả hoạt động ra sao. Quy tắc này loại trừ 80% tác vụ chủ quan khiến /goal lặp lại mà không tạo ra kết quả hữu ích.
Khi /goal đốt tiền vô ích: 3 kiểu chống mẫu
Điểm chính
Ba kiểu chống mẫu thường gặp của /goal: điều kiện mơ hồ không có giới hạn lượt (một lập trình viên đã đốt $200 trong 14 giờ), vòng lặp đệ quy với bộ nhớ đệm cũ ($6,000 chỉ sau một đêm vì TTL bộ nhớ đệm thay đổi), và tác vụ sáng tạo không có trạng thái cuối kiểm chứng được (trò chơi được tạo không có hình ảnh, nhưng bộ đánh giá vẫn báo “hoàn tất”). Cách phòng tránh là luôn thêm or stop after N turns, nêu kết quả có thể đo lường và kiểm tra xem ngay từ đầu tác vụ có phù hợp để tự hành hay không.
Kiểu chống mẫu 1. Điều kiện mơ hồ không có giới hạn lượt cứng.
Lỗi phổ biến nhất là dùng điều kiện như “cải thiện mã” / “làm cho tốt” / “tối ưu hóa”. Không có giới hạn lượt, tác nhân sẽ tiếp tục chạy cho đến khi dùng hết hạn mức của bạn.
Findskill kể một trường hợp có thật:
Một lập trình viên cho biết họ đã đốt $200 trong một phiên 14 giờ với các điều kiện mơ hồ: một điều kiện yếu khiến bộ đánh giá liên tục nói “chưa” có thể chạy 50, 100 hoặc 500 lượt trước khi bạn nhận ra.
$200 trong 14 giờ vì điều kiện mơ hồ tương đương toàn bộ hạn mức hằng tuần của gói Max. Sáng thức dậy, bạn không còn hạn mức và cũng chẳng có kết quả hữu ích.
Cách phòng tránh: kết thúc mọi điều kiện bằng or stop after N turns (15 với tác vụ dễ, 50 với tác vụ khó và tối đa 100 với lần chạy qua đêm).
Kiểu chống mẫu 2. Vòng lặp đệ quy với bộ nhớ đệm bị lỗi.
Câu chuyện ngày 22 tháng 5 năm 2026: $6,000 qua đêm vì Anthropic âm thầm đổi TTL bộ nhớ đệm từ một giờ thành 5 phút. Lập trình viên đó không trực tiếp dùng /goal, nhưng logic tương tự: một vòng lặp tự hành với bộ hẹn giờ cron 30 phút dựng lại lịch sử 800,000 token từ đầu mỗi lần.
Vấn đề gốc là tự động hóa bên ngoài không biết những thay đổi nội bộ của nhà cung cấp. Điều tương tự cũng có thể xảy ra với /goal nếu bạn chạy 8 giờ không giám sát: mức sử dụng token tăng phi tuyến tính và bộ nhớ đệm prompt không hoạt động như bạn nghĩ.
Cách phòng tránh:
- Đừng chạy
/goalliên tục 8 giờ trở lên mà không kiểm tra giữa chừng. - Bật giới hạn sử dụng trong Settings → Usage (biện pháp bảo vệ mới sau sự cố $6,000).
- Mở
claude agentshai lần trong đêm—nhấnSpaceđể xem nhanh và kiểm tra số lượt có tăng nhanh hơn dự kiến không. - Với chuỗi mô hình đắt tiền (Opus 4.7), đặt giới hạn lượt chặt hơn—tối đa 30.
Kiểu chống mẫu 3. Sáng tạo bằng /goal.
Croucher dùng /goal để tạo trò chơi—điều kiện bao gồm tính xác định, các bất biến và kiểm tra xem màn chơi có thể hoàn thành không. Trò chơi được tạo, kiểm thử đạt và bộ đánh giá báo “đã đạt”. Trò chơi không có hình ảnh—điều kiện không nhắc đến đồ họa.
Điều này minh họa quy tắc chung: bộ đánh giá tối ưu chính xác những gì bạn đo lường. Nếu điều kiện không nhắc đến hình ảnh thì sẽ không có hình ảnh. Nếu điều kiện chỉ nhắc đến kiểm thử, nó có thể chú thích các xác nhận.
Cách phòng tránh: đừng dùng /goal cho việc phụ thuộc vào sở thích (thiết kế, nội dung, UX). Hãy quay lại phiên thông thường hoặc Plan Mode—hai cách này giúp bạn tiếp tục tham gia vào quá trình ra quyết định.
Agent View là gì và cách mở bảng điều khiển
Điểm chính
Agent View là bảng điều khiển trực quan để quản lý các phiên Claude Code chạy nền. Mở bằng lệnh claude agents trong terminal. Mỗi phiên chạy nền xuất hiện thành một hàng với trạng thái (Working, Needs input, Idle, Completed, Failed, Stopped). Tính năng này hữu ích khi bạn chạy 2–5 tác vụ tự hành cùng lúc—thay vì chuyển đổi giữa các terminal, bạn có thể xem mọi thứ trên một màn hình. Tính năng có xem nhanh (Space—xem mà không kết nối), kết nối (Enter), ngắt kết nối (mũi tên trái) và ghim (Ctrl+T).
Nếu /goal là lệnh “làm cho đến khi xong”, thì Agent View là phòng điều khiển nơi bạn có thể xem tất cả các lệnh đó cùng lúc. Anthropic mô tả tính năng này như sau:
Mở agent view bằng
claude agents—một màn hình dành cho tất cả phiên chạy nền của bạn: phiên nào đang hoạt động, phiên nào cần bạn nhập thông tin và phiên nào đã xong. Khởi chạy phiên mới, xem nhanh trạng thái của chúng mà không phải cuộn qua bản ghi hội thoại, và chỉ kết nối khi phiên cần bạn.
Lệnh để mở:
claude agents
Một TUI sẽ mở—bảng điều khiển dạng văn bản bên trong terminal. Danh sách phiên nằm bên trái và khung xem nhanh, hiển thị thông điệp mới nhất từ hàng được chọn, nằm bên phải.
Sáu trạng thái phiên:
| Trạng thái | Ý nghĩa |
|---|---|
| Working | Claude đang tích cực làm việc—gọi công cụ hoặc tạo câu trả lời |
| Needs input | Claude đang chờ bạn trả lời một câu hỏi cụ thể hoặc cấp quyền |
| Idle | Phiên không hoạt động và sẵn sàng nhận câu lệnh tiếp theo |
| Completed | Tác vụ đã hoàn thành thành công |
| Failed | Phiên kết thúc do lỗi |
| Stopped | Phiên đã dừng bằng Ctrl+X hoặc claude stop |
Các phím tắt chính:
↑ / ↓ di chuyển trong danh sách phiên
Space khung xem nhanh (xem mà không kết nối)
Enter / → kết nối với phiên (vào phiên)
← ngắt kết nối (thoát mà không kết thúc phiên)
Ctrl+T ghim (bảo vệ phiên khỏi tự động dừng)
Ctrl+X dừng phiên; nhấn lần nữa trong 2 sec để xóa
Ctrl+R đổi tên
Ctrl+S bật/tắt nhóm (trạng thái ↔ thư mục)
Cách bắt đầu phiên chạy nền:
Từ Claude Code tương tác:
/bg fix the failing test test/auth/login.test.ts
Hoặc trực tiếp từ shell:
claude --bg "fix the failing test test/auth/login.test.ts"
Hoặc đặt tên (để phiên xuất hiện trong Agent View với nhãn dễ nhận biết):
claude --bg --name "flaky-test-fix" "fix test/auth/login.test.ts"
Phiên chạy nền tự động được thêm vào Agent View—khởi chạy bằng --bg, mở claude agents, và bạn sẽ thấy phiên trong danh sách.
Tính năng chính: phiên vẫn hoạt động khi máy tính xách tay chuyển sang chế độ ngủ và khi đóng cửa sổ:
Trạng thái phiên được lưu vào đĩa và vẫn tồn tại qua các lần tự cập nhật và khởi động lại supervisor. Phiên cũng được lưu khi máy chuyển sang chế độ ngủ. Khi máy thức dậy, tiến trình tiếp tục chạy và supervisor kết nối lại với chúng thay vì xem khoảng tạm dừng là thời gian không hoạt động.
Nhưng nếu tắt máy tính xách tay hoặc khởi động lại thủ công, các phiên chạy nền sẽ kết thúc ở trạng thái Failed. Các lần chạy qua đêm với nhiều tác nhân nền chỉ hoạt động khi máy tính xách tay không bị tắt.
Worktree: cách Claude cách ly các phiên chạy song song
Điểm chính
Worktree là một bản sao riêng của kho mã nguồn trong .claude/worktrees/<name>/, nằm trên nhánh worktree-<name> riêng. Khi khởi chạy phiên chạy nền qua /bg hoặc Agent View, Claude tự động chuyển phiên đó vào worktree trước khi sửa tệp. Các phiên song song có thể đọc cùng một checkout nhưng mỗi phiên ghi vào bản sao riêng, nên chúng không ghi đè công việc của nhau. Bạn có thể tắt tính năng này bằng worktree.bgIsolation: "none" trong .claude/settings.json (tính năng có từ phiên bản 2.1.143).
Worktree giải quyết vấn đề chính khi làm việc tự hành song song: điều gì xảy ra nếu hai phiên cùng sửa src/auth.ts? Trước 2.1.139, các phiên như vậy có thể thực sự ghi đè thay đổi của nhau. Cùng với Agent View, Anthropic giới thiệu tính năng cách ly tự động:
Mọi phiên chạy nền khởi chạy từ agent view, qua /bg hoặc bằng
claude --bgđều bắt đầu trong thư mục làm việc của bạn. Trước khi sửa tệp, Claude chuyển phiên vào một git worktree được cách ly trong.claude/worktrees/, để các phiên song song đọc cùng một checkout nhưng mỗi phiên ghi vào bản sao riêng.
Cách hoạt động trên thực tế:
# Launched three background sessions:
claude --bg --name "fix-tests" "fix the failing tests in test/"
claude --bg --name "add-oauth" "add Google OAuth according to the plan in plans/oauth.md"
claude --bg --name "split-userservice" "split UserService.ts into modules"
# File structure after launch:
.claude/worktrees/
├── fix-tests/ # separate repo copy on branch worktree-fix-tests
├── add-oauth/ # separate copy on branch worktree-add-oauth
└── split-userservice/ # separate copy on branch worktree-split-userservice
Mỗi phiên làm việc trong bản sao riêng. Khi hoàn tất tác vụ, bạn hợp nhất các nhánh cần thiết vào main.
Rủi ro nghiêm trọng—xóa phiên sẽ xóa worktree của phiên đó.
Worktree do Claude tạo sẽ bị xóa cùng với phiên trong agent view: hãy hợp nhất hoặc đẩy các thay đổi lên trước khi xóa phiên đã sửa tệp trong worktree riêng.
Nếu bạn kết thúc một phiên trong Agent View (nhấn Ctrl+X hai lần), worktree của phiên đó sẽ biến mất. Mọi thay đổi chưa commit đều bị mất. Trước khi xóa phiên trong Agent View, hãy luôn commit hoặc push.
Tắt tính năng (trong trường hợp hiếm gặp):
Nếu có một kho mã nguồn mà git worktree không hoạt động (ví dụ, thiết lập có symbolic link hoặc monorepo lớn với quá trình checkout chậm), bạn có thể tắt tính năng cách ly:
// .claude/settings.json
{
"worktree": {
"bgIsolation": "none"
}
}
Khi đó các phiên chạy nền sẽ sửa trực tiếp bản làm việc của bạn. Tùy chọn này được bổ sung trong 2.1.143 sau khi các nhóm có monorepo lớn phản ánh vấn đề.
Chạy song song tiêu tốn hạn mức:
Giới hạn tốc độ cũng áp dụng ở đây: các phiên chạy nền dùng hạn mức đăng ký giống phiên tương tác, nên 10 tác nhân chạy song song tiêu hao hạn mức nhanh hơn khoảng 10 lần so với một tác nhân.
Điều đó có nghĩa là gói Pro ($20/tháng) đủ cho 1–2 phiên chạy song song qua đêm, chứ không phải mười phiên. Nếu muốn chạy nhiều tác nhân song song, bạn cần gói Max hoặc Enterprise.
Kết hợp /goal + Plan Mode + subagents cho tác vụ dài
Điểm chính
Bản thân /goal là mắt xích cuối cùng trong chuỗi. Trước đó, dùng Plan Mode để tạo kế hoạch theo giai đoạn trong plans/ và subagents để phân chia công việc. Cách kết hợp hoạt động như sau: 1) Plan Mode viết kế hoạch chi tiết với các hộp kiểm có thể xác minh, 2) subagents có thể làm các giai đoạn khác nhau song song trong các nhánh worktree riêng, 3) /goal chạy chu kỳ “làm việc → đánh giá → lượt tiếp theo” cho đến khi đánh dấu mọi hộp kiểm. Không có Plan Mode, /goal vô dụng với tác vụ phức tạp.
Lỗi thường gặp là lập tức nhập /goal build a new feature. Cách này không hiệu quả vì bộ đánh giá không biết một “tính năng hoàn chỉnh” trông như thế nào. Bạn cần một kế hoạch có các hộp kiểm để bộ đánh giá có thể lần lượt xác minh.
Lớp 1. Plan Mode viết kế hoạch theo giai đoạn.
Trong Plan Mode, yêu cầu Claude tạo kế hoạch thay đổi chi tiết, chia thành 5–7 giai đoạn với các hộp kiểm có thể xác minh. Lưu thành plans/2026-05-24-google-oauth.md. Mỗi giai đoạn có 3–7 hộp kiểm với các hành động cụ thể.
Lớp 2. Subagents chia công việc theo giai đoạn.
Nếu có thể thực hiện kế hoạch song song (ví dụ, các giai đoạn độc lập—endpoint backend, biểu mẫu frontend và di chuyển DB), bạn có thể khởi chạy từng giai đoạn trong một phiên chạy nền riêng bằng claude --bg --name "<phase>". Mỗi phiên có worktree riêng.
Lớp 3. /goal chạy chu kỳ cho đến khi hoàn tất các hộp kiểm.
/goal all phases 1–7 in plans/2026-05-24-google-oauth.md are complete and marked [x], all tests in test/auth pass (npm test shows 0 failures), npm run build is green, or stop after 50 turns
Sau mỗi lượt, bộ đánh giá đọc kế hoạch, kiểm tra hộp nào đã hoàn tất, và nếu còn việc thì tác nhân tiếp tục.
Sự kết hợp này dựa trên ba thành phần:
- kỹ thuật ngữ cảnh: ngữ cảnh phù hợp trong
plans/—bộ đánh giá đọc nội dung này - bộ não thứ hai: thư mục
plans/lưu kế hoạch giữa các phiên - bản sao AI: CLAUDE.md đặt ra các quy tắc tác nhân tuân theo
Không có CLAUDE.md, /goal có thể đề xuất giải pháp phá vỡ kiến trúc. Không có kế hoạch trong plans/, bộ đánh giá không biết tiêu chí thành công. Không có subagents, sẽ không có giai đoạn song song; mọi việc đều diễn ra tuần tự.
So /goal với Codex, Cursor và chế độ tác nhân khác thế nào?
Điều cần phân biệt là việc tiếp tục thế nào, chạy ở đâu, quyền gì và kiểm hoàn thành ra sao. Bài không có phép đo cùng điều kiện có nguồn để hỗ trợ hệ số hiệu quả token phổ quát hay số bước cố định mà công cụ khác mất mạch. So đúng mô hình, client, phiên bản, chế độ và tác vụ.
/goal thêm kiểm hoàn thành riêng sau mỗi lượt. Sản phẩm khác có chế độ khác; CLI cục bộ, tác vụ cloud hosting và phiên editor có giám sát không phải đơn vị so sánh hoán đổi được. Đừng mô tả mọi Codex CLI là container cloud hoặc mặc định mọi lượt có cùng validator và cách billing.
Dùng cùng ảnh chụp kho, tác vụ và kiểm tra chấp nhận. Ghi từng chiều:
| Chiều | Cần ghi |
|---|---|
| Thực thi | Client/phiên bản, runtime cục bộ hoặc hosting |
| Mô hình | Mô hình chính xác, effort suy luận, giới hạn ngữ cảnh |
| Tiếp tục | Điều gì mở lượt mới và dừng nó |
| Cách ly | Working copy, quyền, bí mật, mạng |
| Kết quả | Kiểm tra đạt, lỗi, sửa của người |
| Mức dùng | Token input, đọc/ghi cache, output, thời gian, cách billing thật |
Tuyên bố một bên dùng token gấp hệ số cố định cần điều kiện trên và số đo cho cùng kết quả thành công. Phần trăm benchmark cũng cần phiên bản, mô hình, harness và thiết lập; phần trăm Terminal-Bench thiếu các chi tiết đó không thay thế bằng chứng ấy. Bài không cung cấp benchmark độc lập liên công cụ.
Chọn theo workflow cần: sửa có giám sát, tác vụ nền có giới hạn hay nhiều lượt có điều kiện hoàn thành rõ. Thử chế độ bản cài hỗ trợ thay vì mặc định toàn đối thủ thiếu tự chủ. Tách duyệt quyền khỏi tiếp tục việc: tự duyệt công cụ chưa chứng minh mục tiêu người dùng đã đạt.
Danh sách kiểm tra trước khi chạy /goal: 7 mục
Điểm chính
Trước mỗi lần chạy /goal, hãy kiểm tra 7 mục: phiên bản Claude Code 2.1.139+, điều kiện bao gồm trạng thái cuối có thể xác minh, có giới hạn lượt cứng, ràng buộc được nêu rõ, mọi thay đổi quan trọng đã được commit, đã bật giới hạn sử dụng trong Settings và Agent View đang mở để theo dõi. Thiếu một mục cũng có thể khiến bạn mất vài trăm đô la và mất công việc.
Danh sách kiểm tra trước mỗi lần chạy /goal:
Phiên bản Claude Code 2.1.139+—kiểm tra bằng
claude --versionvà cập nhật nếu thấp hơn. Phiên bản tối thiểu được khuyến nghị là 2.1.143 (ngày 15 tháng 5 năm 2026), phiên bản này sửa vòng lặp stop hook.Điều kiện có trạng thái cuối kiểm chứng được—thay vì “cải thiện nó”, hãy nêu
npm test exits 0. Nếu không nghĩ ra được lệnhbashđể xác minh kết quả,/goalkhông phù hợp với tác vụ này.Có giới hạn lượt cứng—mọi điều kiện đều nêu
or stop after N turns. Dùng 15 với tác vụ dễ, 50 với tác vụ khó và tối đa 100 với lần chạy qua đêm.Ràng buộc rõ ràng và giới hạn hẹp—
without modifying files outside /auth,without removing existing assertions,without bumping major versions. Không có các ràng buộc này, Claude có thể sửa kiểm thử bằng cách xóa chính các bài kiểm thử.Mọi thay đổi quan trọng đã được commit hoặc push—nếu bạn không làm việc trong worktree (ví dụ,
worktree.bgIsolation: "none"), Claude sẽ sửa bản làm việc của bạn. Bất kỳ sai sót nào cũng có thể khiến bạn mất công việc chưa lưu.Đã bật giới hạn sử dụng trong Settings → Usage—biện pháp bảo vệ mới sau sự cố $6,000. Hãy đặt giới hạn theo ngày, phiên và tháng.
Agent View
claude agentsđang mở trong cửa sổ riêng—với tác vụ dài, nhấn Space để xem nhanh mỗi giờ một lần. Nếu số lượt tăng nhanh hơn dự kiến hoặc bộ đánh giá lặp lại cùng lý do trong ba lượt, nhấnCtrl+Crồi diễn đạt lại điều kiện.
Một mục bổ sung—không bao giờ chạy /goal với --dangerously-skip-permissions trên mã của người khác hoặc mã chưa quen thuộc. Kết hợp đó vô hiệu hóa mọi bước kiểm tra và để tác nhân làm bất cứ điều gì trong dự án của bạn. Tác giả của bài phân tích này chỉ dùng tùy chọn đó trong worktree mới, nơi không có gì để mất.
/goal là một tính năng mạnh, nhưng không phải phép màu. Nó hiệu quả chính xác đến mức bạn diễn đạt điều kiện. Nếu có thể mô tả “hoàn tất” bằng từ ngữ để một lệnh xác minh được, /goal sẽ xử lý phần còn lại. Nếu không, hãy quay lại phiên thông thường hoặc Plan Mode.
Nguồn tham khảo
Bạn có thể tiếp tục khám phá Ailoot tại ailoot.ai.
Xem thêm chi tiết
Câu hỏi thường gặp
Viết điều kiện hoàn thành để evaluator kiểm tra được thế nào?
Nêu một kết quả đo được, lệnh hoặc bằng chứng xác nhận và giới hạn như giữ assertion hay chỉ đổi tệp chỉ định. Thêm ngưỡng dừng rõ và yêu cầu hiện đầu ra xác minh trong hội thoại.
Hệ số hiệu quả token cố định có đủ để chọn tác nhân không?
Không. Không có phép đo cùng điều kiện hỗ trợ hệ số đó. So cùng việc được chấp nhận, ghi mô hình, client, mode, cache/token, thời gian và sửa của con người.