📖 Nội dung bài học
Tóm tắt
Khi xây dựng ứng dụng AI với Claude, bạn thường cần cung cấp cho nó quyền truy cập thông tin thời gian thực hoặc khả năng thực hiện hành động. Đây là lúc các tool function phát huy tác dụng - chúng là các hàm Python mà Claude có thể gọi khi cần thêm dữ liệu để hỗ trợ người dùng.

Hình ảnh trên hiển thị ba công cụ thiết yếu mà chúng ta sẽ triển khai: lấy ngày giờ hiện tại, cộng thêm khoảng thời gian vào ngày tháng và đặt lời nhắc. Hãy bắt đầu với công cụ đầu tiên.
Tool functions là gì?
Một tool function là một hàm Python thuần túy được thực thi tự động khi Claude xác định rằng nó cần thêm thông tin để hoàn thành một tác vụ. Ví dụ, nếu người dùng hỏi "Bây giờ là mấy giờ?", Claude sẽ gọi tool ngày/giờ của bạn để lấy thời gian hiện tại.

Đây là một ví dụ về tool function thời tiết. Lưu ý cách nó xác thực đầu vào và cung cấp thông báo lỗi rõ ràng - đây là những thực tiễn tốt nhất quan trọng mà chúng ta sẽ tuân theo.
Thực tiễn tốt nhất cho Tool functions
Khi viết tool functions, hãy ghi nhớ các nguyên tắc sau:
- Sử dụng tên có ý nghĩa: Cả tên hàm và tên tham số của bạn phải chỉ rõ mục đích của chúng.
- Xác thực đầu vào: Luôn kiểm tra xem các tham số bắt buộc có tồn tại và hợp lệ không.
- Cung cấp thông báo lỗi có ý nghĩa: Nếu Claude gặp lỗi, nó có thể thử gọi lại hàm của bạn với các tham số đã sửa.
Việc xử lý lỗi đặc biệt quan trọng vì Claude có thể học hỏi từ những thất bại. Nếu bạn trả về một thông báo lỗi rõ ràng như "Địa điểm không được để trống", Claude có thể thử gọi lại hàm với giá trị địa điểm phù hợp.
Xây dựng Tool function đầu tiên của bạn
Hãy tạo một hàm để lấy ngày giờ hiện tại. Hàm này sẽ chấp nhận một chuỗi định dạng để kiểm soát cách hiển thị ngày:
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
if not date_format:
raise ValueError("date_format cannot be empty")
return datetime.now().strftime(date_format)
Chuỗi định dạng mặc định "%Y-%m-%d %H:%M:%S" cho kết quả như "2024-03-15 14:30:45". Bạn có thể tùy chỉnh điều này bằng cách truyền các chuỗi định dạng khác nhau:
get_current_datetime("%H:%M") # Trả về "14:30"
get_current_datetime("%B %d, %Y") # Trả về "March 15, 2024"
Xác thực đầu vào
Kiểm tra xác thực if not date_format: đảm bảo chúng ta không cố gắng định dạng ngày bằng một chuỗi trống. Mặc dù Claude hiếm khi mắc lỗi này, việc cung cấp thông báo lỗi rõ ràng giúp AI hiểu điều gì đã sai và cách khắc phục.
Khi Claude gặp lỗi, nó sẽ thấy thông báo lỗi chính xác. Vòng lặp phản hồi này cho phép Claude điều chỉnh cách tiếp cận của mình và thử lại với các tham số đã sửa.
Bước tiếp theo
Tool function này chỉ là bước đầu tiên. Tiếp theo, bạn cần tạo một JSON schema mô tả hàm này cho Claude, sau đó tích hợp nó vào hệ thống trò chuyện của bạn. Bản thân hàm là Python đơn giản - sự phức tạp nằm ở việc kết nối đúng cách nó với hệ thống tool-calling của Claude.
Tải xuống
## 🔁 Bài học liên quan
- **Bài tiếp:** [Tool schemas](../35-tool-schemas/vi.md)
- **Bài trước:** [Project overview](../33-project-overview/vi.md)
- **Cùng section:** [Making a request](../05-making-a-request/vi.md) · [Multi-turn conversations](../06-multi-turn-conversations/vi.md) · [Chat exercise](../07-chat-exercise/vi.md)
- **Thuộc lộ trình:** [Path C](../../../../../docs/learning-paths.md)
- **Docs tham khảo:** [Glossary](../../../../../docs/glossary.md) · [Skills atlas](../../../../../docs/skills-atlas.md) · [By use-case](../../../../../docs/by-use-case.md)
## 📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: [https://anthropic.skilljar.com/claude-with-google-vertex/289176](https://anthropic.skilljar.com/claude-with-google-vertex/289176)
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01