📖 Nội dung bài học
Tóm tắt
Bây giờ chúng ta đã đến bước cuối cùng của quy trình sử dụng công cụ. Sau khi chạy công cụ và nhận kết quả, chúng ta cần gửi mọi thứ trở lại Claude để nó có thể cung cấp phản hồi hoàn chỉnh cho người dùng.

Quy trình rất đơn giản: lấy tất cả các phần kết quả công cụ chúng ta đã tạo, đóng gói chúng vào một tin nhắn người dùng và gửi toàn bộ lịch sử cuộc trò chuyện trở lại Claude cùng với các lược đồ công cụ ban đầu.
Thêm Tin nhắn Trợ lý
Đầu tiên, chúng ta cần đảm bảo lịch sử cuộc trò chuyện của mình đầy đủ. Sau phản hồi ban đầu của Claude với yêu cầu sử dụng công cụ, chúng ta cần thêm phản hồi đó vào lịch sử tin nhắn của mình bằng cách sử dụng add_assistant_message().

Điều này đảm bảo chúng ta có luồng trò chuyện hoàn chỉnh: câu hỏi người dùng → yêu cầu công cụ của trợ lý → kết quả công cụ → phản hồi cuối cùng của trợ lý.
Chạy Công cụ và Tạo Kết quả Công cụ
Hàm run_tools() xử lý tất cả các yêu cầu sử dụng công cụ từ phản hồi của Claude và tạo các phần kết quả công cụ được định dạng đúng. Mỗi kết quả công cụ bao gồm:
- ID sử dụng công cụ (khớp với yêu cầu ban đầu)
- Kết quả thực tế từ việc chạy công cụ
- Trạng thái cho biết thành công hay lỗi

Hàm xử lý cả việc thực thi công cụ thành công và lỗi một cách duyên dáng, đóng gói mọi thứ vào cấu trúc JSON chính xác mà Claude mong đợi.
Thêm Kết quả Công cụ vào Cuộc trò chuyện
Khi chúng ta có kết quả công cụ, chúng ta thêm chúng vào cuộc trò chuyện bằng cách sử dụng add_user_message():
add_user_message(messages, run_tools(parts))
Điều này tạo ra một tin nhắn người dùng chứa tất cả các phần kết quả công cụ. Cuộc trò chuyện bây giờ có đầy đủ các lượt trao đổi cần thiết để Claude cung cấp phản hồi cuối cùng.

Lần gọi cuối cùng tới Claude
Bước cuối cùng là gửi mọi thứ trở lại Claude. Điều này đòi hỏi hai yếu tố quan trọng:
- Lịch sử tin nhắn hoàn chỉnh (người dùng → trợ lý → người dùng)
- Các lược đồ công cụ ban đầu
text, parts = chat(messages, tools=[get_current_datetime_schema])
Bao gồm các lược đồ công cụ là rất quan trọng. Nếu không có chúng, Claude sẽ bối rối về các tham chiếu công cụ trong lịch sử cuộc trò chuyện và sẽ không hiểu get_current_datetime thực sự làm gì.

Thành công
Khi mọi thứ hoạt động chính xác, Claude nhận được kết quả công cụ và có thể cung cấp phản hồi hoàn chỉnh, đầy đủ thông tin. Trong ví dụ của chúng ta, Claude đã truy xuất thành công thời gian hiện tại và định dạng nó trong một phản hồi tự nhiên: "Ngày và giờ hiện tại là 03-04-2025, 12:54:00."
Điều này cho thấy rằng việc tích hợp công cụ của chúng ta đang hoạt động bình thường. Mặc dù Claude biết ngày hiện tại, nhưng nó không có quyền truy cập vào thông tin thời gian thực như thời gian chính xác hiện tại - đây chính xác là những gì công cụ của chúng ta đã cung cấp.
Chu kỳ sử dụng công cụ hoàn chỉnh hiện đang hoạt động: Claude yêu cầu một công cụ, chúng ta thực thi nó, trả về kết quả và Claude kết hợp thông tin đó vào phản hồi cuối cùng của nó cho người dùng.
🔁 Bài học liên quan
- Bài tiếp: Multi-Turn conversations with tools
- Bài trước: Running tool functions
- Cùng section: Overview of Claude Models · Accessing the API · Making a request
- Thuộc lộ trình: Path C
- Docs tham khảo: Glossary · Skills atlas · By use-case
📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: https://anthropic.skilljar.com/claude-in-amazon-bedrock/276760
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01