Claude Certification Guide
0% chương trình học đã hoàn thành

Tra cứu nhanh: Lĩnh vực 2 — Thiết kế Tool & Tích hợp MCP

Thiết Kế Mô Tả Tool

Mô tả tool là cơ chế chính mà Claude dùng để chọn tool cần gọi. Chúng quan trọng hơn tên tool.

Những gì cần đưa vào mô tả tool:

  • Tool làm gì (một câu)
  • Định dạng và ràng buộc đầu vào mong đợi
  • Nó trả về gì (hình dạng của phản hồi)
  • Điều kiện ranh giới (những gì nó KHÔNG làm)
  • Ví dụ truy vấn sẽ kích hoạt tool này

Trình tự tối ưu hóa: Cải thiện mô tả trước → thêm ví dụ few-shot → gộp tool. Không bao giờ bắt đầu bằng cách giảm số lượng tool — hãy bắt đầu bằng cách làm mô tả rõ ràng hơn.

Quy Tắc Thiết Kế Schema

  • Tối đa 4-5 tool mỗi agent. Nhiều tool hơn làm tăng lỗi lựa chọn.
  • Dùng tên tham số mang tính mô tảcustomer_email thay vì email, order_date_range thay vì range.
  • Chỉ đánh dấu tham số là required khi thực sự bắt buộc. Tham số tùy chọn có giá trị mặc định giúp giảm ma sát.
  • Dùng kiểu enum cho các lựa chọn bị ràng buộc — chúng dẫn dắt mô hình tốt hơn chuỗi tự do.
  • Mở rộng mô tả trước khi gộp tool. Nếu Claude chọn sai tool, cách sửa đầu tiên là mô tả tốt hơn, không phải ít tool hơn.

Các Chế Độ tool_choice

Chế ĐộHành ViDùng Khi
autoMô hình tự quyết định có gọi tool hay khôngMặc định cho hầu hết agentic loop
anyMô hình phải gọi ít nhất một tool (tự chọn tool nào)Buộc dùng tool khi bạn biết chắc cần một tool
tool (forced)Mô hình phải gọi một tool cụ thể được chỉ địnhĐảm bảo tuân thủ schema; trích xuất structured output

Điểm thi quan trọng: Dùng tool_choice: { type: "tool", name: "extract_data" } khi bạn cần structured output được đảm bảo. Điều này buộc Claude luôn tạo ra output khớp với schema của tool.

auto là mặc định đúng cho agentic loop — mô hình cần được tự do quyết định khi nào gọi tool và khi nào trả lời bằng văn bản.

Kiến Trúc MCP

Mô hình ba lớp: Client ↔ Host ↔ Server

LớpVai TròVí Dụ
ClientKết nối tới server, định tuyến lệnh gọi toolClaude Desktop, extension IDE
HostỨng dụng quản lý vòng đời clientChính tiến trình của ứng dụng desktop
ServerPhơi bày tool, resource, promptBộ kết nối cơ sở dữ liệu, server file system

Giao thức: JSON-RPC 2.0 qua stdio hoặc HTTP/SSE.

Các tệp cấu hình:

  • .mcp.json ở gốc dự án — MCP server cấp dự án (chia sẻ với cả đội)
  • ~/.claude.json — MCP server cá nhân/toàn cục (không commit)

Quy tắc chính: Ưu tiên dùng MCP server cộng đồng trước. Chỉ tự xây server tùy chỉnh khi không có server cộng đồng nào đáp ứng được yêu cầu.

Xử Lý Lỗi Tool

Metadata lỗi có cấu trúc (mẫu hình được kiểm tra trong đề thi):

{ "errorCategory": "authentication" | "not_found" | "rate_limit" | "validation" | "internal", "isRetryable": true | false, "retryAfterMs": 5000, "partialResult": { ... }, "suggestion": "Check API key permissions" }

Phân biệt then chốt:

  • Lỗi truy cập (lỗi xác thực, timeout mạng) → Retry hoặc leo thang. Có điều gì đó đã sai.
  • Kết quả rỗng hợp lệ (tìm kiếm trả về 0 kết quả) → Chấp nhận. Việc thiếu dữ liệu CHÍNH LÀ câu trả lời.

Không bao giờ coi một kết quả rỗng hợp lệ là lỗi. Không bao giờ âm thầm nuốt trọn một lỗi truy cập.

Lựa Chọn Tool Trong Claude Code

ToolMục ĐíchDùng Khi
GrepTìm kiếm nội dung tệp theo patternTìm pattern code, chuỗi xuất hiện
GlobTìm tệp theo pattern tên/đường dẫnTìm tệp theo phần mở rộng hoặc quy ước đặt tên
ReadĐọc một tệp cụ thểBạn đã biết chính xác đường dẫn tệp
EditSửa nội dung tệpThực hiện thay đổi có mục tiêu trên tệp hiện có
BashChạy lệnh shellBuild, test, thao tác git, bất cứ gì không thuộc các mục trên

Nguyên tắc lựa chọn: Dùng tool cụ thể nhất. Grep để tìm nội dung, Glob để khám phá tệp, Read cho tệp đã biết. Tránh dùng Bash cho các nhiệm vụ mà tool chuyên biệt xử lý tốt hơn.

Quy Tắc Quyết Định Cho Kỳ Thi

Nếu câu hỏi nói...Đáp án khả năng cao là...
"Claude liên tục chọn sai tool"Cải thiện mô tả tool trước
"structured output được đảm bảo"tool_choice forced với tên tool cụ thể
"mô hình nên tự quyết định chọn tool nào"tool_choice: auto
"phải gọi một tool nhưng được tự chọn"tool_choice: any
"tìm kiếm không trả về kết quả nào"Kết quả rỗng hợp lệ — chấp nhận nó
"API trả về 401/timeout"Lỗi truy cập — retry hoặc leo thang
"quá nhiều tool, lỗi lựa chọn"Giới hạn 4-5 tool mỗi agent, cải thiện mô tả
"cần một MCP server tùy chỉnh"Kiểm tra server cộng đồng trước
"cấu hình MCP dùng chung toàn dự án".mcp.json ở gốc dự án
"cấu hình MCP cá nhân"~/.claude.json

Các Bẫy Thi Thường Gặp

BẫyĐáp Án Đúng
"Giảm số tool để sửa lỗi chọn sai"Sai — bước đầu tiên phải là cải thiện mô tả
"tool_choice: any đảm bảo một tool cụ thể"Sai — any buộc gọi một tool nào đó, không phải một tool cụ thể
"MCP server kết nối trực tiếp với nhau"Sai — mọi giao tiếp đều đi qua client/host
"Kết quả tìm kiếm rỗng nghĩa là tool đã lỗi"Sai — việc thiếu dữ liệu là một kết quả hợp lệ
"Trả về chuỗi lỗi chung chung từ tool"Sai — hãy trả về metadata có cấu trúc (nhóm lỗi, có thể retry, gợi ý)
"Xây MCP server tùy chỉnh cho các tích hợp phổ biến"Sai — hãy kiểm tra server cộng đồng trước
"Tên tool là tín hiệu lựa chọn chính"Sai — mô tả tool mới là tín hiệu chính