# Làm việc với Claude Code cần tư duy giải quyết vấn đề thế nào?

> Năm mẹo Claude Code về tư duy: chia nhỏ bài toán, chọn tầng trừu tượng, lên kế hoạch và làm prototype, ép code gọn lại, dám bước vào vùng chưa biết.

Nguồn: https://camnangai.com/ung-dung-ai/lap-trinh-vien/meo-claude-code-tu-duy-giai-quyet-van-de  
Xuất bản: 2026-10-24

Claude Code tự giải quyết được rất nhiều bài toán, nhưng sẽ phát huy sức mạnh tốt hơn khi bạn vẫn
  chủ động vận dụng kỹ năng giải quyết vấn đề và kỹ năng kỹ thuật phần mềm của mình.


Đây là phần bốn trong loạt bài giới thiệu 50 **mẹo Claude Code** từ repo [claude-code-tips](https://github.com/ykdojo/claude-code-tips) của YK Sugi, đồng thời là phần đầu tiên trong nhóm mẹo trung cấp. Bài này tập trung vào năm mẹo không liên quan đến cấu hình mà xoay quanh cách tư duy: mẹo số 3, 30, 39, 40 và 35.


  Điểm chung của cả năm mẹo là bạn không giao phó toàn bộ bài toán rồi ngồi chờ kết quả, mà chủ động
  điều chỉnh quy mô, độ sâu và tốc độ xử lý trong suốt quá trình.


## Vì sao nên chia nhỏ bài toán lớn?

Khi Claude Code không thể giải quyết một bài toán khó chỉ trong một lần, hãy yêu cầu nó chia bài toán thành nhiều phần nhỏ hơn, rồi xem từng phần có thể giải quyết được không. Nếu phần nào vẫn quá khó, hãy tiếp tục chia nhỏ cho đến khi từng phần đều nằm trong khả năng xử lý. Thay vì đi thẳng từ A đến B, bạn lần lượt đi từ A qua A1, A2, A3 rồi mới đến B.

Đây là một trong những kỹ năng quan trọng nhất cần thành thạo, và cũng chính là nguyên tắc cơ bản của kỹ thuật phần mềm truyền thống. Một kỹ sư giỏi vốn biết cách chia nhỏ vấn đề, và khi làm việc với Claude Code, bạn vẫn cần kỹ năng đó. Ví dụ trong repo là một hệ thống chuyển giọng nói thành văn bản. Yêu cầu ban đầu khá phức tạp: cho phép người dùng chọn và tải model, nhận phím tắt, bắt đầu ghi âm và chép lời, chèn văn bản vào đúng vị trí con trỏ, đồng thời cung cấp một giao diện đẹp mắt.

Cách giải quyết là chia hệ thống thành các chương trình riêng. Đầu tiên, viết một chương trình chỉ có nhiệm vụ tải model. Tiếp theo là chương trình ghi âm, rồi chương trình chép lời từ một file âm thanh có sẵn. Sau khi hoàn thành và kiểm tra từng phần, bạn mới ghép chúng lại thành hệ thống hoàn chỉnh. Theo tôi, đây là mẹo đáng nhớ nhất trong cả series, vì nó trả lời câu hỏi "Claude làm không nổi thì sao?" mà không cần đến bất kỳ công cụ bổ sung nào.

## Nên đọc code do AI viết ở mức trừu tượng nào?

Không có một mức độ phù hợp cho mọi trường hợp. Với dự án chỉ dùng một lần hoặc những đoạn code không quan trọng, bạn có thể dùng cách tiếp cận [vibe coding](https://camnangai.com/ung-dung-ai/lap-trinh-vien/vibe-coding-la-gi), tức là tập trung vào kết quả thay vì soi từng dòng code. Với những phần quan trọng hơn, hãy đi sâu dần, từ cấu trúc file và các hàm đến từng dòng code, thậm chí kiểm tra cả các dependency.

Đây không phải lựa chọn chỉ có hai thái cực. Có người cho rằng vibe coding là cách làm tệ vì bạn không hiểu mình đang làm gì, nhưng trong một số trường hợp, cách này hoàn toàn hợp lý. Ngược lại, khi xử lý những phần phức tạp hoặc quan trọng, bạn cần vận dụng kỹ năng kỹ thuật phần mềm để hiểu code đến từng chi tiết. Bạn cũng có thể sao chép một đoạn code hoặc log lỗi cụ thể để hỏi Claude Code những câu hỏi sát với vấn đề hơn.

Hãy hình dung quá trình này giống như khám phá một tảng băng trôi. Nếu chỉ cần vibe coding, bạn có thể bay ngang qua đỉnh băng và quan sát từ xa. Khi cần hiểu rõ hơn, bạn tiến lại gần rồi lặn xuống sâu hơn, với Claude Code làm người dẫn đường. Kỹ năng thực sự nằm ở chỗ biết khi nào cần lặn sâu, chứ không phải lúc nào cũng phải kiểm tra đến tận cùng.

## Nên lập kế hoạch đến mức nào trước khi bắt đầu viết code, và khi nào cần làm prototype?

Bạn có thể bắt đầu viết code khi Claude Code đã hiểu cần xây dựng thứ gì và nên triển khai ra sao. Trước đó, hãy xác định những quyết định quan trọng ở cấp cao: dùng công nghệ nào, tổ chức cấu trúc dự án ra sao, mỗi chức năng nằm ở đâu và nên đặt trong file nào. Càng đưa ra những quyết định đúng từ sớm, bạn càng tránh được việc phải sửa lại nhiều về sau.

Prototype giúp bạn kiểm chứng các quyết định đó. Chỉ cần dựng nhanh một bản thử nghiệm đơn giản, bạn đã có thể đánh giá xem công nghệ nào phù hợp với từng mục đích. Ví dụ trong repo là một trình xem diff. Bản prototype đầu tiên dùng bash, tmux và lazygit; bản tiếp theo tự xây dựng trình xem git bằng Ink và Node. Dự án gặp đủ loại vấn đề và cuối cùng không có phiên bản nào được phát hành. Tuy vậy, bài học rất rõ ràng: chỉ cần dành thêm một chút thời gian lập kế hoạch trước khi để Claude viết code, bạn đã có thể dẫn dắt nó hiệu quả hơn nhiều.

Bạn vẫn cần hướng dẫn Claude trong suốt quá trình viết code, nhưng để nó lập kế hoạch trước cũng rất đáng làm. Có hai cách thực hiện: nhấn Shift+Tab để chuyển sang plan mode, hoặc đơn giản là yêu cầu Claude Code lập kế hoạch trước khi viết bất kỳ dòng code nào.

## Nên làm gì khi Claude viết code quá phức tạp?

Hãy hỏi tại sao và yêu cầu Claude đơn giản hóa code. Claude Code có xu hướng viết nhiều hơn mức cần thiết, đôi khi còn sửa cả những phần bạn không yêu cầu. Code vẫn có thể chạy đúng nếu bạn áp dụng các mẹo khác, nhưng càng nhiều code thừa thì càng khó bảo trì và kiểm tra. Nếu không review kỹ, bạn sẽ sớm phải đau đầu với chính phần code đó.

Bạn có thể tự sửa, nhưng cũng có thể yêu cầu Claude rút gọn. Hai câu hỏi hữu ích nhất là "Vì sao bạn thay đổi chỗ này?" và "Vì sao bạn thêm dòng này?". Một số người cho rằng chỉ viết code thông qua AI thì bạn sẽ không bao giờ thực sự hiểu code. Nhận định đó chỉ đúng nếu bạn không chịu đặt câu hỏi. Khi hiểu rõ từng phần, bạn thậm chí còn có thể nắm bắt code nhanh hơn bình thường, vì luôn có AI để hỏi, đặc biệt khi làm việc với các dự án lớn.

Thói quen viết thừa không chỉ xuất hiện trong code mà còn cả trong văn xuôi. Claude Code thường nhắc lại những ý đã trình bày ở phần trước trong đoạn kết, hoặc lặp lại nội dung của các câu trước ở câu cuối. Đôi khi cách này có ích, nhưng phần lớn trường hợp, bạn sẽ cần yêu cầu nó bỏ bớt hoặc rút gọn những đoạn lặp đó.

## Làm thế nào để tự tin giải quyết những vấn đề mình chưa biết rõ?

Hãy giải quyết vấn đề theo từng vòng lặp và chủ động điều chỉnh tốc độ của mỗi vòng. Càng dùng Claude Code nhiều, bạn càng tự tin xử lý những thứ mình chưa thành thạo. Ví dụ trong repo, khi mới vào làm tại Daft, tác giả phát hiện một lỗi trong code frontend dù chưa phải chuyên gia React. Thay vì né tránh, tác giả bắt đầu đặt câu hỏi về codebase và nguyên nhân của vấn đề, rồi cuối cùng tìm ra cách giải quyết nhờ biết cách làm việc theo vòng lặp với Claude Code.

Một trường hợp khó hơn xuất hiện khi tác giả viết hướng dẫn cho người dùng Daft. Lúc đó, cloudpickle không hoạt động với Pydantic trên Google Colab. Một lỗi khác liên quan đến phần Python có sử dụng một chút Rust khiến output không hiển thị đúng trong JupyterLab, dù vẫn chạy tốt trong terminal. Tác giả chưa từng làm việc với Rust. Cách đơn giản nhất là mở một issue rồi để kỹ sư khác xử lý. Claude Code đưa ra phương án đầu tiên, nhưng kết quả chưa tốt. Một đồng nghiệp đề xuất tắt hẳn tính năng đó, nhưng tác giả không muốn gây ra hồi quy (regression) và vẫn muốn tìm giải pháp tốt hơn.

Quá trình xử lý diễn ra qua nhiều lượt trao đổi: Claude Code đề xuất nguyên nhân gốc và cách sửa, tác giả thử nghiệm, rồi chuyển hướng khi gặp ngõ cụt. Trong suốt quá trình, tác giả chủ động quyết định tốc độ. Khi cần khám phá nhiều hướng giải quyết hoặc nhiều phần của codebase, tác giả để Claude thử nhanh hơn. Khi cần hiểu chính xác ý nghĩa của một dòng code, tác giả giảm tốc độ và hỏi kỹ từng chi tiết. Cuối cùng, tác giả tìm ra một giải pháp khá gọn gàng. Bài học tôi rút ra là kỹ năng quan trọng nhất không còn nằm ở chỗ bạn phải biết sẵn câu trả lời, mà ở chỗ biết khi nào nên tăng tốc và khi nào cần dừng lại để hỏi cho rõ.

## Những kỹ năng nào vẫn quan trọng khi làm việc với AI?

Chia nhỏ bài toán là kỹ năng đầu tiên bạn nên rèn luyện. Bốn mẹo còn lại đều dựa trên nền tảng này: chọn mức trừu tượng phù hợp nghĩa là xác định phần nào cần tìm hiểu sâu; lập kế hoạch là chia nhỏ công việc trước khi viết code; đơn giản hóa code là loại bỏ những phần thừa; còn tự tin xử lý vấn đề chưa biết là chia một vấn đề xa lạ thành những câu hỏi đủ nhỏ để có thể tìm lời giải.

## Tài liệu tham khảo

- [45+ Claude Code Tips: From Basics to Advanced — YK Sugi](https://github.com/ykdojo/claude-code-tips)
- [Best practices for Claude Code — Claude Code Docs](https://code.claude.com/docs/en/best-practices)
- [Common workflows — Claude Code Docs](https://code.claude.com/docs/en/common-workflows)
