Facebook Pixel

Hướng dẫn Prompt Engineering dành cho Developer

14 Feb, 2025

Bài viết liệt kê các kỹ thuật quan trọng giúp anh em developer khai thác tối đa sức mạnh của AI kèm theo ví dụ cụ thể

Hướng dẫn Prompt Engineering dành cho Developer

Mục Lục

Trong thời đại AI phát triển mạnh mẽ, việc biết cách giao tiếp hiệu quả với mô hình AI là một kỹ năng quan trọng. "Prompt Engineering" không chỉ giúp AI hiểu chính xác yêu cầu của bạn mà còn giúp tiết kiệm thời gian và tối ưu hóa kết quả đầu ra. Dưới đây là các kỹ thuật quan trọng giúp anh em developer khai thác tối đa sức mạnh của AI kèm theo ví dụ cụ thể.

1. Chain-of-Thought (CoT) Prompting – Buộc AI phải suy luận từng bước

Khi gặp các vấn đề phức tạp như tối ưu hóa thuật toán, yêu cầu hiệu suất cao hoặc debug những lỗi khó, nếu chỉ đưa ra một câu hỏi trực tiếp, AI có thể không xử lý tốt. Vì vậy, chúng ta cần hướng dẫn nó suy luận từng bước một cách rõ ràng.

Bad prompt:
"Viết một thuật toán trong Python để tìm dãy con có tổng lớn nhất trong một mảng số nguyên."

Better prompt:
"Hãy tìm dãy con có tổng lớn nhất trong một mảng số nguyên. Giải quyết theo từng bước sau:

  • Bước 1: Trước tiên, hãy liệt kê tất cả các phương pháp có thể áp dụng để giải quyết bài toán này (Brute Force, Dynamic Programming, Kadane’s Algorithm, etc.).
  • Bước 2: Giải thích cách tiếp cận từng phương pháp và phân tích độ phức tạp thời gian của chúng.
  • Bước 3: Viết code triển khai phương pháp tối ưu nhất (Kadane’s Algorithm) bằng Python.
  • Bước 4: Tối ưu hóa mã nguồn để xử lý mảng có kích thước lớn mà vẫn đảm bảo hiệu suất.
  • Bước 5: Viết unit test với các test case gồm số âm, số dương, và trường hợp rỗng."

Lợi ích: AI không chỉ đưa ra code ngay lập tức mà còn phân tích các phương pháp khác nhau, giúp bạn hiểu rõ hơn cách giải quyết bài toán một cách tối ưu.

2. Few-shot Learning – Hướng dẫn AI bằng ví dụ cụ thể

AI hoạt động tốt hơn khi có mẫu đầu vào. Nếu bạn muốn AI sinh code theo format chuẩn, hãy đưa ví dụ trước.

Bad prompt:
"Viết code TypeScript để tạo một API GET users."

Better prompt:
"Dưới đây là một API GET cho danh sách sản phẩm trong ExpressJS:

Typescript
import express from 'express';
const app = express();

app.get('/products', (req, res) => {
    res.json([{ id: 1, name: 'Laptop' }]);
});

app.listen(3000, () => console.log('Server running on port 3000'));

Hãy viết một API GET /users với cấu trúc tương tự."

Lợi ích: AI sẽ bám sát vào coding style và không tạo ra format lộn xộn

3. Role-based Prompting – Giao vai trò cho AI để nhận kết quả chất lượng hơn

Thay vì chỉ hỏi chung chung, hãy cho AI "đóng vai" một chuyên gia lập trình.

Bad prompt:
"Giải thích cách hoạt động của Redux."

Better prompt:
"Bạn là một Senior Frontend Developer có kinh nghiệm với React và Redux. Hãy giải thích cách Redux hoạt động cho một lập trình viên mới học React, kèm theo ví dụ code."

Lợi ích: AI sẽ viết theo đúng level bạn muốn, giúp giải thích dễ hiểu hoặc chuyên sâu hơn.

4. Instruction Tuning – Điều chỉnh prompt để AI trả lời đúng trọng tâm

Muốn AI viết code đúng yêu cầu? Hãy ràng buộc thông tin đầu vào càng rõ càng tốt.

Bad prompt:
"Viết một API để xác thực người dùng."

Better prompt:
"Viết một API xác thực người dùng bằng Node.js và Express. API gồm:

  • Endpoint POST /login nhận emailpassword.
  • Kiểm tra xem người dùng có tồn tại trong database MongoDB hay không.
  • Nếu đúng, trả về JWT token.
  • Nếu sai, trả về lỗi 401.

Code cần sử dụng thư viện jsonwebtokenbcrypt để hash password."

Lợi ích: AI sẽ code chính xác hơn, tránh việc bạn phải chỉnh sửa lại quá nhiều!

5. Kết luận

Prompting không chỉ đơn thuần là đặt câu hỏi cho AI, mà còn là nghệ thuật hướng dẫn AI theo cách giúp bạn nhận được kết quả tốt nhất. Đặc biệt với lập trình viên, việc tối ưu prompt có thể giúp ban:

  • Debug code nhanh hơn
  • Viết API chuẩn format
  • Hiểu thuật toán một cách trực quan
  • Học nhanh các công nghệ mới

Nếu bạn chưa thử các kỹ thuật trên, hãy áp dụng ngay trong lần làm việc tiếp theo với AI.

Các bài viết liên quan:

Bài viết liên quan

Lập trình backend expressjs

xây dựng hệ thống microservices
  • Kiến trúc Hexagonal và ứng dụngal font-
  • TypeScript: OOP và nguyên lý SOLIDal font-
  • Event-Driven Architecture, Queue & PubSubal font-
  • Basic scalable System Designal font-

Đăng ký nhận thông báo

Đừng bỏ lỡ những bài viết thú vị từ 200Lab