Khi điều phối quá trình xây dựng tính năng, bạn nên làm gì trước tiên?
Việc đạt được sự đồng thuận về phương án trước khi thực hiện sẽ giúp tránh đi sai hướng. Lập kế hoạch, thống nhất, rồi mới thực hiện.
Hầu hết người dùng Claude Code chỉ hỏi những câu hỏi riêng lẻ. Điều đó ổn khi cần trợ giúp nhanh chóng. Nhưng đối với việc phát triển nghiêm túc, bạn muốn điều phối toàn bộ quy trình làm việc.
Điều này có nghĩa là hướng dẫn Claude thực hiện các nhiệm vụ nhiều bước - chia nhỏ công việc phức tạp, sắp xếp chúng một cách logic và lặp lại cho đến khi hoàn hảo.
Hãy tưởng tượng bạn là một trưởng nhóm kỹ thuật đang hướng dẫn một nhà phát triển có năng lực.
Tương tự với Claude. Những yêu cầu lớn mơ hồ sẽ cho ra kết quả lớn mơ hồ. Hướng dẫn có cấu trúc sẽ cho ra kết quả chất lượng.
Bất kỳ nhiệm vụ phức tạp nào cũng có thể được chia nhỏ thành các phần:
Nhiệm vụ ban đầu: "Thêm xác thực người dùng vào ứng dụng"
Nhiệm vụ sau khi được chia nhỏ:
Mỗi phần đều cụ thể. Mỗi phần đều có trạng thái "hoàn thành" rõ ràng.
┌─────────────────────────────────────┐
│ 1. Xác định rõ nhiệm vụ │
│ Mục tiêu là gì? Những việc cần làm là gì? │
└───────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 2. Cung cấp ngữ cảnh │
│ Thêm các file và thông tin liên quan │
└───────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 3. Yêu cầu công việc │
│ Yêu cầu cụ thể, có thể thực hiện được │
└───────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 4. Xem lại kết quả đầu ra │
│ Liệu nó có đạt được mục tiêu không? │
└───────────────┬─────────────────────┘
│
┌───────┴───────┐
│ │
▼ ▼
┌───────────────┐ ┌───────────────────┐
│ Tốt? │ │ Cần sửa chữa? │
│ → Nhiệm vụ tiếp theo │ │ → Đưa ra phản hồi │
│ │ │ → Lặp lại │
└───────────────┘ └───────────────────┘
Đừng nhảy thẳng vào triển khai.
> Tôi cần thêm một lớp cache cho các phản hồi API.
> Trước tiên, hãy phác thảo phương pháp tiếp cận. Cân nhắc:
> - Cái gì nên được lưu vào cache
> - Chiến lược vô hiệu hóa cache
> - Redis so với bộ nhớ trong
> Chưa viết code - chỉ cần lập kế hoạch.Xem lại kế hoạch. Thảo luận các phương án thay thế. Sau đó:
> Kế hoạch tốt. Hãy triển khai phương án 2 với Redis.
> Bắt đầu với các hàm tiện ích cache.Xây dựng theo từng lớp, xác minh từng lớp.
# Bước 1
> Tạo các mô hình dữ liệu cho giỏ hàng.
> Chỉ các mô hình, chưa có API.
# Xem lại, sau đó...
# Bước 2
> Bây giờ hãy thêm dịch vụ giỏ hàng với các thao tác thêm, xóa và làm sạch.
> Sử dụng các mô hình chúng ta vừa tạo.
**Kiểm tra nhanh:** Trước khi tiếp tục, bạn có nhớ khái niệm chính mà chúng ta vừa đề cập không? Hãy cố gắng giải thích bằng lời của bạn trước khi tiếp tục.
# Xem lại, sau đó...
# Bước 3
> Bây giờ hãy tạo các endpoint API sử dụng dịch vụ giỏ hàng.
# Xem lại, sau đó...
# Bước 4
> Thêm các bài kiểm tra cho dịch vụ giỏ hàng.Mỗi bước đều dựa trên bước trước đó. Bạn sẽ phát hiện ra các vấn đề sớm.
Kết quả đầu tiên của Claude hiếm khi hoàn hảo. Điều đó không sao cả.
> Tạo một hàm để phân tích cú pháp các tệp CSV với các cột sau: tên, email, created_at
# Kết quả gần đúng nhưng chưa hoàn toàn chính xác
> Khởi đầu tốt, nhưng:
> - Xử lý các ô trống bằng cách trả về null thay vì chuỗi rỗng
> - Thêm xác thực rằng định dạng email là chính xác
> - Phân tích cú pháp ngày tháng nên xử lý cả định dạng ISO và US
# Lặp lại cho đến khi đúngPhản hồi cụ thể nhanh hơn là giải thích lại toàn bộ nhiệm vụ.
Đối với các tính năng lớn, hãy lập kế hoạch phạm vi đầy đủ trước.
> Chúng ta cần xây dựng một hệ thống thông báo. Trước khi lập trình, hãy lập dàn ý:
> 1. Cần những thành phần nào
> 2. Chúng tương tác với nhau như thế nào
> 3. Thứ tự xây dựng chúng
> 4. Những dịch vụ bên ngoài nào liên quanHãy nắm bắt toàn bộ bức tranh. Sau đó thực hiện từng phần một cách có hệ thống.
Claude nhớ phiên làm việc của bạn. Hãy tận dụng điều này.
Tốt:
> Bây giờ hãy thêm xử lý lỗi vào hàm mà chúng ta vừa tạo.Claude biết hàm nào.
Không cần thiết:
> Bây giờ hãy thêm xử lý lỗi vào hàm parseCSV
> hàm này nhận đường dẫn file và trả về một mảng các đối tượng
> với các trường tên, email và created_at mà chúng ta đã tạo trước đó.Đừng giải thích lại những gì đã có trong ngữ cảnh.
> Dừng lại. Đó không phải là điều tôi yêu cầu.
> Tôi cần X, không phải Y.
> Cụ thể: [diễn đạt lại rõ ràng]Hãy trực tiếp. Chuyển hướng rõ ràng.
> Hãy lùi lại một bước. Điều gì gây nhầm lẫn trong nhiệm vụ này?
> Thông tin nào sẽ hữu ích?Đôi khi Claude cần hướng dẫn về những gì còn thiếu.
> Phần đầu tiên đúng. Giữ nguyên phần đó.
> Chỉ thay đổi logic xác thực: [sửa lỗi cụ thể]Đừng vứt bỏ công việc tốt, mà hãy chỉ ra chính xác những gì cần thay đổi.
| Độ phức tạp | Tiếp cận |
|---|---|
| Tầm thường | Một yêu cầu, đã hoàn thành |
| Đơn giản | Yêu cầu + một lần lặp |
| Trung bình | Lập kế hoạch → thực hiện → hoàn thiện |
| Phức tạp | Chia nhỏ → lập kế hoạch cho từng bước → thực hiện từng bước một |
| Rất phức tạp | Nhiều phiên, ngữ cảnh được chia nhỏ |
Hãy điều chỉnh nỗ lực điều phối của bạn cho phù hợp với độ phức tạp của nhiệm vụ.
Thực hành điều phối nhiệm vụ này:
Mục tiêu: Thêm tính năng "các mặt hàng đã xem gần đây" vào một trang thương mại điện tử.
Phân tích chi tiết:
Viết ra trình tự các prompt Claude Code mà bạn sẽ sử dụng.
Khi điều phối quá trình xây dựng tính năng, bạn nên làm gì trước tiên?
Việc đạt được sự đồng thuận về phương án trước khi thực hiện sẽ giúp tránh đi sai hướng. Lập kế hoạch, thống nhất, rồi mới thực hiện.
Phương pháp được khuyến nghị khi đầu ra của Claude không hoàn toàn chính xác là gì?
Lặp lại với phản hồi cụ thể nhanh hơn so với bắt đầu lại. Hãy cho Claude biết chính xác điều gì sai và cần thay đổi điều gì.
Tại sao bạn nên chia nhỏ các nhiệm vụ phức tạp thành những bước nhỏ hơn cho Claude?
Các nhiệm vụ nhỏ dễ xác định rõ ràng, dễ xác minh tính chính xác và dễ điều chỉnh hơn nếu có điều gì đó sai sót.
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:









