📖 Nội dung bài học
Tóm tắt
Việc xây dựng các tool cho Claude đòi hỏi phải giải quyết một số thách thức không hiển nhiên. Khi bạn muốn Claude đặt lời nhắc cho các ngày trong tương lai, bạn nhanh chóng phát hiện ra rằng mặc dù Claude biết ngày hiện tại, nhưng nó không phải lúc nào cũng biết chính xác thời gian, gặp khó khăn với các phép tính ngày phức tạp và không có cách nào tích hợp sẵn để thực sự đặt lời nhắc.

Giải pháp là tạo các tool tùy chỉnh để xử lý các tác vụ cụ thể này. Đối với một hệ thống nhắc nhở, bạn sẽ cần ba tool riêng biệt: một để lấy ngày và giờ hiện tại, một để cộng thời lượng vào ngày và một tool thứ ba để thực sự đặt lời nhắc.
Tại sao điều này lại là một thử thách
Claude có một số hạn chế khi thực hiện các tác vụ liên quan đến thời gian:
- Claude có thể biết ngày hiện tại, nhưng không biết chính xác thời gian
- Claude không phải lúc nào cũng xử lý tốt việc cộng thời gian, đặc biệt là khi xem xét nhiều ngày trong tương lai
- Claude không biết cách đặt lời nhắc

Các tool bạn cần
Để giải quyết những vấn đề này, bạn sẽ tạo ba tool chuyên dụng:
- Lấy ngày giờ hiện tại - Claude cần biết ngày và giờ hiện tại
- Cộng thời lượng vào ngày giờ - Claude không hoàn hảo trong việc cộng ngày giờ
- Đặt lời nhắc - Cần một cách để đặt lời nhắc

Cách tool functions hoạt động
Hệ thống tool tuân theo một luồng cụ thể giữa server của bạn và Claude. Bạn viết các function mà Claude có thể gọi khi cần thêm thông tin và Claude nhận kết quả để giúp hình thành phản hồi của nó.

Quá trình này bao gồm một số bước: viết tool function, tạo một JSON schema specification, gọi Claude với schema đó, chạy tool khi Claude yêu cầu và cung cấp kết quả trở lại cho Claude.

Viết Tool Functions
Tool functions là các function Python thông thường được thực thi khi Claude quyết định cần thêm thông tin để giúp người dùng. Dưới đây là cách viết chúng một cách hiệu quả:
Các phương pháp hay nhất
- Sử dụng các đối số được đặt tên rõ ràng, mô tả (điều này trở nên quan trọng sau này)
- Xác thực các đầu vào, đưa ra lỗi nếu chúng không đạt yêu cầu xác thực
- Trả về các lỗi có ý nghĩa - Claude sẽ cố gắng gọi function của bạn lần thứ hai nếu nó nhận được lỗi

Tạo Tool đầu tiên của bạn
Hãy bắt đầu với tool đơn giản nhất - lấy ngày và giờ hiện tại. Function này lấy một tham số định dạng ngày và trả về dấu thời gian hiện tại:
from datetime import datetime, timedelta
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
return datetime.now().strftime(date_format)
Function này rất đơn giản nhưng tuân theo các nguyên tắc chính: nó có một tên mô tả, lấy một tham số được đặt tên rõ ràng với giá trị mặc định hợp lý và trả về chính xác những gì nó hứa.
JSON Schema Specification
Khi bạn đã có function của mình, bạn cần viết một JSON Schema để mô tả nó cho Claude. Schema này cho Claude biết function yêu cầu những đối số nào và giúp nó hiểu khi nào và cách sử dụng tool.

JSON Schema có hai mục đích: nó giúp Claude hiểu function của bạn yêu cầu những đối số nào và nó không chỉ là một khái niệm LLM - JSON Schema thường được sử dụng để xác thực dữ liệu trong nhiều ngữ cảnh lập trình. Có rất nhiều tool trực tuyến để giúp bạn tạo schema.
Các phương pháp hay nhất về Schema
- Giải thích tool làm gì, khi nào nên sử dụng và nó trả về cái gì
- Đặt mục tiêu từ 3 đến 4 câu trong phần mô tả của bạn
- Cung cấp mô tả chi tiết cho các tham số
Với tool function của bạn đã được viết và schema được xác định, bạn đã sẵn sàng tích hợp nó với Claude và bắt đầu xây dựng các tương tác AI tinh vi hơn có thể xử lý các tác vụ trong thế giới thực như đặt lời nhắc.
Tải xuống
🔁 Bài học liên quan
- Bài tiếp: JSON Schema for tools
- Bài trước: Introducing tool use
- 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/276757
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01