🔄 Tóm tắt nhanh: Bạn đã nắm vững 4 động tác - Continue, Rewind, Compact và Clear . Mỗi động tác hoạt động trên ngữ cảnh hiện có của bạn. Subagent làm điều khác biệt: Chúng tạo ra một ngữ cảnh hoàn toàn riêng biệt cho một khối công việc, và chỉ kết quả được trả về.
Đây là sự cô lập ngữ cảnh. Và đây là động tác mà hầu hết người dùng Claude Code không bao giờ khám phá ra.
Cách hoạt động của subagent
Khi Claude tạo ra một subagent, subagent đó sẽ có cửa sổ ngữ cảnh riêng biệt - hoàn toàn tách biệt với phiên chính của bạn. Subagent có thể:
Đọc 20 file
Chạy 12 tìm kiếm
Theo dõi 3 ngõ cụt
Tạo ra hàng ngàn token suy luận trung gian
Và khi hoàn thành? Chỉ báo cáo cuối cùng - kết luận - được trả về phiên chính của bạn. Tất cả thông tin nhiễu khi khám phá sẽ được thu gom khi subagent thoát.
Ngữ cảnh chính của bạn vẫn sạch sẽ như trước. Không có nội dung file nào bạn không cần. Không có điều tra ngõ cụt. Chỉ có câu trả lời.
✅ Kiểm tra nhanh: Nếu một subagent đọc 20 file trong quá trình điều tra, thì bao nhiêu nội dung file đó sẽ được đưa vào ngữ cảnh chính của bạn?
Đáp án: Không có file nào - chỉ có bản tóm tắt cuối cùng của subagent được trả về.
Kiểm tra kết luận
Nhóm của Anthropic sử dụng một bài kiểm tra đơn giản để quyết định khi nào nên sử dụng subagent:
"Tôi có cần đầu ra của công cụ này một lần nữa không, hay chỉ cần kết luận?"
Nếu bạn cần đầu ra thô (nội dung file thực tế, thông báo lỗi cụ thể, các bước trung gian) - đừng sử dụng subagent. Bạn sẽ muốn dữ liệu đó trong ngữ cảnh chính của mình.
Nếu bạn chỉ cần câu trả lời (bản tóm tắt kiến trúc, kết quả xác minh, API được ghi lại) - đó là nhiệm vụ của subagent.
Những trường hợp phù hợp với subagent
Tác vụ
Tại sao chọn subagent?
Tìm hiểu cách một mô-đun khác triển khai một mẫu
Bạn cần mô tả mẫu, chứ không phải 15 lần đọc file
Kiểm tra xem những thay đổi của bạn có vượt qua các bài kiểm tra hay không
Bạn cần kết quả đạt/không đạt kèm tóm tắt lỗi, chứ không phải toàn bộ kết quả kiểm tra
Viết tài liệu hướng dẫn cho một tính năng
Tài liệu hướng dẫn không cần lịch sử gỡ lỗi triển khai của bạn
Tìm hiểu cách thức hoạt động của API bên thứ ba
Bạn cần hướng dẫn tích hợp, chứ không phải việc khám phá 8 endpoint
Tạo các bài kiểm tra cho một tính năng đã hoàn thiện
Việc tạo kiểm thử có thể tham chiếu trực tiếp đến git diff
Những tác vụ không phù hợp với subagent
Tác vụ
Tại sao không chọn subagent?
Sửa lỗi trong file bạn đang chỉnh sửa
Bạn cần nội dung file và ngữ cảnh lỗi trực tiếp
Tiếp tục quá trình tái cấu trúc từng bước một
Mỗi bước đều phụ thuộc vào việc xem xét kết quả của bước trước đó
Câu hỏi làm rõ nhanh
Chi phí quản lý không đáng để bỏ ra chỉ để nhận được câu trả lời trong 30 giây
3 mẫu tạo prompt
Bạn có thể chỉ định rõ ràng cho Claude sử dụng các subagent. Dưới đây là 3 mẫu hoạt động tốt nhất:
Mẫu 1: Tách biệt nghiên cứu
📋 Sao chép và điều chỉnh prompt này:
Tạo một subagent để đọc codebase dịch vụ thanh toán và tóm tắt cách nó xử lý xác thực webhook. Tôi cần: luồng xác thực, các file chính liên quan và bất kỳ trường hợp ngoại lệ nào. Không sửa đổi bất cứ điều gì - chỉ cần báo cáo lại.
Subagent sẽ khám phá. Bạn nhận được một bản tóm tắt rõ ràng. Ngữ cảnh chính của bạn không bao giờ nhìn thấy 12 file mà subagent đã đọc.
Mẫu 2: Xác minh
📋 Sao chép và điều chỉnh prompt này:
Tạo một subagent để xác minh kết quả của việc tái cấu trúc xác thực này dựa trên công cụ test. Chạy các bài kiểm thử, kiểm tra lỗi hồi quy và báo cáo lại: đạt/không đạt cộng với bất kỳ lỗi nào kèm theo số file và số dòng.
Quá trình xác minh tạo ra rất nhiều đầu ra kiểm thử. Subagent sẽ hấp thụ tất cả và trả về một báo cáo rõ ràng.
Mẫu 3: Tạo tài liệu
📋 Sao chép và điều chỉnh prompt này:
Tạo một subagent để viết tài liệu cho tính năng tích hợp thanh toán dựa trên những thay đổi git gần đây của tôi. Bao gồm: các API endpoint, định dạng yêu cầu/phản hồi, mã lỗi và ví dụ sử dụng.
Công việc viết tài liệu cần đọc code của bạn nhưng không cần lịch sử gỡ lỗi, thảo luận thiết kế hoặc các phương pháp bị từ chối. Bối cảnh subagent mới là hoàn hảo.
✅ Kiểm tra nhanh: Bạn sẽ sử dụng mẫu tạo prompt nào nếu muốn Claude kiểm tra xem các thay đổi API của bạn có phá vỡ khả năng tương thích ngược hay không?
Đáp án: Mẫu 2 - Xác minh. Bạn cần kết quả đạt/không đạt và bất kỳ lỗi cụ thể nào, chứ không phải toàn bộ kết quả kiểm tra.
Thực hành: Khởi tạo Subagent đầu tiên
Trong phiên Claude Code tiếp theo, khi bạn gặp một tác vụ cần nghiên cứu nhiều:
Thay vì hỏi trực tiếp Claude (điều này sẽ làm tràn ngập các thao tác đọc file vào ngữ cảnh của bạn), hãy nói rõ ràng: "Khởi tạo một subagent để điều tra [vấn đề]"
Chờ báo cáo của subagent trả về
Kiểm tra mức sử dụng ngữ cảnh của bạn - hãy để ý rằng nó hầu như không thay đổi so với những gì subagent thực sự đã làm
Khoảnh khắc "à ha" là khi bạn thấy ngữ cảnh chính của mình vẫn gọn nhẹ trong khi một cuộc điều tra song song diễn ra ở phía sau.
Những điểm chính cần ghi nhớ
Các subagent có ngữ cảnh riêng biệt - công việc trung gian không bao giờ làm ô nhiễm phiên chính của bạn
Kiểm tra kết luận: "Tôi có cần lại kết quả này không, hay chỉ cần kết luận?"
Ba mô hình chính: Tách biệt nghiên cứu, Xác minh, Tạo tài liệu
Bạn có thể chỉ định rõ ràng cho Claude sử dụng các subagent - nó không phải lúc nào cũng tự quyết định như vậy
Tốt nhất cho các tác vụ tạo ra nhiều đầu ra trung gian mà bạn sẽ không tham chiếu lại
Thử ngay: Công cụ tạo tóm tắt subagent độc lập
Mở Claude Code và dán prompt này vào lần tới khi bạn chuẩn bị tạo một subagent. Lỗi phổ biến nhất của subagent là một bản tóm tắt giả định ngữ cảnh cha mà subagent không thể thấy - prompt này ngăn chặn điều đó.
Đóng vai trò là người viết tóm tắt subagent của tôi. Subagent mà tôi sắp tạo ra KHÔNG có ký ức về cuộc hội thoại này. Tôi cần một bản tóm tắt độc lập.
Về nhiệm vụ của subagent:
- Nhiệm vụ trong một câu: []
- Tại sao tôi sử dụng subagent (nghiên cứu / xác minh / tài liệu / sử dụng công cụ chuyên sâu / khám phá / khác): []
- Những gì phiên chính cần trả về (file tin quan trọng nhất): []
Về codebase mục tiêu:
- Cấu trúc kho lưu trữ (thư mục cấp cao nhất + mục đích): []
- Framework / ngăn xếp: []
- Các file liên quan mà subagent phải đọc: []
- Các file hoặc đường dẫn mà subagent KHÔNG được phép chạm vào: []
- Các biến cấu hình / biến môi trường / bí mật mà subagent KHÔNG được phép ghi nhật ký hoặc rò rỉ: []
Về môi trường:
- Các lệnh mà nó có thể chạy (test, linters, build): []
- Các lệnh mà nó KHÔNG được phép chạy (deploy, destructive, network, git push): []
- Trạng thái nhánh / thư mục làm việc mà subagent kế thừa: []
Đưa ra bản tóm tắt nhiệm vụ subagent theo cấu trúc sau:
1. Câu mô tả nhiệm vụ trong ≤ 2 câu — cái gì và tại sao
2. Đầu vào — đường dẫn file chính xác + vai trò 1 dòng cho mỗi file
3. Ràng buộc — danh sách những việc nên làm / không nên làm / giới hạn
4. Quy trình — 3-6 bước cụ thể mà subagent cần tuân theo (không phải kiểu "tự tìm hiểu")
5. Sản phẩm bàn giao — sản phẩm chính xác cần trả về và hình thức của nó (JSON / danh sách gạch đầu dòng / đường dẫn đơn / báo cáo với các phần cụ thể)
6. Xử lý lỗi — phải làm gì nếu thiếu file, kiểm tra thất bại, lệnh không rõ ràng; luôn luôn: dừng lại và báo cáo, không bao giờ đoán
7. Ngoài phạm vi — những việc mà subagent có thể muốn làm nhưng KHÔNG được phép: "không đề xuất chỉnh sửa lại bên ngoài các file được liệt kê"; "không đổi tên bất cứ thứ gì"; "không chạy các thao tác git"; "không động đến cấu hình sản xuất"
8. Quy tắc báo cáo — MỘT điều cần trả về + độ dài tối đa (buộc ngắn gọn để ngữ cảnh cha vẫn gọn gàng)
Sau đó, thêm các quy tắc cứng nhắc này nguyên văn vào bản tóm tắt:
- Bạn KHÔNG có ký ức về cuộc trò chuyện cha của tôi. Hãy xem bản tóm tắt ở trên như toàn bộ ngữ cảnh.
- Không tự tạo các file, hàm hoặc ràng buộc không có trong bản tóm tắt. Nếu thiếu thứ gì đó, hãy dừng lại và báo cáo lại.
- Không chạy các lệnh gây hại (rm -rf, DROP, git reset --hard, force push, deploy).
- Không ghi vào các file nằm ngoài các đường dẫn được liệt kê.
- Không động vào .env, secrets, credentials hoặc cấu hình CI.
- Nếu bạn thấy một mã bí mật được hardcode trong một file mà bạn được yêu cầu đọc, hãy đánh dấu mức độ nghiêm trọng là Critical và yêu cầu tôi thay thế file đó — đừng sao chép toàn bộ mã bí mật vào báo cáo của bạn.
- Nếu nhiệm vụ đi chệch hướng so với yêu cầu ban đầu, hãy dừng lại và báo cáo "đã phát hiện sự đi chệch hướng" thay vì tiếp tục.
- Trả lại sản phẩm cần hoàn thành và sau đó dừng lại — đừng đề xuất các bước tiếp theo vượt quá sản phẩm đã giao.
Các quy tắc bảo vệ đặc biệt theo loại nhiệm vụ:
- Nghiên cứu: cung cấp báo cáo kết quả + trích dẫn file, không chỉnh sửa code
- Xác minh: cung cấp kết quả đạt/không đạt + danh sách các bài kiểm tra không đạt, không "để tôi sửa luôn"
- Tài liệu: cung cấp tài liệu, không chỉnh sửa code
- Sử dụng công cụ nhiều: cung cấp kết luận tổng hợp, không phải toàn bộ đầu ra của công cụ
Những gì bạn sẽ thấy: Một bản tóm tắt subagent độc lập mà subagent có thể hoàn thành mà không cần ngữ cảnh cha, cộng với các quy tắc bảo vệ ngăn subagent tạo ra trạng thái mới, chạy các lệnh phá hoại hoặc vượt quá phạm vi của nó - do đó, việc tạo ra những subagent trở thành đòn bẩy đáng tin cậy thay vì các nguồn gây rối song song.
Câu 1:
Tình huống nào phù hợp NHẤT cho subagent?
GIẢI THÍCH:
Điều tra một codebase khác là hoàn hảo cho subagent - nó liên quan đến việc đọc nhiều file và theo nhiều đường dẫn, nhưng bạn chỉ cần kết luận ('họ sử dụng JWT với refresh token được lưu trữ trong Redis'). 20 lần đọc file và các điểm bế tắc vẫn nằm trong ngữ cảnh của subagent.
Câu 2:
Tiêu chí nào để quyết định có nên sử dụng subagent hay không?
GIẢI THÍCH:
Nhóm của Anthropic sử dụng bài kiểm tra này: 'Tôi có cần đầu ra của công cụ này một lần nữa không, hay chỉ cần kết luận?' Nếu bạn chỉ cần kết luận, đó là công việc của subagent. Công việc trung gian vẫn nằm trong ngữ cảnh của subagent và không bao giờ làm ô nhiễm ngữ cảnh của bạn.
Câu 3:
Khi Claude tạo ra một subagent, điều gì sẽ xảy ra với công việc trung gian của subagent đó?
GIẢI THÍCH:
Các subagent có ngữ cảnh riêng biệt. Chúng có thể đọc 20 file, chạy 12 tìm kiếm và gặp 3 bế tắc - nhưng chỉ có báo cáo cuối cùng được trả về cho agent chính. Tất cả các thông tin khám phá trung gian sẽ được thu gom rác khi subagent kết thúc.
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây: