Tool use và vòng lặp agent

Mục tiêu: Định nghĩa tool tốt; Xử lý tool_use / tool_result; Hiểu Tool Runner vs Agent SDK.

Luồng gọi tool

Bạn khai báo tool (name, description, input_schema). Claude trả tool_use → ứng dụng của bạn thực thi → gửi tool_result (đúng tool_use_id) trong tin nhắn user → Claude tiếp tục. Lặp tới khi end_turn.

Viết tool cho agent

- Description là "prompt" của tool: làm gì, trả về gì, khi nào dùng/không dùng. - Mọi tham số có mô tả và định dạng. - strict: true + additionalProperties: false để input luôn đúng schema. - Lỗi: is_error: true với thông điệp hữu ích. - Nhiều tool_use song song → mọi tool_result trong một tin nhắn user.

Chọn harness

- Manual loop — bạn tự viết vòng lặp. - Tool Runner (trong Anthropic SDK) — SDK chạy vòng lặp cho tool bạn định nghĩa. - Claude Agent SDK — harness của Claude Code: tool tích hợp, hooks, subagents; bạn tự host. - Managed Agents — Anthropic host cả vòng lặp và sandbox.