Prompt lập trình cho Grok
Prompt cho công việc kỹ thuật hàng ngày: đọc hiểu code lạ, dò tìm bug, viết test, tài liệu và chuyển ảnh giao diện thành code hoạt động.
Hai mươi prompt lập trình này bao quát toàn bộ công việc thường ngày của một developer: giải mã thông báo lỗi, truy vết bug không gây crash nhưng trả về sai kết quả, review diff, viết test và fixture, tạo truy vấn SQL cùng biểu thức chính quy (regex), viết shell script, làm tài liệu API, gỡ rối Git, và học ngôn ngữ mới bằng cách so sánh với ngôn ngữ bạn đã biết.
Grok sẽ phản hồi nhanh và chuẩn xác hơn khi có đầy đủ dữ kiện. Hãy nêu rõ ngôn ngữ, framework và phiên bản bạn dùng, dán đoạn code ngắn nhất có thể tái hiện lỗi kèm thông báo lỗi đầy đủ, và mô tả kết quả bạn mong muốn. Với các ca bug, nhiều prompt đề xuất dùng Grok 4.3 Thinking: model này sẽ phân tích từng bước code trước khi trả lời, rất hữu ích với lỗi lệch 1 đơn vị (off-by-one), race condition và các điều kiện logic phức tạp. Grok 4.20 hoàn toàn phù hợp để giải thích nhanh và tạo code mẫu (boilerplate). Hai prompt trong số này sử dụng tính năng phân tích hình ảnh: một prompt dành cho ảnh chụp màn hình layout bị vỡ và một prompt dành cho ảnh vẽ phác thảo data model trên bảng trắng.
Bạn vẫn cần lưu ý những điểm quen thuộc, thậm chí cẩn thận hơn bình thường. Các model đều có giới hạn thời gian cập nhật kiến thức và không thể đọc tài liệu mới nhất tại thời điểm thực, nên một hàm thư viện có thể đã đổi tên hoặc chưa từng tồn tại. Code nhìn có vẻ chuẩn vẫn có thể lỗi, hãy luôn chạy và kiểm thử kỹ. Tuyệt đối không dán API key, mật khẩu, token hay dữ liệu khách hàng; tin nhắn của bạn sẽ đi qua máy chủ của chúng tôi tới nhà cung cấp model để tạo câu trả lời. Tin nhắn quá dài sẽ bị cắt bớt, vì vậy hãy chỉ gửi hàm code quan trọng thay vì cả repository.
Xem cách các developer ứng dụng Grok, trải nghiệm Code Assistant, hoặc tìm hiểu về Grok API.
Cách tùy biến các prompt này
- Nêu rõ stack kèm phiên bản: "Node 22, TypeScript 5, Express" luôn hiệu quả hơn chỉ ghi "JavaScript".
- Yêu cầu lập kế hoạch trước khi viết code với bất kỳ tác vụ nào lớn hơn một hàm đơn lẻ.
- Yêu cầu giải thích từng thay đổi, để bạn có thể nắm được tư duy xử lý thay vì chỉ đọc mỗi diff.
- Để dành Grok 4.7 cho những bài toán hóc búa nhất; model này giới hạn 10 tin nhắn mỗi ngày.
-
01
Giải mã thông báo lỗi
Tôi đang dùng [ngôn ngữ hoặc framework và phiên bản]. Hãy giải thích lỗi này bằng từ ngữ đơn giản, liệt kê ba nguyên nhân khả dĩ nhất theo thứ tự xác suất và cho tôi biết nên kiểm tra điều gì đầu tiên cho mỗi nguyên nhân: [dán toàn bộ thông báo lỗi và stack trace]
-
02
Truy vết kết quả sai từng dòng
Hàm này trả về [kết quả thực tế] khi được gọi với [đầu vào], nhưng tôi kỳ vọng là [kết quả mong đợi]. Hãy duyệt qua từng dòng thực thi với đầu vào đó, theo dõi từng biến và dừng lại ở dòng đầu tiên mà trạng thái khác với dự kiến: [dán mã nguồn]
-
03
Tìm lỗi race condition
Đoạn mã [ngôn ngữ] này đôi khi gây ra [triệu chứng] khi chịu tải cao, nhưng không bao giờ bị khi tôi test riêng lẻ: [dán mã nguồn]. Hãy tìm các race condition, shared state và các giả định về thứ tự thực thi. Với mỗi điểm đáng ngờ, hãy mô tả chính xác chuỗi xen kẽ (interleaving) gây ra lỗi và cách khắc phục.
-
04
Review pull request
Hãy review bản diff này với tư cách là một senior developer khó tính trên codebase [ngôn ngữ]. Gom nhóm các nhận xét thành: lỗi (bugs), rủi ro (risks), độ dễ đọc (readability) và kiểm thử (tests), ghi rõ số dòng tham chiếu và kết luận bằng một phán quyết: chấp thuận (approve), chấp thuận kèm chỉnh sửa (approve with changes) hoặc yêu cầu sửa đổi (request changes), kèm theo một câu giải thích lý do: [dán bản diff]
-
05
Liệt kê edge case rồi viết test
Đối với hàm bên dưới, hãy liệt kê mọi edge case bạn sẽ kiểm thử và lý do, sau đó viết các bài test bằng [test framework]. Hãy đưa vào ít nhất một bài test mà bạn dự đoán sẽ thất bại với mã nguồn hiện tại và chỉ rõ đó là bài test nào: [dán hàm]
-
06
Tạo bộ dữ liệu test fixture oái oăm
Hãy viết dữ liệu test fixture thực tế cho data model này bằng [định dạng, ví dụ: JSON hoặc factory function]: [dán model]. Bao gồm mười bản ghi bình thường và năm bản ghi oái oăm (chẳng hạn như chuỗi rỗng, tên rất dài, ký tự non-Latin và các ngày ở điểm giới hạn), nhớ đánh dấu rõ ràng từng loại.
-
07
Tạo SQL từ câu hỏi tiếng Việt thường
Dựa trên schema này: [dán schema], hãy viết một truy vấn [database] để trả về [kết quả bạn cần]. Giải thích truy vấn theo từng mệnh đề, sau đó đưa ra một biến thể có xử lý cả [edge case, ví dụ: khách hàng chưa có đơn hàng nào].
-
08
Debug regex chạy sai
Biểu thức chính quy này đáng lẽ phải [hành vi dự kiến] trong [ngôn ngữ hoặc công cụ], nhưng nó lại [vấn đề xảy ra]: [dán regex]. Hãy bóc tách thành từng phần và giải thích mỗi phần, đưa ra một đầu vào làm lộ lỗi, đồng thời cung cấp phiên bản đã sửa kèm theo ba chuỗi mà nó bắt buộc phải từ chối.
-
09
Viết script tự động hóa tác vụ nhàm chán
Hãy viết một script [bash hoặc PowerShell] để [nhiệm vụ, ví dụ: nén các file log cũ hơn 30 ngày vào file zip]. Đảm bảo tính an toàn: có chế độ dry-run chỉ in ra những gì sẽ làm, thông báo lỗi rõ ràng và có chú thích trên mọi dòng có lệnh xóa hoặc ghi đè file.
-
10
Viết tài liệu cho API endpoint
Hãy viết tài liệu tham khảo cho endpoint này: [dán mã handler hoặc route]. Bao gồm phương thức và đường dẫn, các tham số kèm kiểu dữ liệu và yêu cầu bắt buộc hay không, ví dụ request, ví dụ response thành công và lỗi, cùng toàn bộ mã trạng thái có thể trả về.
-
11
Gỡ rối Git
Kho Git của tôi đang ở trạng thái này: [dán git status và vài dòng cuối của git log]. Mục tiêu của tôi là [mục tiêu]. Hãy giải thích chuyện gì đã xảy ra bằng từ ngữ dễ hiểu và đưa cho tôi các lệnh chính xác để khắc phục, bắt đầu bằng lệnh sao lưu lại trạng thái hiện tại. Cảnh báo tôi trước bất kỳ lệnh nào ghi đè lịch sử (rewrite history).
-
12
Viết lại mã theo chuẩn idiomatic
Tôi thành thạo [ngôn ngữ tôi biết] và đang học thêm [ngôn ngữ mới]. Hãy lấy đoạn mã được viết theo phong cách quen thuộc của tôi sau đây: [dán đoạn mã], và viết lại theo cách một lập trình viên [ngôn ngữ mới] kỳ cựu sẽ làm. Sau đó giải thích các idiom bạn đã dùng mà ngôn ngữ cũ của tôi không có cấu trúc tương đương.
-
13
Sửa lỗi giao diện từ ảnh chụp màn hình
Tôi đã đính kèm ảnh chụp màn hình trang web của mình. Vấn đề gặp phải: [phần hiển thị bị lỗi]. Đây là HTML và CSS của phần đó: [dán mã nguồn]. Hãy tìm nguyên nhân, đưa ra giải pháp CSS tối giản nhất và giải thích lý do xảy ra lỗi để tôi không lặp lại.
-
14
Chuyển phác thảo bảng trắng thành bảng CSDL
Tôi đã đính kèm ảnh chụp bản phác thảo mô hình dữ liệu trên bảng trắng cho [ứng dụng]. Hãy chuyển nó thành định nghĩa bảng cho [cơ sở dữ liệu] với khóa chính, khóa ngoại và các kiểu dữ liệu hợp lý. Hãy liệt kê bất kỳ mối quan hệ nào chưa rõ ràng trong bản vẽ và hỏi lại tôi trước khi tự suy đoán.
-
15
Tìm độ phức tạp và thuật toán nhanh hơn
Độ phức tạp về thời gian và bộ nhớ của hàm này là bao nhiêu, và tại sao? [dán mã nguồn] Nếu có cách tiếp cận nhanh hơn cho kích thước đầu vào khoảng [kích thước], hãy chỉ ra và giải thích cái giá phải trả về độ dễ đọc của mã nguồn.
-
16
Refactor mã nguồn nhưng giữ nguyên hành vi
Hãy tái cấu trúc (refactor) hàm này để dễ đọc hơn mà không làm thay đổi hành vi của nó: [dán mã nguồn]. Hãy thực hiện theo từng bước nhỏ có đặt tên, giải thích mỗi thay đổi bằng một dòng và liệt kê bất kỳ hành vi nào bạn chưa chắc chắn để tôi xác nhận trước khi merge.
-
17
Viết file README từ đầu
Hãy viết README cho dự án [tên dự án] của tôi, công dụng: [mô tả dự án]. Các phần gồm: giới thiệu tổng quan, hướng dẫn bắt đầu nhanh với các lệnh có thể copy-paste, bảng tùy chọn cấu hình, các lỗi thường gặp và cách đóng góp. Đây là các tệp và lệnh chính: [dán chi tiết]
-
18
Giải thích mã nguồn do người khác viết
Hãy giải thích đoạn mã [ngôn ngữ] này cho một người biết lập trình nhưng chưa từng tiếp xúc với codebase này. Bắt đầu bằng bản tóm tắt ngắn gọn trong hai câu, sau đó đi qua từng khối mã và chỉ ra bất kỳ điểm nào trông giống như lỗi bug hoặc code hack còn sót lại: [dán mã nguồn]
-
19
Tìm lỗ hổng trong bản thiết kế hệ thống
Tôi dự định xây dựng [tính năng] theo cách sau: [mô tả cách tiếp cận]. Hãy đóng vai người phản biện. Chỉ ra 3 khả năng thiết kế này dễ thất bại nhất khi chạy trên production, biểu hiện thực tế khi gặp lỗi và giải pháp thay thế tiết kiệm chi phí hơn nếu có. Hãy thẳng thắn; tôi thà nghe bây giờ còn hơn là lúc 3 giờ sáng.
-
20
Chuyển đổi mã sang ngôn ngữ khác
Hãy chuyển đoạn mã [ngôn ngữ nguồn] này sang [ngôn ngữ đích] chuẩn idiomatic, không dịch từng dòng một: [dán mã nguồn]. Hãy tận dụng thư viện chuẩn của ngôn ngữ đích nếu có thể, giữ nguyên hành vi xử lý và liệt kê các điểm khác biệt về cơ chế giữa hai ngôn ngữ, chẳng hạn như phép chia số nguyên hay mã hóa chuỗi ký tự.
Sẵn sàng hỏi Grok điều gì đó?
Không cần tài khoản, không cần tải về, không cần thẻ. Mở chat, nhập câu hỏi và theo dõi câu trả lời của Grok hiển thị trực tiếp.
Mở đoạn chat