TopDev

Mẹo dùng claude code desktop với dự án lớn

minhdev 📖 6 phút đọc

Câu này thiên về kinh nghiệm thực tế nên mình sẽ tìm thêm các bài chia sẻ của dev đã dùng Claude Code Desktop với monorepo/dự án lớn.Dưới đây là các mẹo thực tế dùng Claude Code Desktop với dự án lớn - tổng hợp từ best practices chính thức của Anthropic và kinh nghiệm của các dev đã dùng hàng ngày.

1. Bao nhiêu session là đủ?#

Quy tắc thực tế: 3-5 session song song là "sweet spot" cho hầu hết dev. Nhiều hơn thì cognitive load tăng nhanh hơn giá trị nhận được - bạn biến thành người quản lý agent thay vì người code.

Phân bổ session theo pattern sau:

  • 1 session chính (Plan mode) - lên kế hoạch task lớn, không code ngay

  • 1-2 session thực thi - code feature đang làm, mỗi session 1 worktree

  • 1 session "chạy nền" - chạy test suite, build, hoặc task dài

  • 1 session review/bug fix - xử lý việc đột xuất không làm gián đoạn luồng chính

Team Data Infrastructure của Anthropic mở nhiều instance Claude Code ở các repo khác nhau cho các project khác nhau. Mỗi instance giữ full context, nên khi họ quay lại sau vài giờ hoặc vài ngày, Claude Code vẫn nhớ chính xác việc đang làm - quản lý song song thực sự mà không mất context.

Với 4 session chạy cùng lúc, bạn không cần xem mọi tool call ở mọi session - đặt session idle ở chế độ Summary và chỉ chuyển sang Verbose khi có gì bất thường. Đây là mẹo then chốt để giữ tỉnh táo.

2. Chiến lược session cho monorepo / dự án lớn#

Mỗi session = một worktree cách ly. Đừng để 2 session đụng cùng thư mục.

Chạy hai session Claude Code trên cùng một repo cùng lúc là công thức gây merge conflict, mất việc, và diff lộn xộn. Cả hai session đọc và ghi cùng file, thay đổi của session này phá vỡ giả định của session kia giữa chừng. Desktop app tự động tạo worktree cho mỗi session, nhưng bạn cần hiểu nó để dùng đúng.

Với monorepo, chia session theo domain chứ đừng theo file:

  • Session A: packages/auth - làm OAuth

  • Session B: packages/api - thêm endpoint

  • Session C: packages/web - update UI

  • Không chia kiểu "session sửa bug" và "session viết code" cùng thư mục - sẽ đụng

Mỗi package nên có CLAUDE.md riêng lồng trong thư mục. CLAUDE.md gốc chứa context tổng (cấu trúc repo, tech stack, convention), CLAUDE.md con chứa rules cụ thể của package đó. Claude tự đọc file gần nhất với thư mục đang làm việc.

3. Cách hỏi - pattern 4 giai đoạn (quan trọng nhất)#

Đây là workflow được Anthropic khuyến nghị chính thức: tách nghiên cứu và lên kế hoạch ra khỏi thực thi để tránh giải sai vấn đề. Để Claude nhảy thẳng vào code có thể tạo ra code giải sai vấn đề. Dùng Plan Mode để tách exploration khỏi execution.

Bước 1 - Explore (Plan mode): Yêu cầu đọc hiểu trước, chưa sửa gì.

"Đọc /src/auth và hiểu cách chúng ta xử lý session và login. Cũng xem chúng ta quản lý env variables cho secrets thế nào. Đừng sửa gì cả."

Bước 2 - Plan (vẫn Plan mode): Yêu cầu kế hoạch chi tiết.

"Tôi muốn thêm Google OAuth. Những file nào cần đổi? Session flow ra sao? Tạo kế hoạch chi tiết."

Nhấn Ctrl+G để mở plan trong text editor và sửa trực tiếp trước khi Claude tiếp tục.

Bước 3 - Code: Chuyển sang Normal mode.

"Implement OAuth flow theo plan vừa duyệt."

Bước 4 - Verify: Yêu cầu đối chiếu với plan và chạy test.

4. Cách viết prompt cho dự án lớn#

