QuotaCheap Playbook

Tool Calling Patterns Cho Production AI Agents

Playbook tiếng Việt cho developer xây production AI agents: thiết kế tool schema, permission layer, retry, idempotency, observability, quota và kiểm soát c…

Cách thiết kế, điều phối và kiểm soát tool calling để agent chạy ổn định hơn trong môi trường thật.

Playbook thực hành cho developer đang xây AI agent production: từ chọn tool schema, kiểm soát quyền, xử lý lỗi, retry, quan sát chi phí, đến routing qua API gateway OpenAI-compatible như QuotaCheap.

Tool Calling Patterns Cho Production AI Agents Tool calling là phần biến một AI agent từ chatbot thành hệ thống có thể hành động: đọc dữ liệu, gọi API, tạo ticket, truy vấn database, gửi email, cập nhật CRM hoặc chạy workflow nội bộ.

Nhưng trong production, tool calling không chỉ là “cho model gọi function”.

Bạn cần thiết kế ranh giới quyền, kiểm soát chi phí, quan sát request, xử lý lỗi và tránh để agent thực hiện hành động ngoài ý muốn.

Bài này tập trung vào các pattern thực tế cho developer đang xây production AI agents.

Tách rõ reasoning, planning và execution Một lỗi phổ biến là để model vừa suy luận, vừa chọn tool, vừa thực thi hành động quan trọng trong một bước duy nhất.

Với các workflow đơn giản, cách này có thể đủ.

Nhưng khi agent xử lý tác vụ có rủi ro cao như thanh toán, cập nhật dữ liệu khách hàng hoặc thay đổi cấu hình hệ thống, bạn nên tách ba lớp: Reasoning : agent hiểu yêu cầu và xác định mục tiêu.

Planning : agent tạo kế hoạch gồm các bước và tool cần dùng.

Execution : hệ thống của bạn xác thực từng tool call trước khi chạy.

Ví dụ, thay vì cho agent gọi trực tiếp refundInvoice, hãy yêu cầu agent tạo một action proposal: invoice ID, lý do refund, số tiền, mức độ tự tin và dữ liệu đã kiểm tra.

Backend sau đó áp rule, kiểm tra quyền user, giới hạn số tiền và có thể yêu cầu human approval.

Pattern này làm agent chậm hơn một chút, nhưng giúp giảm rủi ro khi đưa vào production.

Thiết kế tool schema hẹp, rõ và khó dùng sai Tool schema tốt nên giống một API contract nghiêm ngặt, không phải một hộp đen linh hoạt.

Mỗi tool chỉ nên làm một việc cụ thể.

Tránh schema quá rộng như: Schema này trao quá nhiều quyền diễn giải cho model.

Thay vào đó, hãy định nghĩa tool cụ thể: Một số nguyên tắc hữu ích: Dùng enum thay vì free text khi có thể.

Đặt field bắt buộc cho dữ liệu quan trọng.

Không cho model tự tạo ID nhạy cảm nếu ID phải đến từ hệ thống.

Tách tool đọc dữ liệu và tool ghi dữ liệu.

Không để tool tự động thực hiện hành động không thể đảo ngược nếu chưa có guardrail.

Tool càng hẹp, bạn càng dễ log, test, kiểm soát quyền và debug.

Dùng read before write cho hành động có rủi ro Với các agent có khả năng thay đổi trạng thái hệ thống, pattern an toàn là đọc trước, ghi sau.

Agent không nên cập nhật dữ liệu chỉ dựa trên prompt của user.

Nó nên gọi tool đọc dữ liệu, kiểm tra trạng thái hiện tại, rồi mới đề xuất hành động ghi.