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.
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
- 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”.
- 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.
- 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.
- 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.
- 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
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
Thử với một câu tình huống
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.