Các bài trong khoáBài 12/38

38 bài

Domain 3: Integration·Task 3.1

Đánh giá cấu hình tool bị thừa năng lực

Agent có quá nhiều tool thì chọn sai tool, tốn context và mở rộng bề mặt tấn công. Cách kiểm kê, giữ tool nào, gộp hay tách, và chặn bằng cấu hình.

  • 6 phút đọc
  • Đối chiếu docs 02/11/2026
  • 7 nguồn

Đọc xong bạn nắm được

  • Nêu được cái giá của việc thừa tool về độ chính xác, token và an toàn
  • Kiểm kê tool theo nhiệm vụ đã định nghĩa và áp quyền tối thiểu
  • Chọn giữa gộp tool, đặt tên theo không gian, và tách agent theo miền
  • Bỏ tool bằng cấu hình, phân biệt cấp sẵn quyền với chặn tool

Agent thường được thêm tool dần dần: mỗi nhóm sản phẩm thêm một ít, không ai bỏ bớt. Một năm sau, agent có ba chục tool, chọn sai nhiều hơn, trả lời chậm hơn, và có quyền làm những việc không ai giao cho nó. Đề thi gọi tình trạng này là thừa năng lực (capability bloat).

Bài này giúp bạn trả lời: thừa tool gây hại gì, giữ tool nào, và sửa bằng cách nào?

Ví dụ xuyên suốt: agent chăm sóc khách hàng của một nhà mạng internet

Một nhà mạng internet gia đình có agent hỗ trợ khách qua chat. Nhiệm vụ đã định nghĩa: tra cứu hợp đồng và cước, tạo phiếu kỹ thuật khi mất mạng, soạn trả lời để nhân viên duyệt. Sau 18 tháng, agent có 32 tool, trong đó có:

  • hoan_tien, huy_hop_dong, xoa_tai_khoan (do nhóm kế toán và nhóm pháp chế thêm vào "cho tiện");
  • tra_cuoc, xem_cuoc, lay_hoa_don (ba tool gần như làm cùng một việc);
  • gui_sms_hang_loat (dùng cho chiến dịch quảng cáo, không liên quan hỗ trợ).

Tỉ lệ agent chọn đúng tool giảm rõ, và mỗi lượt trả lời chậm thêm.

Thừa tool tốn gì

Cái giáDocs của Anthropic nói
Chọn sai toolKhả năng chọn đúng tool của Claude giảm khi vượt quá khoảng 30 tới 50 tool. Tool chồng chéo nhau còn làm agent đi sai hướng
Tốn contextĐịnh nghĩa tool chiếm context ở mọi lượt; khoảng 50 tool có thể tốn 10.000 tới 20.000 token
Mở rộng bề mặt tấn côngDocs về chống prompt injection khuyên giới hạn quyền truy cập dữ liệu và hành động của Claude theo nguyên tắc quyền tối thiểu

Bài viết của Anthropic về viết tool cho agent tóm gọn: nhiều tool hơn không có nghĩa là kết quả tốt hơn. Bài về context engineering đưa ra một phép thử dễ nhớ: nếu một kỹ sư không nói chắc được nên dùng tool nào trong một tình huống, thì agent cũng không làm tốt hơn.

Kiểm kê: giữ tool nào

Đối chiếu từng tool với nhiệm vụ đã định nghĩa. Câu luyện thi chia tool thành bốn nhóm:

NhómGiữ?Trong ví dụ
Bắt buộc cho nhiệm vụ đã định nghĩaGiữtra_hop_dong, tao_phieu_ky_thuat, soan_tra_loi
Dùng thường xuyên, giảm số lần chuyển cho ngườiGiữtra_lich_ky_thuat_vien
Thỉnh thoảng hữu ích cho việc không liên quanBỏgui_sms_hang_loat
"Biết đâu sau này cần"Bỏxoa_tai_khoan

Với tool vượt phạm vi, cách đúng là bỏ hẳn khỏi cấu hình, không phải giữ lại rồi canh chừng.

Cũng theo câu luyện thi, danh sách tool được phép nên khai báo theo vai trò và áp ở tầng điều phối (code của bạn), đúng những tool vai trò đó cần. Cấp hết tool rồi trông vào việc model tự biết từ chối là sai; tắt hết tool cho "an toàn tối đa" cũng sai, vì agent không làm được việc được giao nữa.

Sửa: gộp, đặt tên theo không gian, hoặc tách agent

Sau khi bỏ tool thừa, phần còn lại có thể vẫn rối. Bài viết về viết tool cho agent gợi ý:

  • Gộp tool theo việc, không bọc từng endpoint. Lỗi hay gặp là mỗi API endpoint thành một tool. Bài viết lấy ví dụ một tool schedule_event tự tìm giờ rảnh và đặt lịch, thay cho ba tool list_users, list_events, create_event. Trong ví dụ, tra_cuoc, xem_cuoc, lay_hoa_don gộp thành một tool tra_cuoc_va_hoa_don.
  • Đặt tên theo không gian (namespacing) khi có nhiều dịch vụ: tiền tố theo dịch vụ hay theo loại tài nguyên giúp agent phân biệt. Bài viết nói chọn tiền tố hay hậu tố cũng ảnh hưởng đáng kể tới kết quả đánh giá.
  • Tách agent theo miền khi tool phục vụ nhiều quy trình khác hẳn nhau. Blog về hệ nhiều agent nêu dấu hiệu: một agent có quá nhiều tool (thường từ khoảng 20 trở lên) khó chọn đúng tool.

Bỏ bằng cấu hình, không bằng lời dặn

Một dòng trong system prompt hay CLAUDE.md kiểu "đừng dùng tool xoá tài khoản" không bỏ được tool: định nghĩa vẫn nằm trong context và tool vẫn gọi được. Phải bỏ trong cấu hình. Với Agent SDK có ba chỗ hay nhầm:

Cấu hìnhThật ra làm gì
allowedToolsCấp sẵn quyền cho các tool liệt kê (không hỏi lại). Tool không liệt kê vẫn còn, lời gọi chúng rơi xuống chế độ quyền và callback canUseTool
disallowedToolsBỏ hẳn định nghĩa tool khỏi yêu cầu; Claude không thấy tool đó. Chặn cả ở chế độ bypassPermissions
tools của subagentBỏ trống thì subagent kế thừa mọi tool dành cho subagent; phải liệt kê để giới hạn

Nguồn

  1. Exam Guide CCAR-P v1.0, Domain 3(mở tab mới)
  2. Writing effective tools for agents (Anthropic)(mở tab mới)
  3. Effective context engineering for AI agents (Anthropic)(mở tab mới)
  4. Tool search tool (Claude Docs)(mở tab mới)
  5. Configure permissions (Agent SDK)(mở tab mới)
  6. Subagents in the SDK (Agent SDK)(mở tab mới)
  7. Mitigate jailbreaks and prompt injections (Claude Docs)(mở tab mới)

Nắm rồi thì thử sức với đề

Xem khoá luyện thi
Đánh giá cấu hình tool bị thừa năng lực · Anthropic Exam Pro