Chế độ Plan
Chế độ Plan là gì?
Plan Mode là quy trình làm việc thông minh của Claude Code để xử lý các tác vụ phức tạp, nhiều bước. Khi đối mặt với refactoring lớn, phát triển tính năng mới, hoặc thay đổi hệ thống, Claude sẽ trước tiên tạo ra một kế hoạch chi tiết, sau đó thực hiện từng bước.
Điều này giống như một kiến trúc sư vẽ bản thiết kế trước khi bắt đầu xây dựng.
Tại sao chúng ta cần Chế độ Plan?
Vấn đề Truyền thống
Các tác vụ phức tạp không có kế hoạch thường dẫn đến:
- 🔄 Bối rối về hướng: Phát hiện khuyết điểm thiết kế giữa chừng phải làm lại
- 🧩 Thiếu sót chi tiết: Quên xử lý dependencies và edge cases
- ⏰ Lãng phí thời gian: Liên tục chỉnh sửa và điều chỉnh cách tiếp cận
- 🐛 Gây ra lỗi: Implementation vội vàng gây bugs và inconsistencies
Lợi ích Chế độ Plan
- 🎯 Góc nhìn toàn diện: Xem xét kiến trúc tổng thể trước khi hành động
- 📋 Bước rõ ràng: Chia tác vụ phức tạp thành các bước nhỏ có thể thực hiện
- ✅ Tiến độ theo dõi được: Mỗi bước có tiêu chí hoàn thành rõ ràng
- 🔄 Cách tiếp cận có thể điều chỉnh: Thảo luận và tối ưu kế hoạch trước khi thực hiện
Quy trình Chế độ Plan
1. Kích hoạt Chế độ Plan
Kích hoạt Tự động
Claude sẽ tự động vào Chế độ Plan trong các tình huống sau:
> Refactor toàn bộ hệ thống xác thực người dùng, hỗ trợ nhiều phương thức đăng nhập và tăng cường bảo mật
# Độ phức tạp: Cao → Tự động vào Plan Mode
> Thêm hỗ trợ quốc tế hóa cho ứng dụng, bao gồm frontend, backend và database
# Phạm vi tác động: Lớn → Tự động vào Plan Mode
Kích hoạt Thủ công
Bạn cũng có thể kích hoạt Chế độ Plan thủ công:
> /plan Implement chức năng chat real-time
> /plan Tối ưu hiệu suất ứng dụng, mục tiêu giảm một nửa thời gian load màn hình đầu
2. Giai đoạn Tạo Kế hoạch
Claude sẽ phân tích tác vụ và tạo ra kế hoạch có cấu trúc:
## 📋 Tác vụ: Refactoring Hệ thống Xác thực Người dùng
### 🎯 Mục tiêu
- Hỗ trợ đăng nhập email/username
- Tích hợp OAuth bên thứ ba (Google, GitHub)
- Triển khai cơ chế JWT + Refresh Token
- Thêm xác thực hai yếu tố (2FA)
- Tăng cường bảo mật và trải nghiệm người dùng
### 🔍 Phân tích Tác động
- **Frontend**: Login components, quản lý authentication state, route guards
- **Backend**: Authentication APIs, middleware, database models
- **Bảo mật**: Chính sách mật khẩu, quản lý session, bảo vệ tấn công
### 📝 Kế hoạch Thực hiện
#### Giai đoạn 1: Chuẩn bị (Ước tính 30 phút)
- [ ] Backup code x ác thực hiện tại
- [ ] Phân tích cấu trúc dữ liệu user hiện tại
- [ ] Thiết kế schema database mới
- [ ] Chuẩn bị migration scripts
#### Giai đoạn 2: Refactoring Backend (Ước tính 2 giờ)
- [ ] Cập nhật user model và database tables
- [ ] Triển khai authentication service mới
- [ ] Tạo JWT utility class
- [ ] Triển khai tích hợp OAuth
- [ ] Thêm hỗ trợ 2FA
#### Giai đoạn 3: Thích ứng Frontend (Ước tính 1.5 giờ)
- [ ] Refactor login components
- [ ] Cập nhật quản lý authentication state
- [ ] Triển khai giao diện đăng nhập OAuth
- [ ] Thêm trang cài đặt 2FA
#### Giai đoạn 4: Testing và Xác thực (Ước tính 1 giờ)
- [ ] Viết unit tests
- [ ] Thực hiện integration tests
- [ ] Kiểm tra bảo mật
- [ ] Testing trải nghiệm người dùng
### ⚠️ Điểm Rủi ro
- Migration dữ liệu có thể ảnh hưởng người dùng hiện tại
- Cấu hình OAuth cần hỗ trợ dịch vụ bên ngoài
- Triển khai 2FA cần thêm dependency packages
### 🎯 Tiêu chí Thành công
- [ ] Tất cả tests pass
- [ ] Dữ liệu người dùng hiện tại được migrate hoàn toàn
- [ ] Tính năng xác thực mới hoạt động bình thường
- [ ] Không có suy giảm hiệu suất đáng kể
3. Giai đoạn Xác nhận Kế hoạch
Claude sẽ trình bày kế hoạch và yêu cầu xác nhận:
Claude: Tôi đã tạo ra kế hoạch chi tiết cho refactoring hệ thống xác thực. Vui lòng xem xét kế hoạch ở trên.
Bạn muốn làm gì:
1. 🚀 Bắt đầu thực hiện kế hoạch này
2. ✏️ Chỉnh sửa một số phần của kế hoạch
3. 📋 Xem chi tiết implementation thêm
4. ⏸️ Tạm dừng, thực hiện sau
Lựa chọn của bạn?
4. Giai đoạn Thực hiện
Khi kế hoạch được xác nhận, Claude bắt đầu thực hiện từng bước:
[✅ Giai đoạn 1.1 Hoàn thành] Đã backup code xác thực hiện tại vào backup/auth-legacy/
[🔄 Giai đoạn 1.2 Đang thực hiện] Đang phân tích cấu trúc dữ liệu user hiện tại...
Phát hiện:
- User table chứa email, username, password_hash
- Thiếu các trường liên quan đến OAuth
- Không có trường cấu hình 2FA
[✅ Giai đoạn 1.2 Hoàn thành] Phân tích cấu trúc dữ liệu hoàn tất
[🔄 Giai đoạn 1.3 Đang thực hiện] Đang thiết kế schema database mới...
Các Loại Chế độ Plan
1. Kế hoạch Tuần tự (Linear Plan)
Các bước phải được thực hiện theo thứ tự:
1. Thiết kế database schema
2. Triển khai backend API
3. Phát triển giao diện frontend
4. Integration testing
Phù hợp cho: Thay đổi kiến trúc, migration dữ liệu, quy trình triển khai
2. Kế hoạch Song song
Một số bước có thể thực hiện đồng thời:
Nhóm Song song A:
- Triển khai user authentication API
- Thiết kế giao diện đăng nhập
Nhóm Song song B:
- Viết unit tests
- Chuẩn bị cập nhật documentation
Điểm hội tụ: Integration testing
Phù hợp cho: Phát triển tính năng, tối ưu hiệu suất, dự án đa module
3. Kế hoạch Lặp (Iterative Plan)
Hoàn thành trong nhiều chu kỳ lặp:
Lần lặp 1: Xác thực Cơ bản (MVP)
- Đăng nhập email/password
- Quản lý session cơ bản
Lần lặp 2: Tính năng Nâng cao
- Đăng nhập OAuth bên thứ ba
- Chức năng reset password
Lần lặp 3: Tăng cường Bảo mật
- Xác thực hai yếu tố
- Phát hiện đăng nhập bất thường
Phù hợp cho: Dự án lớn, cải tiến dần dần, phát triển MVP
Thực hành Tốt nhất
1. Độ chi tiết Kế hoạch
✅ Độ chi tiết Phù hợp
- [ ] Triển khai API endpoint đăng ký người dùng
- [ ] Thêm logic xác minh email
- [ ] Tạo registration form component
- [ ] Tích hợp form validation
❌ Quá thô
- [ ] Hoàn thành hệ thống người dùng
- [ ] Làm giao diện frontend
❌ Quá chi tiết
- [ ] Tạo file register.js
- [ ] Thêm dòng code đầu tiên
- [ ] Import express module
- [ ] Viết một khai báo biến
2. Quản lý Rủi ro
Xác định và đánh dấu rủi ro trong kế hoạch:
### ⚠️ Các Bước Rủi ro Cao
- **Migration Database** (Rủi ro: Mất dữ liệu)
- Biện pháp giảm thiểu: Validate trong môi trường test trước
- Phương án dự phòng: Chuẩn bị rollback scripts
- **Tích hợp Dịch vụ Bên thứ ba** (Rủi ro: Dịch vụ không khả dụng)
- Biện pháp giảm thiểu: Triển khai graceful degradation
- Phương án dự phòng: Cung cấp tùy chọn đăng nhập thủ công
3. Thiết lập Checkpoint
Đặt xác minh tại các nút quan trọng:
#### Checkpoint 1: Migration Dữ liệu Hoàn tất
Điều kiện Xác minh:
- [ ] Tất cả dữ liệu user được migrate thành công
- [ ] Cả password hash cũ và mới đ ều có thể verify
- [ ] Test users có thể đăng nhập bình thường
#### Checkpoint 2: Xác minh Chức năng API
Điều kiện Xác minh:
- [ ] Tất cả authentication endpoints phản hồi bình thường
- [ ] Error handling bao phủ các tình huống khác nhau
- [ ] API documentation được cập nhật
4. Theo dõi Tiến độ
Cập nhật tiến độ kế hoạch theo thời gian thực:
> Tiến độ hiện tại thế nào?
Claude:
📊 Tiến độ Tổng thể: 60% (12/20 bước hoàn thành)
✅ Đã hoàn thành:
- Thiết kế database schema
- Triển khai backend API
- Phát triển JWT utility class
🔄 Đang thực hiện:
- Phát triển frontend login component (70%)
⏳ Chờ thực hiện:
- Tích hợp OAuth
- Testing và documentation
Kỹ thuật Nâng cao
1. Kế hoạch Nhánh Có điều kiện
### Điểm Quyết định Nhánh: Xử lý Dữ liệu User Hiện tại
**Tùy chọn A**: Migration Online
- Ưu điểm: Trong suốt với người dùng
- Rủi ro: Có thể ảnh hưởng hiệu suất
- Điều kiện: Số lượng user < 100k
**Tùy chọn B**: Migration Offline
- Ưu điểm: An toàn và đáng tin cậy
- Rủi ro: Cần cửa sổ bảo trì
- Điều kiện: Số lượng user > 100k
**Cơ sở Quyết định**: Số lượng user hiện tại và yêu cầu kinh doanh
2. Kế hoạch Rollback
### 🔄 Chiến lược Rollback
Nếu gặp vấn đề lớn trong quá trình thực hiện:
**Trigger Rollback Ngay lập tức**:
- Mất hoặc hỏng dữ liệu
- Hệ thống crash hoặc không khả dụng
- Phát hiện lỗ hổng bảo mật
**Các Bước Rollback**:
1. Dừng triển khai mới
2. Khôi phục database backup
3. Rollback code về phiên bản trước
4. Thông báo các team liên quan