Khóa Cơ bản · Bài 4/13 · Chặng 3 · Giao việc cho AI như giao cho nhân viên giỏi

Giao việc cho AI: công thức 5 phần

Cơ bản 6 phút đọc

Bài này đang khóa

Bụi Code học theo thứ tự: làm xong bài kiểm tra cuối Bài 3: Từ ý tưởng đến Project Brief một trang để mở bài này. Mỗi bài dựa trên bài trước, bỏ qua dễ hổng kiến thức.

Cách viết yêu cầu để AI làm đúng ngay từ lần đầu, và cách chia dự án thành lát cắt nhỏ để sửa chỗ này không hỏng chỗ kia.

Bạn sẽ làm được

  • Viết yêu cầu theo công thức 5 phần: Mục tiêu, Bối cảnh, Phạm vi, Ràng buộc, Nghiệm thu.
  • Bắt AI lập kế hoạch và hỏi lại trước khi làm.
  • Chia một dự án thành các lát cắt nhỏ, mỗi lát kiểm được.
Nội dung bài học

Vấn đề thật

Hai người dùng cùng một công cụ AI. Người thứ nhất nhận code lộn xộn, sửa mãi không xong. Người thứ hai nhận đúng thứ mình cần sau 2–3 vòng. Khác biệt gần như luôn nằm ở cách giao việc, giống như giao việc cho thợ: nói mơ hồ thì nhận sản phẩm mơ hồ.

Công thức 5 phần

MỤC TIÊU    Làm gì, để làm gì (1-2 câu)
BỐI CẢNH    Dự án là gì, đang ở đâu, file nào liên quan
PHẠM VI     Làm phần nào, KHÔNG đụng phần nào
RÀNG BUỘC   Công nghệ, phong cách, giới hạn phải tuân
NGHIỆM THU  Thế nào là xong, kiểm bằng cách nào

So sánh

Yêu cầu yếu:

Thêm phần bảng giá vào trang.

Yêu cầu theo công thức:

MỤC TIÊU: Thêm khối "Bảng giá tham khảo" để khách biết khoảng giá trước khi nhắn Zalo.

BỐI CẢNH: Landing page tĩnh của xưởng mộc Mộc Lâm, xem BRIEF.md. File chính index.html,
style trong styles.css. Khối "Mẫu đã làm" đã xong và đang chạy đúng.

PHẠM VI:
- Thêm một section mới ngay sau "Mẫu đã làm".
- KHÔNG sửa header, khối "Mẫu đã làm" và nút Zalo.

RÀNG BUỘC:
- HTML/CSS thuần, không thêm thư viện.
- Dùng các biến màu đã có trong styles.css, không thêm màu mới.
- 4 dòng: Bàn ăn, Tủ áo, Kệ tivi, Giường. Mỗi dòng: tên, gỗ phổ biến, khoảng giá (VNĐ).
- Dưới bảng có dòng: "Giá tham khảo. Báo giá chính xác theo bản vẽ và loại gỗ."
- Giá: dùng chỗ trống [GIÁ] để tôi tự điền, KHÔNG tự bịa giá.

NGHIỆM THU:
- Ở màn hình 375px bảng không làm trang cuộn ngang (bảng tự cuộn riêng hoặc chuyển thành thẻ).
- Phân cấp tiêu đề đúng (h2 cho section).
- Các khối cũ hiển thị y như trước.

Trước khi sửa: liệt kê file sẽ sửa và cách làm, chờ tôi đồng ý.

Yêu cầu thứ hai dài hơn, nhưng tiết kiệm cho bạn 3–4 vòng sửa.

Giao việc đa tầng: thêm tầng dữ liệu mẫu khi cần

Năm phần trên là các tầng thông tin của một yêu cầu. Người làm nghề gọi cách viết này là giao việc đa tầng (layered prompting) hoặc kỹ thuật ngữ cảnh (context engineering): AI không phải đoán vì mỗi tầng trả lời một câu hỏi nó sẽ hỏi.

Khi việc liên quan dữ liệu hoặc giao diện, thêm tầng thứ sáu:

DỮ LIỆU MẪU  2–3 dòng dữ liệu thật hoặc giống thật, hoặc ảnh/link giao diện mẫu

Ví dụ: “Mỗi món có id, tên, giá. Mẫu: {id: 1, ten: "Cà phê sữa", gia: 29000}”. Có mẫu, AI làm đúng định dạng ngay lần đầu thay vì tự đặt tên trường rồi bạn phải sửa lại cả trang.

Đừng tin các con số kiểu “cách viết này giảm 90% lỗi”. Không có nghiên cứu nào đo được như vậy cho mọi trường hợp. Điều chắc chắn: yêu cầu rõ thì số vòng sửa giảm, và bạn tự thấy điều đó sau vài dự án.

Ba câu thần chú

Thêm vào cuối yêu cầu khi việc không nhỏ:

  1. “Trước khi làm, hãy nêu kế hoạch và các giả định, chờ tôi duyệt.” AI sẽ lộ ra chỗ nó hiểu sai trước khi viết 200 dòng code sai.
  2. “Nếu thiếu thông tin, hỏi tôi. Không tự bịa.” Đặc biệt với giá, số liệu, tên, nội dung pháp lý.
  3. “Chỉ sửa những gì trong phạm vi. Liệt kê mọi file đã sửa.” Để bạn biết cần kiểm lại chỗ nào.

Chia lát cắt: không bao giờ giao cả app một lần

Một lát cắt (slice) là phần việc nhỏ nhất mà khi xong, bạn mở ra kiểm được. Ví dụ với landing page:

