TROISINH
Ứng dụng cơ bảnỨng dụng đời thường

Prompt engineering cho Claude Code: Viết câu hỏi để AI làm đúng ý

Hướng dẫn viết prompt tối ưu cho Claude Code để xử lý file, phân tích CSV và tự động hóa công việc hàng ngày hiệu quả, tiết kiệm token và tránh lỗi sai.

Định nghĩa

Prompt engineering cho Claude Code là kỹ thuật diễn đạt yêu cầu bằng ngôn ngữ tự nhiên có cấu trúc, giúp AI hiểu đúng ngữ cảnh và gọi chính xác các công cụ MCP (Model Context Protocol). Khác với ChatGPT thuần hội thoại, Claude Code là môi trường có trạng thái (stateful) với khả năng tự chạy lệnh bash và đọc file — nên cách viết prompt cũng phải là "kịch bản điều khiển" thay vì "câu hỏi trắc nghiệm".

Giải thích chi tiết

Chia nhỏ ngữ cảnh để AI nhớ lâu

Claude Code có context window 200K tokens, nhưng sau khoảng 50 lượt trao đổi, cơ chế nén lịch sử sẽ khiến các chỉ dẫn ban đầu bị "lu mờ". Prompt engineering hiệu quả ở đây là biết cách "neo" thông tin quan trọng:

  • Pin thư mục: Dùng /pin @~/DuAn2024 để Claude luôn nhớ cấu trúc file, tránh lặp lại lệnh ls tốn token
  • @path trực tiếp: Viết @~/Documents/hop-dong.pdf thay vì nói "file trong folder Tài liệu" — giúp model tạo điểm neo chú ý (attention anchor) chính xác
  • Phân tầng bộ nhớ: Tách biệt hướng dẫn tạm thời (trong chat) với quy tắc dài hạn trong CLAUDE.md. Ví dụ: quy định "định dạng ngày tháng kiểu VN (DD/MM/YYYY)" nên ghi vào ~/.claude/CLAUDE.md để khỏi nhắc lại mỗi phiên làm việc

Từ ý nghĩ đến việc làm: Càng rõ càng đúng

Người dùng thường nói mục tiêu cao sang ("tổng hợp báo cáo đi"), nhưng Claude cần ràng buộc cụ thể để không hiểu sai. Prompt tốt phải chứa:

  • Tiêu chí phân loại: "Chỉ tổng hợp file có từ 'báo cáo' trong tên, bỏ qua file nháp chứa 'draft'"
  • Định dạng output: "Trả kết quả dạng bảng Markdown 3 cột: Nội dung chính, Số liệu, Người chịu trách nhiệm"
  • Chế độ thực thi: Dùng /plan để tách giai đoạn phân tích (chỉ đọc) và thực thi (ghi file), tránh "vibe coding" mù quáng dẫn đến ghi đè nhầm dữ liệu

Tiết kiệm token bằng Skill Loading

Claude Code dùng kiến trúc 3 lớp cho Skills: Metadata (luôn load) → Instructions (khi cần) → Resources (không giới hạn, qua bash).

Thay vì nhét toàn bộ hướng dẫn phân tích log Zalo vào chat (tốn 5K tokens mỗi lần), bạn nên:

  1. Tạo Skill .claude/skills/zalo-analyzer/SKILL.md với mô tả rõ ràng
  2. Trong prompt chỉ cần gõ /zalo-analyzer kèm file cần xử lý
  3. Dùng /simplify sau cùng để làm gọn kết quả trước khi lưu

Cách này giảm 98% lượng token tiêu thụ so với việc copy-paste nội dung file trực tiếp vào hội thoại.

Gọi công cụ đúng lúc, đúng chỗ

Thay vì nói mơ hồ "tìm giúp file lỗi", prompt engineering hiệu quả dùng lệnh công cụ rõ ràng:

  • Gọi MCP Filesystem: list_files rồi read_file thay vì để Claude tự đoán
  • Phân công Subagent chuyên biệt: "Tạo subagent để tìm email trùng lặp trong @~/Mail/Export, chỉ trả về danh sách đường dẫn, không mở nội dung email để tiết kiệm token"

An toàn theo chế độ Permission

Claude Code có 6 chế độ permission (default, acceptEdits, plan, dontAsk, auto, bypassPermissions). Prompt cần phản ánh chế độ này:

  • plan mode: Yêu cầu phân tích kỹ, nhiều bước, vì Claude sẽ hỏi trước khi sửa file
  • auto mode: Cần ràng buộc chặt hơn, ví dụ: "Chỉ làm việc trong /tmp, tuyệt đối không đụng vào /System"

Ví dụ thực tế

Tổng hợp báo cáo từ nhiều file Word dự án

Prompt kém: "Gộp các file báo cáo trong folder Dự án A thành một file tổng hợp"

Prompt tối ưu:

"Pin @~/Projects/DuAnA. Liệt kê tất cả file .docx và .xlsx modified trong tháng này. Với mỗi file báo cáo tuần:

  • Trích xuất phần 'Kết quả đạt được' và 'Khó khăn'
  • Bỏ qua phần chữ ký và logo công ty
    Tổng hợp thành bảng Markdown với cột: Tuần, Tiến độ (%), Vấn đề phát sinh, Người báo cáo. Highlight các tuần có tiến độ < 50% bằng emoji 🟡. Export ra @~/Projects/tong-hop-thang-11.md và dùng /simplify để rút gọn xuống dưới 500 từ trước khi lưu."

