Đến nội dung chính
Tools & MCP

Thiết kế tool để agent chọn đúng: 5 nguyên tắc và 3 bẫy thường gặp

Agent gọi nhầm tool thường không phải vì model yếu, mà vì description chưa nói rõ ranh giới. Bài này giải thích model chọn tool dựa vào đâu và cách nhận ra đáp án đúng trong câu hỏi tình huống.

Đội ngũ CertGrove · Cập nhật · 9 phút đọc
Description rõ ranh giới giúp agent chọn đúng tool ngay từ lần gọi đầu.

Trong câu hỏi tình huống về Tools & MCP, một mẫu rất hay gặp là: agent có vài tool, nhưng liên tục gọi nhầm. Các phương án trả lời thường gồm fine-tune model, tăng max_tokens, gộp tool, hoặc viết lại description. Để chọn đúng, cần hiểu model ra quyết định dựa trên thông tin gì.

Model chọn tool dựa vào đâu?

Mỗi lần gọi, Claude nhận danh sách tool kèm name, description và input_schema. Model không “biết” tool của bạn làm gì ngoài những gì được viết ở đó. Nếu hai tool có mô tả gần giống nhau, model buộc phải đoán.

Vì vậy, khi agent gọi nhầm tool, nơi đầu tiên cần xem là phần mô tả — trước khi nghĩ tới các giải pháp tốn kém hơn.

5 nguyên tắc viết description

  1. 1Nói tool làm gì bằng một câu cụ thể“Lấy một đơn hàng theo mã chính xác” rõ hơn nhiều so với “xử lý đơn hàng”.
  2. 2Ghi rõ khi nào nên dùngMô tả tín hiệu trong yêu cầu của người dùng khiến tool này là lựa chọn đúng.
  3. 3Ghi rõ khi nào không nên dùngTrỏ sang tool khác cho các trường hợp gần giống. Đây là phần hay bị bỏ qua nhất.
  4. 4Input schema chặt chẽKiểu dữ liệu rõ, trường bắt buộc, enum cho giá trị cố định — giảm số cách gọi sai.
  5. 5Lỗi trả về có hướng xử lýNói thiếu gì và nên làm gì tiếp, để agent tự sửa thay vì thử lại mù quáng.

Ví dụ: trước và sau khi sửa

Trước — mơ hồ
{ "name": "search_orders", "description": "Tìm đơn hàng." }
Sau — rõ ranh giới
{ "name": "get_order", "description": "Lấy MỘT đơn theo mã chính xác. Dùng khi người dùng đưa mã đơn. Không dùng để tìm theo ngày hay sản phẩm — dùng search_orders." }

Bản sau nói rõ khi nào dùng, khi nào không, và trỏ sang tool còn lại. Đó là thông tin model cần để phân biệt hai tool.

3 bẫy thường gặp

Bẫy 1 · Nhiều tool chồng chéoMỗi tool thêm vào là một lựa chọn model phải phân biệt. Ít tool, mỗi tool một việc rõ ràng, thường tốt hơn.
Bẫy 2 · Gộp tất cả vào một tool “vạn năng”Một tool nhận câu lệnh tự do nghe gọn, nhưng làm mất cấu trúc input, khó validate và đẩy sự mơ hồ vào bên trong tool.
Bẫy 3 · Lỗi trả về không có hướng xử lý“Error” trơn khiến agent thử lại mù quáng. Lỗi nên nói thiếu gì và nên làm gì tiếp, ví dụ gợi ý dùng tool khác.

Thử với một câu tình huống

Câu minh hoạ

Một agent hỗ trợ thường gọi search_orders khi người dùng đưa mã đơn hàng chính xác. Đâu là cách sửa đầu tiên phù hợp nhất?

Tóm tắt

  • Model chọn tool dựa trên name, description và input_schema.
  • Description cần nói rõ dùng khi nào, không dùng khi nào.
  • Agent gọi nhầm tool → sửa description trước, rồi mới tính giải pháp tốn kém.
  • Tránh tool chồng chéo và tool “vạn năng” nhận câu lệnh tự do.

Câu hỏi thường gặp

Đội ngũ CertGroveViết ghi chú ôn thi song ngữ cho developer Việt Nam chuẩn bị Claude Certified Architect — Foundations.