Cho context trước, task sau. Prompt tệ: "Thêm rate limiting". Prompt tốt: "Trong packages/api/src/middleware/, chúng ta dùng Express + Redis. Thêm rate limiting middleware giới hạn 100 req/phút per IP, theo pattern của authMiddleware.ts. Không đổi response format hiện tại."

Chỉ rõ file/thư mục. Dự án lớn có hàng nghìn file - nếu không giới hạn phạm vi, Claude sẽ lục lọi vô tội vạ, đốt token và dễ đi sai hướng.

Yêu cầu đặt câu hỏi trước khi code. "Trước khi code, nếu có ambiguity hoặc thiếu context, hãy hỏi tôi. Đừng assume." - câu này tiết kiệm rất nhiều thời gian rework.

Tận dụng pattern Writer/Reviewer. Context mới cải thiện code review vì Claude sẽ không bị thiên vị với code nó vừa viết. Ví dụ Writer/Reviewer pattern: một Claude viết code, Claude khác review với context sạch. Dùng 2 session riêng: session 1 viết code, session 2 (worktree mới, không biết session 1 làm gì) review. Bạn sẽ bất ngờ về chất lượng.

Pattern test-first. Cho một Claude viết test, rồi Claude khác viết code để pass test.

5. Quản lý context window trong session dài#

File dài, diff lớn, và output tool verbose đều mở rộng context window rất nhanh. Trong một session bạn có thể không để ý - qua hai session thì tăng lên đáng kể. Dùng /compact hoặc /clear khi phù hợp. Nếu session đã xong task và bạn bắt đầu việc mới trong cùng pane, hãy compact hoặc clear trước khi prompt lại.

Quy tắc: hết 1 task = /compact. Đừng cố "vắt" 1 session cho nhiều task nối tiếp - context bẩn sẽ làm Claude confused.

Gán effort level thông minh. Không phải session nào cũng cần reasoning depth tối đa. Nếu một session làm việc cơ học (format, rename, boilerplate), đặt effort level thấp để tiết kiệm token cho session cần reasoning sâu.

6. Mấy trick nhỏ tiết kiệm thời gian#

Side chat (Cmd+; / Ctrl+;) - khi đang có session chạy mà muốn hỏi nhanh gì đó (ví dụ: "regex này nghĩa là gì?"), dùng side chat. Nó biết context chính nhưng không làm loãng luồng chính.

View mode theo nhu cầu: Verbose khi debug Claude làm sai, Summary cho session fire-and-forget, Normal mặc định.

Terminal tích hợp - thay vì alt-tab qua terminal riêng, dùng terminal trong pane. Pattern phổ biến: Claude viết feature, chuyển sang terminal chạy test suite, paste output test fail lại vào chat. Tích hợp chặt làm vòng lặp này rất nhanh.

Tóm tắt cuối session. Team Anthropic yêu cầu Claude Code tóm tắt công việc đã hoàn thành và gợi ý cải tiến ở cuối mỗi task. Tạo vòng lặp cải tiến liên tục - Claude giúp tinh chỉnh CLAUDE.md dựa trên thực tế sử dụng. Đây là mẹo cực hay: mỗi session kết thúc, hỏi "Tóm tắt những gì đã làm, và đề xuất update nào cho CLAUDE.md để lần sau hiệu quả hơn?"

7. Sai lầm cần tránh#

  • Mở 8-10 session cùng lúc - bạn sẽ mất kiểm soát, quên session nào làm gì

  • 2 session cùng worktree - sẽ đụng, merge conflict liên miên

  • Prompt mơ hồ kiểu "fix bug" - Claude sẽ lục cả repo, tốn token

  • Không dùng Plan mode cho task phức tạp - Claude code ra giải pháp sai rồi bạn mất gấp đôi thời gian sửa

  • Không bao giờ /compact - context 100% thì chất lượng output giảm mạnh

  • CLAUDE.md trống hoặc quá chung chung - đây là "system prompt" của project, đầu tư vào nó trả lời cho bạn rất nhiều lần

Tài liệu gốc nên đọc#

Bài liên quan trong #Học Lập Trình

✓ Đã sao chép link