📖 Nội dung bài học
Họ phông chữ
Arial
Đường viền ký tự
Không có
Màu đường viền
Tóm tắt
Các hook của Claude Code có thể giúp giải quyết những điểm yếu thường gặp trong quá trình phát triển với sự hỗ trợ của AI, đặc biệt là trong các dự án lớn hơn. Những hook này chạy tự động khi Claude thực hiện các thay đổi đối với code của bạn, cung cấp phản hồi ngay lập tức và ngăn chặn các vấn đề thường gặp.
Hook Kiểm tra kiểu TypeScript
Một trong những hook hữu ích nhất giải quyết một vấn đề cơ bản: khi Claude sửa đổi chữ ký hàm, nó thường không cập nhật tất cả những nơi hàm đó được gọi trong toàn bộ dự án của bạn.
Ví dụ, nếu bạn yêu cầu Claude thêm tham số verbose vào một hàm trong schema.ts, nó sẽ cập nhật thành công định nghĩa hàm nhưng bỏ qua vị trí gọi trong main.ts. Điều này tạo ra các lỗi kiểu mà Claude không bắt được ngay lập tức.
Giải pháp là một hook hậu-tool-use chạy trình biên dịch TypeScript sau mỗi lần chỉnh sửa tệp:
- Chạy
tsc --noEmitđể kiểm tra các lỗi kiểu - Ghi lại bất kỳ lỗi nào được tìm thấy
- Cung cấp lỗi cho Claude ngay lập tức
- Yêu cầu Claude sửa các vấn đề trong các tệp khác
Hook này hoạt động cho bất kỳ ngôn ngữ có kiểu nào mà bạn có thể chạy trình kiểm tra kiểu. Đối với các ngôn ngữ không có kiểu, bạn có thể triển khai chức năng tương tự bằng cách sử dụng các bài kiểm tra tự động.
Hook Ngăn chặn trùng lặp truy vấn
Trong các dự án lớn hơn với nhiều truy vấn cơ sở dữ liệu, Claude đôi khi tạo ra chức năng trùng lặp thay vì sử dụng lại code hiện có. Điều này đặc biệt có vấn đề khi bạn giao cho Claude các tác vụ phức tạp, nhiều bước, bao gồm các thao tác cơ sở dữ liệu chỉ là một thành phần.
Hãy xem xét cấu trúc dự án với nhiều tệp truy vấn, mỗi tệp chứa nhiều hàm SQL. Khi bạn yêu cầu Claude "tạo một tích hợp Slack cảnh báo về các đơn hàng đang chờ xử lý hơn 3 ngày", nó có thể viết một truy vấn mới thay vì sử dụng hàm getPendingOrders() hiện có.

Hook ngăn chặn trùng lặp truy vấn giải quyết vấn đề này bằng cách triển khai một quy trình xem xét:

Đây là cách nó hoạt động:
- Kích hoạt khi Claude sửa đổi các tệp trong thư mục
./queries - Khởi chạy một phiên bản riêng biệt của chương trình Claude Code theo chương trình
- Yêu cầu phiên bản thứ hai xem xét các thay đổi và kiểm tra các truy vấn hiện có tương tự
- Nếu tìm thấy các bản sao, cung cấp phản hồi cho phiên bản Claude ban đầu
- Yêu cầu Claude loại bỏ bản sao và sử dụng chức năng hiện có
Cân nhắc triển khai
Cả hai hook đều sử dụng hệ thống hook trước-tool-use hoặc sau-tool-use. Hook TypeScript tương đối nhẹ và chạy nhanh. Hook trùng lặp truy vấn yêu cầu nhiều tài nguyên hơn vì nó khởi chạy một phiên bản Claude riêng biệt cho mỗi lần xem xét.
Đối với hook truy vấn, hãy xem xét các đánh đổi sau:
- Lợi ích: Cơ sở code gọn gàng hơn với ít sự trùng lặp hơn
- Chi phí: Thời gian và việc dùng API bổ sung cho mỗi lần chỉnh sửa thư mục truy vấn
- Khuyến nghị: Chỉ theo dõi các thư mục quan trọng để giảm thiểu chi phí
Các hook sử dụng SDK TypeScript của Claude để tương tác theo chương trình với AI. Điều này cho phép bạn tạo các luồng công việc tinh vi, trong đó một phiên bản Claude có thể xem xét và cung cấp phản hồi về công việc của một phiên bản khác.
Mở rộng các khái niệm này
Những hook này thể hiện các nguyên tắc rộng hơn mà bạn có thể áp dụng cho các dự án của riêng mình:
- Sử dụng đầu ra của trình biên dịch/linter để cung cấp phản hồi ngay lập tức
- Triển khai các quy trình xem xét code bằng cách sử dụng các phiên bản AI riêng biệt
- Tập trung giám sát vào các thư mục có giá trị cao, nơi tính nhất quán là quan trọng nhất
- Cân bằng lợi ích tự động hóa với chi phí hiệu suất
Điểm mấu chốt là xác định các điểm khó khăn cụ thể trong quy trình làm việc phát triển của bạn và tạo các hook được nhắm mục tiêu để giải quyết các vấn đề đó một cách tự động.
🔁 Bài học liên quan
- Bài tiếp: Another useful hook
- Bài trước: Gotchas around hooks
- 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-code-in-action/312004
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01