Claude Code Mods: Bốn tiện ích tùy chỉnh giúp lập trình viên kiểm soát AI tốt hơn

Công nghệ30 tháng 10, 2026·8 phút đọc

Một lập trình viên đã tự xây dựng bốn mod cho Claude Code nhằm bảo vệ khóa API, theo dõi tiến độ kế hoạch, cảnh báo mã chưa kiểm thử và giám sát cửa sổ ngữ cảnh. Với 135 bài kiểm thử thành công và tốc độ nhanh hơn tới 100 lần so với hook truyền thống, các mod này cho thấy tiềm năng thay đổi cách chúng ta làm việc với AI lập trình.

Claude Code Mods: Bốn tiện ích tùy chỉnh giúp lập trình viên kiểm soát AI tốt hơn

Claude Code Mods: Khi lập trình viên tự "độ" lại trợ lý AI của mình

Có một nghịch lý quen thuộc với bất kỳ ai dùng AI lập trình: bạn phải liên tục nhắc lại những quy tắc tưởng như hiển nhiên. Một lập trình viên đã quyết định giải quyết triệt để vấn đề này bằng cách tự viết bốn mod tùy chỉnh cho Claude Code — công cụ lập trình AI của Anthropic.

Kết quả là một bộ công cụ mã nguồn mở với 135 bài kiểm thử thành công, xử lý mỗi tác vụ chỉ trong 0,27 mili-giây — nhanh hơn khoảng 100 lần so với hook truyền thống. Đáng chú ý hơn, đây là câu chuyện về cách một lập trình viên bình thường có thể "uốn nắn" hành vi của AI theo nhu cầu riêng, thay vì chấp nhận những giới hạn có sẵn.

Vấn đề: Những lời nhắc lặp đi lặp lại

Tác giả đã kiểm tra lại lịch sử phiên làm việc của mình và phát hiện những con số đáng giật mình. Trong giai đoạn từ tháng 8 đến tháng 10/2026, anh mở 60 phiên Claude Code, và 20 phiên trong số đó phải nhắc Claude rõ ràng "đừng in giá trị bí mật từ file .env". Những thông tin như khóa API, mật khẩu cơ sở dữ liệu tuyệt đối không được xuất hiện trên màn hình hay trong log.

Minh họa quy trình làm việc với AI lập trìnhMinh họa quy trình làm việc với AI lập trình

Hai mô thức khác cũng nổi bật khi rà soát 66 phiên làm việc:

  • Kế hoạch: Claude chỉnh sửa file kế hoạch Markdown 408 lần trong 27 phiên và đọc chúng 119 lần trong 21 phiên. Hữu ích, nhưng tác giả phải liên tục mở file để kiểm tra tiến độ.
  • Hoàn thành tác vụ: Trong hai phiên, Claude đánh dấu 13 tác vụ đã xong. Đáng lo là 12 tác vụ được đánh dấu hoàn thành trước khi mã mới nhất được chạy hoặc kiểm thử.

Anh đã thử nhiều cách. Nhắc trong chat chỉ hiệu quả khi nhớ. File CLAUDE.md có ghi rõ cảnh báo không in bí mật, nhưng vẫn phải nhắc lại. Hook trong phần cài đặt có thể chặn lệnh gọi công cụ, nhưng mỗi lần kiểm tra lại khởi động một tiến trình riêng, tốn 55–99 mili-giây.

Mod là gì và tại sao nó khác biệt?

Ngày 1/10/2026, Anthropic giới thiệu mods trong Claude Code 2.1.287. Một mod là hàm nhỏ chạy bên trong chính tiến trình của Claude Code — và đó chính là điểm khác biệt cốt lõi.

Hãy hình dung sự khác nhau:

  • Quy tắc nhắc trong chat chỉ hoạt động chừng nào mô hình còn "nhớ".
  • Hook truyền thống khởi động một tiến trình mới cho mỗi lần kiểm tra.
  • Mod đã chạy sẵn trong bộ nhớ, nên có thể kiểm tra với chi phí gần như bằng không và cập nhật giao diện ngay khi hoạt động.

"Một hook shell phụ thuộc vào môi trường của nó, còn một hook hàm là một hợp đồng với engine" — trích tài liệu kiến trúc của kỹ sư Anthropic Alice Poteat.

Về bản chất, mod chính là một plugin gồm ba file: plugin.json (khai báo tên, phiên bản), hooks.json (đăng ký module) và file mã nguồn JavaScript hoặc TypeScript. Bạn có thể nhờ chính Claude tạo mod qua kỹ năng plugin-authoring, hoặc tự viết theo sáu bước đơn giản.

Bốn mod giải quyết bốn nỗi đau

secret-guard: Che giấu bí mật khỏi Claude

Đây là mod thay thế cho lời nhắc thủ công ở 20/60 phiên. Ở đầu phiên, nó nạp các giá trị từ file .env vào bộ nhớ, rồi thêm ghi chú vào ngữ cảnh cho Claude biết những khóa nào đang được bảo vệ. Khi Claude chạy lệnh như cat .env, mod chặn lại và gợi ý dùng $NAME thay thế. Với các lệnh khác, mod kiểm tra kết quả trước khi Claude nhìn thấy — ví dụ đầu ra grep -r KEY . sẽ hiển thị .env:DEMO_API_KEY=‹hidden: DEMO_API_KEY›.

