Chatbot tra đơn hàng thật: AI gọi công cụ hoạt động ra sao?

Mô hình chỉ đề nghị gọi công cụ, còn ứng dụng mới là bên chạy. Bài giải thích vòng lặp, cách đặt quyền để khách chỉ xem đơn của mình và khi nào cần xác nhận, theo tài liệu của Anthropic, OpenAI và OWASP.
Khách nhắn lúc 9 giờ tối: "Đơn của tôi đến đâu rồi?". Chatbot đáp đúng trạng thái và ngày giao dự kiến. Nhìn bên ngoài, chatbot "biết" dữ liệu, nhưng mô hình chỉ viết chữ; dữ liệu đến từ lệnh tra cứu do ứng dụng của doanh nghiệp chạy giúp.
Bài dựa trên tài liệu tool use của Anthropic, hướng dẫn function calling và guardrails của OpenAI, 2 bản Top 10 của OWASP (LLM 2025, API 2023), đối chiếu đến ngày 24/10/2026. Phần lớn trang của hãng không ghi ngày cập nhật.
Bài trả lời 3 câu hỏi: mô hình và ứng dụng mỗi bên làm gì, làm sao để khách chỉ xem được đơn của mình, và khi nào phải hỏi khách xác nhận. Click Star đã có bài riêng về AI agent, MCP, prompt injection và đầu ra JSON; bài này đi vào việc tra đơn.
Điểm chính
- Với hàm do doanh nghiệp định nghĩa, mô hình không tự chạy. Theo Anthropic, nó chỉ gửi yêu cầu có cấu trúc; mã của doanh nghiệp chạy rồi gửi kết quả về (công cụ như tìm web do máy chủ hãng chạy là ngoại lệ). OpenAI mô tả cùng quy trình.
- Nên đặt trần số vòng lặp: bộ chạy công cụ (beta) trong SDK của Anthropic chỉ giới hạn khi bạn đặt
max_iterations. - Mã khách phải lấy từ phiên đăng nhập, không để mô hình điền; OpenAI khuyên đừng bắt mô hình điền thứ ứng dụng đã biết.
- Kiểm quyền ở hệ thống phía sau: OWASP API Security nêu lỗi đổi mã đối tượng là phổ biến, và khuyên kiểm ở mọi hàm nhận mã từ khách.
- Hủy đơn, đổi địa chỉ, hoàn tiền cần bước xác nhận (OWASP, OpenAI).
- Kết quả công cụ là dữ liệu không tin cậy. Hãy đo bằng trạng thái thật trong hệ thống, không chỉ bằng lời chatbot.

