Trong quá trình phát triển phần mềm, những lỗi đơn giản thường dễ phát hiện và sửa chữa, nhưng các lỗi code phức tạp – liên quan đến logic đa tầng, tương tác giữa nhiều module, hoặc các tình huống biên (edge cases) – lại là thách thức lớn ngay cả với lập trình viên giàu kinh nghiệm. Việc đọc và lần theo luồng code để tìm nguyên nhân có thể tốn rất nhiều thời gian, đặc biệt khi hệ thống đã phát triển đến quy mô lớn.
Chính vì vậy, mẫu prompt giúp chẩn đoán lỗi code phức tạp ra đời như một công cụ hỗ trợ hiệu quả, tận dụng sức mạnh của AI để phân tích, suy luận và đưa ra giả thuyết về nguyên nhân gây lỗi. Thay vì đặt câu hỏi chung chung, các prompt được thiết kế có cấu trúc sẽ hướng AI tập trung vào các khía cạnh quan trọng như luồng dữ liệu, dependency, trạng thái hệ thống, và các điểm có khả năng phát sinh bug.
Bài viết này sẽ giúp bạn xây dựng những prompt “đúng trọng tâm”, từ đó không chỉ rút ngắn thời gian debug mà còn nâng cao khả năng hiểu sâu hệ thống. Đây là một bước tiến quan trọng trong việc biến AI thành một “trợ lý kỹ thuật” thực thụ trong các dự án phần mềm phức tạp.
Mẫu prompt giúp chẩn đoán lỗi code phức tạp
Hãy giúp tôi gỡ lỗi vấn đề này:
Thông báo lỗi: [DÁN LỖI]
Ngữ cảnh code: [DÁN CODE LIÊN QUAN]
Ngôn ngữ/Framework: [ví dụ: JavaScript/Node.js]
Điều tôi mong đợi: [HÀNH VI MONG ĐỢI]
Điều xảy ra: [HÀNH VI THỰC TẾ]
Những gì tôi đã thử: [LIỆT KÊ CÁC THỬ NGHIỆM]
Cung cấp:
1. Phân tích nguyên nhân gốc rễ
2. Giải pháp từng bước
3. Tại sao nó xảy ra
4. Cách ngăn chặn nóPhù hợp nhất cho: GPT-5, Claude 4 Sonnet
Cách sử dụng prompt mẫu
- Điền thông báo lỗi là: Some items are out of stock
- Ngữ cảnh code là:
// services/orderService.js
class OrderService {
constructor(paymentService, inventoryService, notificationService) {
this.paymentService = paymentService;
this.inventoryService = inventoryService;
this.notificationService = notificationService;
}
async processOrder(order) {
try {
// 1. Validate order
if (!order.userId || !order.items || order.items.length === 0) {
throw new Error("Invalid order data");
}
// 2. Check inventory (BUG tiềm ẩn: không await Promise.all)
const inventoryChecks = order.items.map(item => {
return this.inventoryService.checkStock(item.productId, item.quantity);
});
const allInStock = inventoryChecks.every(result => result === true);
if (!allInStock) {
throw new Error("Some items are out of stock");
}
// 3. Calculate total (BUG: không xử lý số âm hoặc undefined price)
let total = 0;
for (const item of order.items) {
total += item.price * item.quantity;
}
// 4. Apply discount (BUG: discount có thể > 100%)
if (order.discount) {
total = total - (total * order.discount);
}
// 5. Process payment (BUG: không handle timeout / retry)
const paymentResult = await this.paymentService.charge(
order.userId,
total
);
if (!paymentResult.success) {
throw new Error("Payment failed");
}
// 6. Deduct inventory (BUG: race condition nếu concurrent)
order.items.forEach(item => {
this.inventoryService.reduceStock(item.productId, item.quantity);
});
// 7. Send notification (BUG: không await → có thể fail silently)
this.notificationService.sendEmail(order.userId, "Order successful");
return {
status: "success",
total
};
} catch (error) {
console.error("Order processing failed:", error.message);
return {
status: "failed",
error: error.message
};
}
}
}
module.exports = OrderService;- Ngôn ngữ/Framework: JavaScript
- Hành vi mong đợi là: Hiển thị mã lỗi để biết lỗi xảy ra ở bước nào và dễ phân loại lỗi
- Điều xảy ra:
- Chỉ trả về error.message → thiếu context (không biết lỗi xảy ra ở bước nào)
- Không có mã lỗi (error code) → khó xử lý phía frontend
- Không phân loại lỗi (business vs system)
- console.error không đủ cho production (nên dùng logger như Winston)
- Những gì đã thử: Refactor toàn bộ hệ thống error handling theo chuẩn production (Node.js)
Kết quả ví dụ prompt mẫu được thực hiện bằng GPT-5
Hãy giúp tôi gỡ lỗi vấn đề này:
Thông báo lỗi: Some items are out of stock
Ngữ cảnh code:
// services/orderService.js
class OrderService {
constructor(paymentService, inventoryService, notificationService) {
this.paymentService = paymentService;
this.inventoryService = inventoryService;
this.notificationService = notificationService;
}
async processOrder(order) {
try {
// 1. Validate order
if (!order.userId || !order.items || order.items.length === 0) {
throw new Error("Invalid order data");
}
// 2. Check inventory (BUG tiềm ẩn: không await Promise.all)
const inventoryChecks = order.items.map(item => {
return this.inventoryService.checkStock(item.productId, item.quantity);
});
const allInStock = inventoryChecks.every(result => result === true);
if (!allInStock) {
throw new Error("Some items are out of stock");
}
// 3. Calculate total (BUG: không xử lý số âm hoặc undefined price)
let total = 0;
for (const item of order.items) {
total += item.price * item.quantity;
}
// 4. Apply discount (BUG: discount có thể > 100%)
if (order.discount) {
total = total - (total * order.discount);
}
// 5. Process payment (BUG: không handle timeout / retry)
const paymentResult = await this.paymentService.charge(
order.userId,
total
);
if (!paymentResult.success) {
throw new Error("Payment failed");
}
// 6. Deduct inventory (BUG: race condition nếu concurrent)
order.items.forEach(item => {
this.inventoryService.reduceStock(item.productId, item.quantity);
});
// 7. Send notification (BUG: không await → có thể fail silently)
this.notificationService.sendEmail(order.userId, "Order successful");
return {
status: "success",
total
};
} catch (error) {
console.error("Order processing failed:", error.message);
return {
status: "failed",
error: error.message
};
}
}
}
module.exports = OrderService;
Ngôn ngữ/Framework: JavaScript
Điều tôi mong đợi: Hiển thị mã lỗi để biết lỗi xảy ra ở bước nào và dễ phân loại lỗi
Điều xảy ra:
❌ Chỉ trả về error.message → thiếu context (không biết lỗi xảy ra ở bước nào)
❌ Không có mã lỗi (error code) → khó xử lý phía frontend
❌ Không phân loại lỗi (business vs system)
❌ console.error không đủ cho production (nên dùng logger như Winston)
Những gì tôi đã thử: Refactor toàn bộ hệ thống error handling theo chuẩn production (Node.js)
Cung cấp:
1. Phân tích nguyên nhân gốc rễ
2. Giải pháp từng bước
3. Tại sao nó xảy ra
4. Cách ngăn chặn nó















Làm chủ AI
Học IT
Hàm Excel