

🔧 Viết Tool Cho AI Agent: 5 Nguyên Tắc Mà Anthropic Dùng Để Đạt SOTA SWE-bench
Agent chỉ giỏi bằng tool mà bạn đưa cho nó. Anthropic chia sẻ 5 nguyên tắc thiết kế tool đã giúp họ đạt state-of-the-art trên SWE-bench. Và phần thú vị nhất: họ dùng chính Claude để tối ưu tool cho Claude.
🎯 Nguyên Tắc 1: Chọn Đúng Tool
Nhiều tool hơn không có nghĩa là tốt hơn. Thay vì wrap mọi API endpoint thành tool, hãy thiết kế tool phù hợp với cách agent hoạt động. Agent có context hạn chế nên tool phải search hiệu quả thay vì trả về mọi thứ.
Ví dụ: dùng search_contacts thay vì list_contacts. Gộp nhiều operations vào một tool: schedule_event (thay vì tách list + create), get_customer_context (compile mọi data liên quan về khách hàng vào một chỗ).
📛 Nguyên Tắc 2: Namespacing Rõ Ràng
Nhóm tool liên quan bằng prefix nhất quán: asana_search, asana_projects_search. Điều này giảm confusion cho agent và tiết kiệm context. Prefix hay suffix tốt hơn? Phải test cả hai. Đừng đoán.
🔍 Nguyên Tắc 3: Trả Về Context Có Nghĩa
Return thông tin high-signal, ưu tiên relevance hơn flexibility. Thay vì trả về uuid và mime_type, hãy trả name và file_type. Agent hoạt động tốt hơn với natural language identifiers thay vì mã kỹ thuật khó hiểu.
Một kỹ thuật hay: thêm parameter response_format với enum "concise" (72 tokens) hoặc "detailed" (206 tokens). Agent tự chọn mức detail phù hợp, giống GraphQL field selection.
📏 Nguyên Tắc 4: Tiết Kiệm Token
Implement pagination, filtering, range selection, hoặc truncation với defaults hợp lý. Claude Code giới hạn tool responses ở 25,000 tokens mặc định.
Khi truncate, hướng dẫn agent sang chiến lược hiệu quả hơn thông qua error messages rõ ràng. Đừng trả error code cryptic. Viết "Results truncated. Try narrowing your search" thay vì "ERR_OVERFLOW".
✍️ Nguyên Tắc 5: Tool Description Là Prompt Engineering
Tool description ảnh hưởng hiệu suất cực lớn. Viết description như đang giải thích cho đồng nghiệp mới, biến implicit context thành explicit. Dùng tên parameter rõ ràng: user_id thay vì user.
Anthropic đã tinh chỉnh tool descriptions cho Claude Sonnet 3.5 và đạt state-of-the-art SWE-bench performance. Effort bỏ vào tool descriptions nhiều hơn cả overall prompts.
🤖 Dùng AI Để Tối Ưu Tool
Phần thú vị nhất: Anthropic dùng Claude để phân tích evaluation transcripts và đề xuất cải thiện tool. Claude-optimized tools outperform human-written versions trên held-out test sets.
Quy trình: viết tool prototype, chạy eval, cho Claude đọc transcript, Claude đề xuất fix, apply fix, chạy eval lại. Lặp cho đến khi đạt yêu cầu. Dùng held-out test sets để tránh overfitting.
Tool design cho AI agent giống UX design cho con người. Đầu tư vào agent-computer interface (ACI) ngang bằng human-computer interface (HCI).
#AI #ToolDesign #Anthropic #MCP #AIAgent #SWEbench #VibeAICoder #learnontiktok