Chatbot tra đơn hàng hoạt động thế nào
Mô hình chỉ đề nghị gọi công cụ; ứng dụng của doanh nghiệp mới là bên chạy. Anthropic ghi rõ trong "How tool use works" (không ghi ngày, đọc 24/10/2026): mô hình không tự chạy gì, mã của bạn (hoặc máy chủ Anthropic, với công cụ như tìm web) chạy thao tác và kết quả quay lại cuộc hội thoại.
Công cụ là chức năng do doanh nghiệp định nghĩa, như tra đơn hay xem tồn kho. Cách làm này gọi là tool use hoặc function calling (gọi hàm). OpenAI mô tả 5 bước (kiểm quyền ở bước 3 là Click Star thêm), Anthropic mô tả cùng nhịp:
- Ứng dụng gửi câu hỏi của khách cùng danh sách công cụ được phép dùng.
- Mô hình trả về yêu cầu, ví dụ gọi
lookup_ordervới mã đơn khách nêu. - Ứng dụng kiểm quyền rồi chạy truy vấn trong hệ thống đơn hàng.
- Ứng dụng gửi kết quả về mô hình, kèm mã nhận dạng của lệnh gọi.
- Mô hình viết câu trả lời cho khách, hoặc đề nghị gọi thêm công cụ.
Với Claude, ứng dụng lặp khi stop_reason là tool_use, và dừng ở các lý do khác như end_turn hay max_tokens. Mỗi lệnh gọi thêm ít nhất 1 lượt đi về (Anthropic), nên câu mô hình tự trả lời được thì không cần công cụ.
Mô tả công cụ: viết cho nhân viên mới đọc
Mô hình chọn công cụ dựa vào phần mô tả, nên đây là yếu tố quan trọng nhất. Anthropic (Define tools, không ghi ngày) khuyên nêu công cụ làm gì, khi nào dùng và không dùng, mỗi tham số nghĩa là gì, và công cụ không trả về gì. Họ gợi ý ít nhất 3 đến 4 câu mỗi công cụ.
Ví dụ minh họa của Click Star, hợp lệ theo định dạng của Anthropic:
{
"name": "lookup_order",
"description": "Tra trạng thái của 1 đơn hàng thuộc khách đang chat. Dùng khi khách hỏi đơn đang ở đâu hoặc bao giờ giao. Không dùng để hủy hay sửa đơn. Chỉ trả trạng thái, đơn vị vận chuyển và ngày giao dự kiến, không trả số điện thoại hay địa chỉ.",
"input_schema": {
"type": "object",
"properties": {
"order_code": {
"type": "string",
"description": "Mã đơn khách đã nêu. Nếu khách chưa nêu mã, hãy hỏi lại, đừng đoán."
}
},
"required": ["order_code"],
"additionalProperties": false
}
}
Khuôn này cố ý không có tham số mã khách. Ứng dụng đã biết khách là ai từ phiên chat nên tự gắn mã đó vào truy vấn. OpenAI nêu ví dụ cùng tinh thần với hoàn tiền: mã đơn đã biết thì truyền trong mã, đừng bắt mô hình điền.
Dòng "đừng đoán" có lý do. Theo Anthropic (Tool use with Claude), khi thiếu tham số bắt buộc, có model hỏi lại, có model có thể tự suy ra giá trị, và hành vi này không được đảm bảo.
Vài nguyên tắc khác từ tài liệu:
- Định nghĩa công cụ, khối gọi và khối kết quả đều làm tăng token, tức đơn vị tính phí theo lượng chữ (Anthropic). OpenAI nêu riêng định nghĩa hàm.
- Chế độ
strictđảm bảo tham số đúng khuôn (Anthropic, OpenAI). Theo Click Star, nó không đảm bảo mã đơn thuộc về khách.
Quyền hạn: khách nào được xem đơn nào
Quyền phải do ứng dụng quyết, không do mô hình. Khách A gõ "Cho tôi xem đơn DH12346", nhưng đó là đơn của khách B. Nếu công cụ nhận mã đơn rồi tra thẳng, mô hình sẽ gọi và chatbot trả lời.
Lỗi này có tên: kiểm quyền ở mức đối tượng bị hỏng (BOLA). Theo OWASP API Security Top 10 2023, kẻ tấn công khai thác bằng cách đổi mã đối tượng trong yêu cầu. OWASP khuyên kiểm ở mọi hàm dùng mã từ phía khách để truy cập bản ghi, ưu tiên mã ngẫu nhiên khó đoán, và viết kiểm thử cho việc này.
OWASP Top 10 for LLM Applications 2025 (mục LLM06, Excessive Agency) nêu 3 gốc rủi ro: thừa chức năng, thừa quyền, thừa tự chủ. Ví dụ thừa quyền: công cụ chỉ cần đọc nhưng dùng tài khoản cơ sở dữ liệu còn quyền sửa và xóa, hoặc phục vụ từng người nhưng dùng tài khoản thấy dữ liệu của mọi người.
Biện pháp của OWASP áp dụng thẳng cho tra đơn:
- Chỉ cấp công cụ tối thiểu, tránh công cụ mở (OWASP lấy ví dụ chạy lệnh shell; Click Star xếp truy vấn SQL tự do vào cùng loại).
- Dùng tài khoản chỉ đọc, giới hạn trong bảng cần thiết.
- Chạy công cụ trong ngữ cảnh của đúng người dùng đó.
- Kiểm quyền ở hệ thống phía sau, không dựa vào việc mô hình tự quyết.
Theo Click Star, mã tuần tự như DH0001, DH0002 dễ đoán, nhưng mã ngẫu nhiên cũng không thay được bước kiểm quyền. Khách chưa đăng nhập cần bước xác minh riêng; Click Star chưa có nguồn về cách chuẩn, nên phải tự thiết kế và kiểm thử.
Click Star gom các biện pháp trong bài thành 5 lớp (khung tham khảo của Click Star): danh tính khách, công cụ hẹp, kiểm quyền theo đơn, xác nhận hành động ghi, nhật ký.