Kết quả: Claude tự động bỏ qua template trang trí, chỉ giữ nội dung thực chất, và tạo báo cáo tổng hợp sẵn sàng gửi sếp.

Phân loại email khách hàng từ file export Zalo/Gmail

Prompt kém: "Phân loại email này giúp tôi" (kèm file CSV lộn xộn)

Prompt tối ưu:

"Đọc @~/customer-service/export-zalo-2024.csv. Chuẩn hóa encoding sang UTF-8 nếu phát hiện lỗi font tiếng Việt.
Phân loại từng tin nhắn theo tiêu chí:

  • Chứa 'khiếu nại', 'lỗi', 'không hài lòng' → Gắn nhãn 'KHẨN'
  • Chứa 'hỏi giá', 'mua', 'đặt hàng' → Gắn nhãn 'SALES'
  • Chứa 'cảm ơn', 'tốt', 'hài lòng' → Gắn nhãn 'FEEDBACK TÍCH CỰC'
    Tạo cột 'Phản hồi gợi ý' với mẫu trả lời ngắn (tối đa 2 câu) phù hợp từng nhãn.
    Export kết quả ra @phan-loai-khach-hang.md và liệt kê số lượng mỗi loại."

Kết quả: Xử lý 500 tin nhắn trong 3 phút với phản hồi gợi ý sẵn sàng để copy-paste, giảm 80% thời gian trả lời khách.

Trích xuất thông tin từ hóa đơn điện tử VietQR/VNPay

Prompt kém: "Lấy thông tin từ các file hóa đơn này"

Prompt tối ưu:

"Dùng /batch để xử lý song song folder @~/Documents/HoaDon2024. Với mỗi file ảnh/PDF:

  1. Trích xuất: Ngày giao dịch, Số tiền, Nội dung chuyển khoản, Ngân hàng
  2. Nếu là VietQR: Tìm chuỗi bắt đầu bằng số tài khoản và tên người nhận
  3. Format ngày tháng chuẩn DD/MM/YYYY, số tiền có dấu phẩy ngăn cách hàng nghìn
    Tổng hợp thành bảng Markdown và tính tổng chi theo tháng. Lưu ý: Nếu ảnh mờ không đọc được, ghi rõ 'CẦN XÁC MINH' thay vì đoán."

Kết quả: Bảng tổng hợp chi tiêu chính xác đến từng đồng, sẵn sàng để import vào phần mềm kế toán MISA hoặc Fast Accounting.

Ứng dụng

Nhân viên văn phòng (Non-coder)
Dùng prompt có cấu trúc để tổng hợp biên bản họp từ ghi chú tay (ảnh chụp), đổi tên hóa đơn PDF hàng loạt theo pattern "YYYYMMDD_NhaCungCap_SoTien.pdf", hoặc phân loại CV ứng viên từ folder download mà không cần mở từng file.

Freelancer/Developer
Tận dụng pinning để làm việc với nhiều client song song (mỗi client một worktree riêng), dùng subagents để delegate việc research thư viện npm mới trong khi tập trung viết logic chính.

Chủ shop/Startup
Tạo prompt template cho team CSKH: "/phan-hoi-khieu-nai" tự động đọc log chat, phân tích sentiment, và đề xuất 3 cách trả lời khác nhau (lịch sự/xin lỗi/đền bù), đảm bảo nhân viên mới cũng có thể xử lý như người cũ.

Kế toán/Admin
Thiết lập slash commands chuẩn hóa: "/tong-hop-thue" tự động quét folder hóa đơn, tách biệt hóa đơn GTGT và hóa đơn bán hàng, tính tổng thuế đầu vào/đầu ra theo quý.

So sánh

Prompt engineering cho Claude Code khác biệt so với ChatGPT truyền thống ở những điểm then chốt:

Tiêu chíClaude Code (Agentic)ChatGPT/Web (Stateless)
Context200K tokens, có trạng thái, dùng CLAUDE.md~4K-128K, mất trí nhớ mỗi phiên
Công cụMCP truy cập filesystem, DB, API trực tiếp; chạy bashKhông có tool hoặc hạn chế
Phong cáchPlanning → Execution, có thể block để reviewTrả lời ngay, một chiều
Prompt tối ưuCần @path, pinning, explicit tool calls, constraints rõ ràngDạng hội thoại tự do, ít cấu trúc
Xử lý lỗiDùng /debug hoặc subagent để traceNgười dùng tự copy-paste lỗi vào chat mới
Chi phíToken = "tài nguyên" — cần quản lý context để tránh phí ngầmThường flat rate

Kết luận: Claude Code đòi hỏi prompt như kịch bản phim (có bối cảnh rõ ràng, đạo cụ được chỉ định, hành động cụ thể) hơn là câu hỏi trắc nghiệm như với ChatGPT. Sự đầu tư vào cấu trúc prompt được đền đáp bằng khả năng tự động hóa phức tạp và tái lặp lại nhiều lần.

Bài viết liên quan

Cùng cụm (everyday-uses):

Đọc tiếp (level-4/pro-automation):

On this page