Tác giả thẳng thắn thừa nhận: secret-guard không phải là ranh giới bảo mật. Danh sách chặn được cố ý thu hẹp, và nó vẫn bỏ sót các giá trị mã hóa base64 hay khóa AWS đứng riêng. Nó thậm chí từng che nhầm một địa chỉ IP chỉ vì tên biến chứa chữ "PRIVATE".

done-gate: Cảnh báo thay vì chặn

Mod này theo dõi các file mã đã thay đổi và các lần chạy kiểm thử. Nếu Claude đánh dấu tác vụ hoàn thành mà chưa chạy kiểm thử sau thay đổi mới nhất, nó thêm cảnh báo vào kết quả. Khác với secret-guard, done-gate không bao giờ chặn — bởi 12 tác vụ bị đánh dấu sớm kia đều là script thử nghiệm không có bộ kiểm thử, nên thiếu test chưa chắc đã là vấn đề. Một cảnh báo hợp lý hơn một lệnh cấm cứng.

Minh họa cơ chế hoạt động của mod trong Claude CodeMinh họa cơ chế hoạt động của mod trong Claude Code

plan-meter: Hiển thị tiến độ ngay trên màn hình

Thay vì phải mở file kế hoạch 408 lần, plan-meter vẽ tiến độ ngay phía trên dòng nhắc lệnh, dạng như: plan ▸ Demo plan · phases 0/2 · steps 1/4 (25%) · now: Build. Một khung bên cạnh liệt kê các bước chi tiết. Mod này theo dõi các lần chỉnh sửa file kế hoạch, đọc nội dung mới và lưu tiến độ vào trạng thái phiên. Vì việc vẽ diễn ra ngoài mô hình, nó không tốn token nào.

context-meter: Giám sát cửa sổ ngữ cảnh

Mod này hiển thị mức sử dụng cửa sổ ngữ cảnh sau mỗi lượt, kèm đồng hồ đếm ngược bộ nhớ đệm prompt và nút Compact. Điểm đặc biệt là nút Compact là tính năng duy nhất trong cả bốn mod gọi đến mô hình — nó yêu cầu Claude tóm tắt hội thoại để giải phóng ngữ cảnh. Trong một lần thử nghiệm thực tế, mức sử dụng giảm từ 178.000 xuống còn 98.000 token ngay lập tức.

Minh họa giao diện và khả năng hiển thị của modMinh họa giao diện và khả năng hiển thị của mod

Bài học về đánh đổi và bảo mật

Tác giả đã thực hiện một thử nghiệm thú vị: so sánh hai chế độ của secret-guard. Chế độ chặn lệnh từ chối mọi lệnh nhắc đến file .env được bảo vệ — nhưng nó chặn nhầm 157 lệnh vô hại trong tổng số 369 lệnh thực tế. Chế độ che giá trị (mặc định) chỉ chặn nhầm 2 lệnh, đồng thời chặn được nhiều rò rỉ hơn.

Về hiệu năng, con số thật sự gây ấn tượng:

  • Tiến trình Python khởi động trực tiếp: 68,6 ms mỗi lần kiểm tra
  • Tiến trình Node.js khởi động trực tiếp: 55,5 ms
  • Mod hook: 0,27 ms

Với một cửa sổ terminal làm mới ở 30 khung hình/giây — tức khoảng 33 mili-giây mỗi khung — mọi hook khởi động tiến trình mới đều vượt ngưỡng này, gây giật lag. Mod thì chỉ dùng một phần nhỏ của ngân sách đó.

Điều quan trọng cần lưu ý: mod không được cách ly (sandbox). Chúng chạy với quyền của bạn, và thao tác file của chúng không kích hoạt lời nhắc cấp quyền. Tác giả nhấn mạnh: hãy kiểm tra danh sách calls: của mod trước khi cài đặt.

Lời khuyên cho lập trình viên Việt Nam

Câu chuyện này mang đến bài học thiết thực cho cộng đồng lập trình viên Việt Nam đang ngày càng sử dụng nhiều công cụ AI như Claude Code, Cursor hay GitHub Copilot:

  • Không phải lời nhắc nào cũng cần mod. Nếu Claude cần ra quyết định (như "viết test trước"), hãy đặt hướng dẫn trong CLAUDE.md hoặc skill. Chỉ dùng mod khi cần điều gì đó xảy ra ở mọi bước, thay đổi những gì Claude nhìn thấy, hoặc hiển thị thông tin trong lúc làm việc.
  • Với bảo mật, hãy dùng công cụ chuyên dụng. Quy tắc từ chối quyền, sandbox, phân quyền file hoặc trình quản lý bí mật — không phải mod hay hook.
  • Bắt đầu từ nỗi đau lớn nhất. Tác giả gợi ý rà soát lại vài phiên làm việc đã lưu (Claude Code lưu transcript cục bộ) để tìm những câu bạn lặp đi lặp lại như "chạy test đi", "đang ở giai đoạn nào?", "còn bao nhiêu ngữ cảnh?".

Bộ công cụ mã nguồn mở claude-code-mods-kit (giấy phép MIT) đã được công bố, bao gồm cả bốn mod cùng bộ kiểm thử đầy đủ. Bạn có thể cài đặt trực tiếp qua marketplace của Claude Code, hoặc thử dùng tạm trong một phiên với --plugin-dir. Nếu muốn an toàn, hãy bắt đầu với một mod chỉ đọc như plan-meter — màn hình hiển thị lỗi thì vô hại, còn một mod bảo vệ bị lỗi mà thiếu xử lý .catch có thể thất bại âm thầm.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