Prompt cho coding: Debug, refactor, generate code
Hướng dẫn viết prompt để AI viết code, fix bug và tối ưu code hiệu quả. Từ sinh viên đến developer đều dùng được ngay.
Định nghĩa
Prompt cho coding là cách bạn ra lệnh cho AI để nó viết code mới, tìm lỗi bug, hoặc cải thiện code cũ thay vì tự gõ từng dòng một. Khác với Google search chỉ trả về link Stack Overflow, AI coding assistant như Claude, ChatGPT hay GitHub Copilot có thể đọc code của bạn, hiểu context dự án, và viết luôn đoạn code phù hợp — chỉ cần bạn biết cách yêu cầu đúng.
Giải thích chi tiết
Viết code từ đầu (Generate)
Nhiều người mới dùng AI để viết code thường gõ chung chung như "viết cho tôi app quản lý công việc". Kết quả thường là code demo sơ sài không chạy được.
Cách đúng là phải cung cấp technical context: ngôn ngữ lập trình (Python, TypeScript), framework (React, Django), yêu cầu chức năng cụ thể, và style code bạn muốn. AI không đọc được ý nghĩ trong đầu bạn — nó chỉ đọc prompt.
Debug — Tìm và sửa lỗi
Đây là use case mạnh nhất của AI coding. Thay vì paste error message lên Google rồi click 10 tab Stack Overflow, bạn paste cả code lỗi + error message + context vào AI. AI sẽ:
- Giải thích tại sao lỗi xảy ra
- Đề xuất fix cụ thể dòng nào
- Giải thích side effects nếu sửa
Lưu ý: Luôn gửi kèm version thư viện (ví dụ: pandas 2.0, React 18) vì cách giải quyết khác nhau tùy version.
Refactor — Cải thiện code cũ
Code chạy được chưa đủ — code cần dễ đọc, dễ bảo trì. Prompt refactor thường dùng để:
- Chuyển từ "spaghetti code" sang structured code
- Thêm type hints (Python) hoặc interface (TypeScript)
- Áp dụng design pattern (Singleton, Factory...)
- Tối ưu performance (big O, memory usage)
Thêm vào prompt tiêu chí cụ thể: "refactor để dễ unit test" hay "tối ưu cho dataset trên 100k rows" sẽ cho kết quả khác nhau hoàn toàn.
Giải thích code (Code Explanation)
Khi đọc code legacy viết 5 năm trước — hoặc code của đồng nghiệp vừa nghỉ việc — AI có thể dịch từng dòng thành tiếng Việt, vẽ flowchart logic, hoặc liệt kê dependencies để bạn nắm bắt nhanh.
Ví dụ thực tế
Debug Python với Error Message
Bạn có đoạn code pandas bị lỗi:
File "script.py", line 15, in <module>
df.groupby('category').sum()
KeyError: 'category'Prompt dùng:
Debug giúp tôi đoạn code Python dưới đây đang bị lỗi KeyError. Tôi dùng pandas 2.0.
import pandas as pd df = pd.read_csv('data.csv') result = df.groupby('category').sum()Error message:
KeyError: 'category'Hãy:
- Giải thích tại sao lỗi
- Đề xuất fix cụ thể
- Kiểm tra xem code fix có handle trường hợp column 'category' bị thiếu không
Kết quả tốt hơn khi: Bạn thêm sample data (df.head()), vì lỗi có thể do column thực sự không tồn tại hoặc chỉ là typo chữ hoa/thường.
Generate API Endpoint với Context
Thay vì: "viết API đăng ký user"
Prompt dùng:
Viết endpoint POST
/api/v1/registerbằng FastAPI với yêu cầu:
- Input: email (validate format), password (tối thiểu 8 ký tự), full_name
- Băm password bằng bcrypt
- Lưu vào PostgreSQL dùng SQLAlchemy async
- Trả về JWT token nếu thành công, HTTP 400 nếu email đã tồn tại
- Viết kèm Pydantic models và dependency injection chuẩn
- Thêm type hints đầy đủ và docstring
Kết quả sẽ là code production-ready thay vì pseudocode.
Refactor từ Procedural sang OOP
Bạn có file utils.py 200 dòng toàn function lộn xộn. Prompt:
Refactor file utils.py dưới đây theo hướng OOP, tạo class
DataProcessorvới:
- Methods:
load(),clean(),transform()- Handle lỗi bằng custom exception thay vì print
- Thêm type hints và logging
- Giữ nguyên logic xử lý nhưng loại bỏ code duplicate
Ứng dụng
Sinh viên IT
- Giải bài tập thuật toán: Không xin đáp án, mà xin explain từng bước để hiểu dynamic programming
- Hiểu code mẫu: Paste code từ giáo trình, yêu cầu giải thích bằng tiếng Việt với ví dụ thực tế
Junior Developer
- Code review trước khi commit: Paste function vừa viết, hỏi "có bảo mật issue gì không?" hoặc "có vi phạm SOLID không?"
- Học best practices: "Viết lại đoạn này theo Pythonic way"
Senior Developer / Tech Lead
- Generate boilerplate: Tạo template project, CI/CD config, Docker compose nhanh
- Prototype nhanh: Viết MVP trong 30 phút để demo ý tưởng trước khi bỏ công viết chính thức
Người không chuyên IT (PM, Data Analyst, Marketing)
- Automation script: Viết Python script xử lý Excel, rename file hàng loạt, crawl data đơn giản
- Regex: "Viết regex bắt số điện thoại Việt Nam format +84 hoặc 0xx"
So sánh
| Loại Prompt | Khi nào dùng | Input cần thiết | Output mong đợi |
|---|---|---|---|
| Generate | Bắt đầu feature mới | Technical stack, requirements, constraints | Code hoàn chỉnh, có thể chạy được |
| Debug | Code báo lỗi | Code lỗi + error message + version thư viện | Giải thích nguyên nhân + code đã fix |
| Refactor | Code chạy được nhưng xấu | Code gốc + tiêu chí (clean/readable/performance) | Code cải tiến + explanation thay đổi |
| Explain | Đọc hiểu code cũ | Code snippet + level giải thích (beginner/expert) | Giải thích logic, flowchart, hoặc tài liệu |
Quy tắc vàng: Luôn cung cấp context kỹ thuật đầy đủ (ngôn ngữ, framework, version) cho cả 4 loại. AI không biết bạn đang dùng React hay Vue nếu bạn không nói — và kết quả sẽ sai hoàn toàn.
Bài viết liên quan
Cùng cụm
Prompt cho viết lách: Blog, email, báo cáo
Áp dụng AI cho content marketing và văn phòng — từ viết blog đến soạn email chuyên nghiệp
Prompt cho phân tích: Data, research, so sánh
Dùng AI để phân tích dữ liệu CSV, nghiên cứu thị trường, và so sánh sản phẩm
Prompt cho sáng tạo: Brainstorm, ideation
Kỹ thuật brainstorm ý tưởng kinh doanh và viết story sáng tạo với AI
Đọc tiếp
Kỹ thuật cơ bản: Zero-shot, Few-shot Prompting
Nắm vững nền tảng kỹ thuật prompt để áp dụng cho coding hiệu quả hơn
Kỹ thuật nâng cao: Chain of Thought
Học cách bắt AI "suy nghĩ từng bước" để giải quyết bài toán phức tạp và debug logic khó
System Prompt & Thực chiến
Tìm hiểu cách thiết lập tính cách và giới hạn cho AI assistant chuyên về coding
Prompt cho viết lách: Blog, email, báo cáo
Bí quyết viết prompt để AI sáng tác content chuẩn tone, đúng format. Từ email xin nghỉ phép đến báo cáo công việc — copy-paste là chạy.
Prompt cho phân tích: Data, research, so sánh
Học cách viết prompt để AI phân tích dữ liệu CSV, nghiên cứu chuyên sâu và so sánh lựa chọn. Kèm template copy-paste cho người mới bắt đầu.