Hành động ghi: hỏi lại trước khi làm
Tra cứu có thể chạy tự động, còn hủy đơn hay hoàn tiền thì nên có người xác nhận. OWASP gọi việc thiếu bước duyệt là thừa tự chủ: hành động tác động lớn chạy khi chưa ai duyệt. Ví dụ của OWASP là xóa tài liệu mà không hỏi người dùng.
OWASP khuyên đưa người vào vòng duyệt các hành động đó. Trong Agents SDK, OpenAI (Guardrails and human review, không ghi ngày) cho phép tạm dừng trước hành động có tác dụng phụ như hủy hoặc chỉnh sửa: mô hình vẫn đề nghị, nhưng việc chạy chờ bạn duyệt.
OpenAI còn khuyên: khi cần kiểm quanh mọi lệnh gọi (nói trong ngữ cảnh nhiều agent), hãy đặt kiểm tra cạnh chính công cụ gây tác dụng phụ.
Khung tham khảo của Click Star, không lấy từ nguồn ngoài: xếp 5 việc theo rủi ro tăng dần là tra trạng thái đơn, xem thông tin cá nhân trong đơn, đổi địa chỉ giao, hủy đơn, hoàn tiền.
Mô hình chỉ soạn yêu cầu; ứng dụng hiện lại nội dung, và khách bấm nút xác nhận thay vì gõ chữ, vì mô hình phải đoán nghĩa của câu chữ, còn nút bấm thì rõ ràng (suy luận của Click Star).