#Lát cắtKiểm bằng cách
1Khung trang + header + footer, chưa nội dungMở trên máy và điện thoại, menu bấm được
2Khối đầu trang (tiêu đề, mô tả, nút Zalo)Nút mở đúng Zalo
3Khối mẫu đã làm (lưới ảnh)9 ảnh hiện đủ, không vỡ trên mobile
4Bảng giá tham khảoKhông cuộn ngang trên 375px
5Quy trình 4 bước + hỏi đápĐọc được, hỏi đáp mở/đóng bằng bàn phím
6SEO, ảnh chia sẻ, faviconDán link vào Zalo/Facebook thấy ảnh và tiêu đề

Quy trình mỗi lát:

Giao việc (5 phần) → AI nêu kế hoạch → Bạn duyệt → AI làm
→ Bạn kiểm theo cột "Kiểm bằng cách" → Lưu checkpoint (Git commit) → Lát tiếp

Lưu checkpoint sau mỗi lát chạy đúng là thói quen quan trọng nhất của bài này. Lát sau AI làm hỏng, bạn quay lại được.

Quản lý ngữ cảnh

AI không có trí nhớ dài như bạn nghĩ. Cuộc trò chuyện càng dài, phần đầu càng dễ bị “quên”.

  • Một phiên = một lát cắt. Xong lát thì mở phiên mới, đưa lại BRIEF.md và nói đang ở lát nào.
  • Giữ file NOTES.md: ghi quyết định (“dùng CSS thuần, không Tailwind”), để đưa cho phiên mới.
  • Dùng agent thì tạo file hướng dẫn (Claude Code đọc CLAUDE.md, nhiều công cụ khác có file tương tự). Ghi quy tắc dự án ở đó một lần thay vì nhắc lại mỗi lần.

Khi AI làm sai

Đừng nói “sai rồi, làm lại”. Nói sai chỗ nào, mong đợi gì, thấy gì:

Lát 3 có lỗi: trên điện thoại (375px) lưới ảnh hiện 3 cột, ảnh quá nhỏ.
Mong đợi: dưới 640px hiện 1 cột, 640-1023px 2 cột, từ 1024px 3 cột.
Chỉ sửa CSS của khối .gallery. Không đổi HTML.

Bài Debug theo bằng chứng đi sâu hơn phần này.

Lỗi hay gặp

  • Sửa nhiều thứ trong một yêu cầu. “Đổi màu, thêm bảng giá, sửa menu” → ba lỗi chồng nhau, không biết cái nào gây ra cái nào.
  • Chấp nhận AI “tặng thêm”. Nếu AI thêm thứ bạn không yêu cầu, bảo nó bỏ đi. Mỗi thứ thừa là một chỗ hỏng tiềm năng.
  • Để AI tự bịa nội dung. Giá, số điện thoại, lời khách khen, số năm kinh nghiệm: bạn cung cấp, hoặc để chỗ trống.

Việc làm ngay

  1. Từ brief của bạn, chia dự án thành 4–8 lát cắt, mỗi lát có cột “Kiểm bằng cách”.
  2. Viết yêu cầu cho lát 1 theo công thức 5 phần, kèm câu “nêu kế hoạch trước”.
  3. Giao cho AI, duyệt kế hoạch, kiểm kết quả.

Tóm tắt

  • 5 phần: Mục tiêu, Bối cảnh, Phạm vi, Ràng buộc, Nghiệm thu.
  • Bắt AI nêu kế hoạch và hỏi lại trước khi làm việc lớn.
  • Chia lát cắt nhỏ, kiểm từng lát, lưu checkpoint sau mỗi lát đúng.
  • Báo lỗi: chỗ sai, mong đợi, thực tế.

Prompt dùng ngay cho bài này

  • Chia dự án thành lát cắt: Biến brief thành 4-8 phần việc nhỏ, mỗi phần có cách kiểm riêng, để làm từng bước không vỡ.
  • Giao việc 5 phần: Khung yêu cầu chuẩn cho mỗi lát cắt: Mục tiêu, Bối cảnh, Phạm vi, Ràng buộc, Nghiệm thu.
  • Bắt AI hỏi lại trước khi làm: Thêm 3 câu thần chú vào cuối yêu cầu để AI lộ chỗ hiểu sai trước khi viết 200 dòng code sai.
Kiểm tra cuối bài

Trả lời đúng 3 câu để mở Bài 5

Sai thì đọc giải thích và làm lại, không giới hạn số lần.

Câu 1. Bạn nhắn cho AI: 'Làm cho tôi một trang bán hàng đẹp.' Kết quả ra một trang chung chung, không đúng ý. Lỗi lớn nhất trong yêu cầu của bạn là gì?
Câu 2. Một lát cắt là gì?
Câu 3. Khi nào nên lưu checkpoint (commit)?

Tiến độ lưu trên trình duyệt này. Đổi máy hoặc xóa dữ liệu trình duyệt sẽ mất tiến độ cho tới khi có tài khoản.

Bài này có giúp ích cho bạn không?

Cùng ngẫm một câu

Chia ý tưởng của bạn thành 3 lát cắt nhỏ nhất có thể. Lát đầu tiên bạn sẽ kiểm bằng cách nào?

Tự trả lời vào NOTES.md của dự án bạn — đó là cách biến bài đọc thành việc làm thật.

Mời Bụi Code ly cà phê

Bụi Code miễn phí cho mọi người. AI viết code, còn người viết bài thì chạy bằng cà phê. Nếu bài học giúp được bạn, mời mình một ly nhé.

Kênh nhận ủng hộ đang được cập nhật. Muốn ủng hộ ngay, nhắn mình qua email phungnb@gmail.com.

Ủng hộ hoàn toàn tự nguyện. Chia sẻ Bụi Code cho một người đang cần cũng quý như một ly cà phê.