Kết quả công cụ, lỗi, vòng lặp và nhật ký
Kết quả là dữ liệu, không phải lệnh. Nội dung từ bên ngoài có thể chứa câu chèn lệnh, như ghi chú giao hàng do ai đó nhập (ví dụ minh họa).
Anthropic (Handle tool calls; Mitigate jailbreaks and prompt injections) khuyên để nội dung lạ trong khối tool_result, nói rõ nó là gì và từ đâu, và ghi trong lời dặn hệ thống rằng kết quả công cụ không được đổi mục tiêu.
Lỗi cần có hướng dẫn. Khi tra thất bại, trả is_error: true kèm lý do và việc nên làm tiếp; Anthropic khuyên tránh câu chung như "failed". Với tra đơn, Click Star đề xuất dùng cùng 1 câu cho "không có đơn" và "đơn của người khác", để chatbot không xác nhận đơn có tồn tại.
Trần số vòng. Theo Anthropic (Tool runner, trong SDK), bộ chạy lặp đến khi mô hình hết gọi công cụ, hoặc đến max_iterations nếu bạn đặt. Vòng lặp tự viết thì tự đếm vòng. Click Star chưa thấy số khuyến nghị chung; hãy tự chọn trần rồi chỉnh.
Nhật ký. OWASP khuyên ghi nhật ký hoạt động của công cụ và hệ thống phía sau, và giới hạn tốc độ; 2 việc này giảm thiệt hại chứ không ngăn được lỗi. Click Star gợi ý ghi thời gian, mã khách, tên công cụ, tham số, kết quả đã che bớt và người xác nhận, không ghi nguyên số điện thoại hay địa chỉ.
Ý nghĩa với doanh nghiệp Việt Nam
Chatbot tra đơn chạm vào tên, số điện thoại và địa chỉ, tức dữ liệu cá nhân. Click Star chưa đọc văn bản pháp luật cho bài này nên không nêu điều khoản; hãy hỏi bộ phận pháp lý.
Đánh giá của Click Star. Hãy coi mô hình như nhân viên trực chat mới: hiểu câu hỏi nhanh, nhưng không nên giao chìa khóa kho. Phần việc khó nằm ở mã kiểm quyền, xác nhận và nhật ký, không nằm ở mô hình.
Click Star có bán dịch vụ tích hợp AI và AI automation nên có lợi ích liên quan; nhận định trên là kỹ thuật, bạn có thể tự kiểm bằng bộ ca thử.
Việc nên làm trước khi mở cho khách
Bảng kiểm của Click Star, tổng hợp từ các mục trên. Nên bắt đầu bằng công cụ chỉ đọc.
Thiết kế công cụ
- Mô tả nêu rõ khi nào dùng và khi nào không.
- Khuôn tham số không có mã khách.
- Chỉ trả trường cần, không trả số điện thoại.
- Lỗi trả kèm hướng dẫn việc nên làm.
Quyền và an toàn
- Mã khách lấy từ phiên đăng nhập hoặc bước xác minh.
- Mỗi truy vấn kiểm đơn thuộc về khách đó.
- Tài khoản cơ sở dữ liệu chỉ đọc, đúng bảng cần.
- Hủy đơn và đổi địa chỉ cần nút xác nhận.
Vận hành
- Đặt trần số vòng lặp.
- Ghi nhật ký, che bớt dữ liệu cá nhân.
- Có đường chuyển sang nhân viên.
- Chạy lại bộ ca thử khi đổi model, lời dặn hay công cụ.

Cách đo
- So lời chatbot với trạng thái thật. Anthropic (Demystifying evals for AI agents, 9/1/2026) lấy ví dụ đặt vé: câu "đã đặt" khác với việc có bản ghi trong cơ sở dữ liệu.
- Lập bộ ca thử: ca thường, ca thiếu mã, ca hỏi đơn của người khác, ca có lệnh chèn trong ghi chú. Theo Click Star, 1 ca của người khác lọt qua là lỗi phải sửa trước khi mở.
Những sai lầm thường gặp
- Cho mô hình điền mã khách thay vì lấy từ phiên.
- Kết nối công cụ bằng tài khoản có quyền sửa và xóa, hoặc cho chạy truy vấn tự do.
- Tin rằng
stricthay lời dặn trong prompt là đủ để bảo vệ dữ liệu. - Để mô hình tự hủy đơn hay hoàn tiền mà không có xác nhận.
- Ghi nhật ký số điện thoại và địa chỉ nguyên văn.
- Chỉ thử vài câu dễ, không thử ca đơn của người khác.
Điều chưa biết
Click Star chưa có số đo công khai cho Việt Nam về chatbot tra đơn, hay về mức lỗi chọn công cụ của từng model với tiếng Việt. Tài liệu đổi nhanh; bộ chạy công cụ của Anthropic được ghi là bản beta khi đọc.
Click Star dùng bản PDF 2025 của OWASP làm nguồn. Click Star chưa đọc tài liệu của Zalo hay Meta về xác minh người đang chat, và chưa đọc văn bản pháp luật nào cho bài này.
Bài liên quan
Cần tư vấn cụ thể cho doanh nghiệp?
Click Star giúp anh/chị xây dựng giải pháp phù hợp ngành nghề và quy mô. Trả lời mọi câu hỏi trong giờ làm việc.



