Việc sử dụng AI hiệu quả trong lập trình và nghiên cứu khoa học phụ thuộc rất nhiều vào chất lượng của câu lệnh (prompt). Một prompt được xây dựng tốt có thể giúp bạn tiết kiệm thời gian, tìm ra lỗi, khám phá ý tưởng mới và nâng cao chất lượng công việc.
Dưới đây là hướng dẫn chi tiết về cách tạo AI prompt cho lập trình và nghiên cứu khoa học, kèm theo các ví dụ cụ thể. Tiếp đó, mình sẽ nhận xét về một số công cụ như ChatGPT, Gemini, và Grok. Cuối cùng là prompt giúp chúng ta trả lời reviewer comments, và prompt để review bài báo khoa học khi chúng ta phải làm reviewer, và link download các prompt mẫu trong bài viết này.
I. AI Prompt cho Lập trình (Programming)
Khi làm việc với AI cho lập trình, hãy cung cấp ngữ cảnh rõ ràng, chỉ định ngôn ngữ và thư viện, đồng thời mô tả kết quả bạn mong muốn.
1. Tạo và Viết Code (Code Generation)
Mục tiêu là để AI viết code cho một chức năng hoặc một đoạn chương trình cụ thể.
- Prompt cơ bản:“Viết một hàm Python tên là
tinh_tong_so_chan
nhận vào một danh sách số nguyên và trả về tổng của các số chẵn trong danh sách đó.” - Prompt nâng cao (cung cấp thêm ngữ cảnh và yêu cầu):“Tôi đang xây dựng một ứng dụng web bằng Flask (Python). Hãy viết một hàm nhận vào mật khẩu của người dùng dưới dạng chuỗi, sử dụng thư viện
bcrypt
để băm mật khẩu và trả về chuỗi đã băm. bao gồm xử lý lỗi nếu đầu vào là chuỗi rỗng.” - Prompt chỉ định định dạng đầu ra:“Tạo một đoạn code JSON chứa thông tin về một sản phẩm. JSON object phải có các key sau:
id
(số nguyên),ten_san_pham
(chuỗi),gia
(số thực), vàcon_hang
(boolean).”
2. Gỡ lỗi (Debugging)
Cung cấp cho AI đoạn code bị lỗi, thông báo lỗi và mô tả hành vi không mong muốn. Nên mô tả context
- Prompt khi có thông báo lỗi cụ thể:
def tinh_chu_vi(ban_kinh):
pi = "3.14"
return 2 * pi * ban_kinh
Lỗi: TypeError: can't multiply sequence by non-int of type 'float'
“
Thì mình có thể dòng bị lỗi trong hàm này + hàm này + lỗi vào cho AI phân tích. Đôi khi chúng ta nên cung cấp chi tiết về lỗi (stack trace, output không mong muốn) và hệ điều hành….
Tuy hữu ích nhưng chúng ta cũng không nên quá lạm dụng. Đôi khi nó không debug được, mà thực tế thì mình tự đọc và phân tích, sửa lỗi còn nhanh hơn. Nên thường là mình sẽ đọc hiểu lỗi trước khi dùng ChatGPT.
Xem thêm: Cách debug code khi code vẫn chạy ngon và không biết sai chỗ nào
3. Giải thích, dịch và Học hỏi (Code Explanation & Learning)
Yêu cầu AI giải thích một khái niệm, một đoạn code hoặc chuyển đổi code sang ngôn ngữ khác.
- Giải thích một đoạn code: giải thích đoạn code sau, giải thích …. trong hàm sau….
- Chuyển đổi ngôn ngữ:“Chuyển đổi đoạn code Python sau đây sang JavaScript…..”
4. Tối ưu hóa Code (Code Optimization)
Yêu cầu AI cải thiện hiệu suất hoặc cấu trúc của code.
- Prompt yêu cầu cải thiện hiệu suất: cải thiện hiệu suất của code + code, thay vòng lặp trong code bằng hàm apply để cải thiện tốc độ của hàm,….
Prompt mẫu:
“Đây là đoạn code của tôi [dán code]. Nó hoạt động nhưng chạy chậm với [mô tả trường hợp, ví dụ: dữ liệu đầu vào lớn]. Vui lòng đề xuất cách tối ưu hóa để giảm độ phức tạp thời gian hoặc bộ nhớ, kèm giải thích và so sánh hiệu suất trước/sau.”
Tùy chỉnh: Chỉ định mục tiêu tối ưu (thời gian, bộ nhớ, hoặc cả hai) và các ràng buộc (ví dụ: không sử dụng thư viện ngoài).
Chúng ta cũng có thể thả cả đoạn code vào và hỏi code này đã tối ưu chưa? Mô hình được sử dụng trong code này đã hợp lý chưa và Gemini có thể trả lời là neural network của bạn hơi nông, Batch size của bạn là 1 mà sao lại dùng Batch norm….
5. Tạo tài liệu hoặc test case
Prompt mẫu:
“Dựa trên đoạn code [dán code], hãy tạo tài liệu API (hoặc docstring) theo chuẩn [ví dụ: Google Python Style Guide]. Đồng thời, viết các test case bằng [thư viện, ví dụ: pytest] để kiểm tra tất cả các trường hợp, bao gồm trường hợp biên.”
Tùy chỉnh: Chỉ định định dạng tài liệu (docstring, README) hoặc loại test (unit test, integration test).
II. AI Prompt cho Nghiên cứu Khoa học (Scientific Research)
Trong nghiên cứu, prompt cần phải chính xác, dựa trên kiến thức nền tảng và hướng tới các nhiệm vụ cụ thể.
Tổng quan và Tóm tắt Tài liệu (Literature Review)
- Prompt tổng quan một lĩnh vực:“Tóm tắt tình hình nghiên cứu hiện tại về việc sử dụng công nghệ CRISPR-Cas9 trong điều trị các bệnh di truyền ở người. Nêu bật những thách thức chính và các đột phá gần đây.”
- Tóm tắt một bài báo cụ thể:“Tóm tắt những phát hiện chính, phương pháp luận và kết luận của bài báo ‘[Tên bài báo]’ của tác giả [Tên tác giả], xuất bản trên tạp chí [Tên tạp chí] năm [Năm].”
- Tìm kiếm “lỗ hổng” nghiên cứu (Research Gaps):“Dựa trên các tài liệu khoa học hiện có, đâu là những ‘lỗ hổng’ nghiên cứu trong việc tìm hiểu tác động của vi nhựa (microplastics) đến hệ sinh thái biển?”
Lên ý tưởng và Hình thành Giả thuyết (Hypothesis Generation)
- Prompt dựa trên kịch bản “Nếu… thì sao?”:“Đưa ra các giả thuyết về cách các nguyên tắc từ lý thuyết mạng lưới (network theory) có thể được áp dụng để mô hình hóa sự lây lan của hiện tượng kháng kháng sinh trong các quần thể vi khuẩn.”
- Prompt đề xuất hướng nghiên cứu mới:“Những ứng dụng tiềm năng của vật liệu Graphene trong lĩnh vực năng lượng tái tạo là gì, ngoài những ứng dụng đã được biết đến rộng rãi?”
Thiết kế thí nghiệm
Prompt mẫu:
“Tôi muốn thiết kế một thí nghiệm để kiểm tra [giả thuyết, ví dụ: hiệu quả của một loại phân bón mới lên năng suất cây trồng]. Hãy đề xuất một kế hoạch thí nghiệm chi tiết, bao gồm: biến độc lập, biến phụ thuộc, nhóm đối chứng, phương pháp thu thập dữ liệu, và phân tích thống kê. Đảm bảo kế hoạch khả thi và giảm thiểu sai số.”
Tùy chỉnh: Chỉ định lĩnh vực (sinh học, vật lý, v.v.), quy mô thí nghiệm, và các ràng buộc (ngân sách, thời gian).
3. Phân tích Dữ liệu và Diễn giải Kết quả
- Prompt chọn phương pháp thống kê:“Tôi có một bộ dữ liệu với một biến độc lập dạng danh mục (3 nhóm: ‘Điều trị A’, ‘Điều trị B’, ‘Đối chứng’) và một biến phụ thuộc dạng liên tục (huyết áp). Tôi nên sử dụng phép kiểm định thống kê nào trong R để xác định xem có sự khác biệt đáng kể giữa các nhóm không?”
- Prompt diễn giải kết quả:“Kết quả phân tích hồi quy logistic của tôi cho thấy chỉ số Odds Ratio (OR) là 2.5 với khoảng tin cậy 95% là (1.8, 3.2) và giá trị p < 0.001. Hãy giải thích ý nghĩa của các con số này trong bối cảnh nghiên cứu của tôi một cách dễ hiểu.”
- Prompt tạo code để phân tích:“Viết một kịch bản (script) R sử dụng thư viện
ggplot2
để tạo biểu đồ hộp (boxplot) trực quan hóa sự phân bố mức độ biểu hiện gen từ bộ dữ liệu ‘gene_expression.csv’ của tôi, so sánh giữa 3 dòng tế bào khác nhau (‘Cell_A’, ‘Cell_B’, ‘Cell_C’).”
Prompt mẫu:
“Tôi có tập dữ liệu [mô tả dữ liệu, ví dụ: CSV chứa nhiệt độ và độ ẩm từ 100 trạm thời tiết]. Hãy đề xuất một pipeline phân tích dữ liệu bằng [ngôn ngữ/thư viện, ví dụ: Python với pandas và matplotlib]. Cung cấp code để thực hiện phân tích thống kê cơ bản, trực quan hóa dữ liệu, và phát hiện bất thường (nếu có).”
Tùy chỉnh: Cung cấp chi tiết về dữ liệu (định dạng, kích thước, cột) và mục tiêu phân tích (tìm xu hướng, dự đoán, v.v.).
4. Viết Bài báo Khoa học (Scientific Writing)
- Soạn thảo một phần của bài báo:“Soạn thảo phần ‘Phương pháp’ (Methods) cho một bài báo khoa học mô tả thí nghiệm đo lường tốc độ phát triển của vi khuẩn E. coli ở các nhiệt độ khác nhau (25°C, 37°C, 42°C). Bao gồm các chi tiết về chủng vi khuẩn, môi trường nuôi cấy, điều kiện ủ và phương pháp đo lường.”
- Cải thiện ngôn ngữ học thuật:“Chỉnh sửa lại đoạn văn sau từ bài nghiên cứu của tôi để nó trở nên rõ ràng, súc tích và mang văn phong khoa học hơn:'[Dán đoạn văn gốc của bạn vào đây]'”
- Tạo tóm tắt (Abstract):“Dưới đây là những điểm chính từ các phần Mở đầu, Phương pháp, Kết quả và Kết luận của bài báo của tôi:
- Mở đầu: [1-2 câu tóm tắt]
- Phương pháp: [1-2 câu tóm tắt]
- Kết quả: [2-3 câu về kết quả chính]
- Kết luận: [1 câu kết luận]Dựa vào thông tin trên, hãy viết một bản tóm tắt (abstract) súc tích trong khoảng 250 từ.”
- Prompt ví dụ:
“Hãy giúp tôi viết một phần [phần cụ thể, ví dụ: Introduction hoặc Methodology] cho bài báo khoa học về [chủ đề, ví dụ: tác động của biến đổi khí hậu lên đa dạng sinh học]. Bài viết cần dài khoảng [số từ], tuân theo định dạng [APA/MLA/IEEE], và sử dụng ngôn ngữ học thuật. Nếu có thể, trích dẫn các nghiên cứu liên quan (tìm kiếm trên web hoặc X nếu cần).”
Tùy chỉnh: Chỉ định đối tượng (tạp chí, hội nghị), độ dài, và mức độ kỹ thuật.
Nguyên tắc Vàng khi tạo Prompt
- Cụ thể và Rõ ràng: Tránh các câu hỏi mơ hồ. AI càng hiểu rõ bạn muốn gì, câu trả lời càng chính xác.
- Cung cấp Ngữ cảnh (Context is King): Hãy cho AI biết bạn đang làm gì, mục tiêu cuối cùng là gì.
- Xác định “Vai trò” cho AI: Bắt đầu prompt bằng việc giao vai trò. Ví dụ: “Bạn là một lập trình viên Python cao cấp…” hoặc “Bạn là một nhà sinh học phân tử có kinh nghiệm…”.
- Yêu cầu Định dạng Cụ thể: Yêu cầu kết quả dưới dạng danh sách, bảng, đoạn code, hay một văn phong cụ thể, “Trả lời dưới dạng bảng”, “Cung cấp code trong markdown”, hoặc “Tóm tắt trong 200 từ”
- Lặp lại và Tinh chỉnh: Đừng mong đợi câu trả lời hoàn hảo ngay lần đầu. Sử dụng câu trả lời ban đầu để đặt các câu hỏi tiếp theo và làm rõ yêu cầu của bạn.
- Yêu cầu từng bước: Nếu nhiệm vụ phức tạp, yêu cầu AI chia nhỏ (ví dụ: “Viết code, sau đó giải thích, sau đó tối ưu hóa”).
- Kiểm tra và lặp lại: Nếu kết quả không đúng, điều chỉnh prompt bằng cách thêm chi tiết hoặc làm rõ yêu cầu.
Bằng cách làm chủ nghệ thuật tạo prompt, bạn có thể biến AI từ một công cụ đơn thuần thành một trợ lý đắc lực trong công việc lập trình và nghiên cứu khoa học.
Ví dụ prompt kết hợp lập trình và nghiên cứu khoa học
Prompt mẫu:
“Tôi đang nghiên cứu về [chủ đề, ví dụ: dự đoán giá cổ phiếu bằng học máy]. Hãy:
- Tìm kiếm và tóm tắt 3 bài báo khoa học gần đây (từ 2022 trở đi) về chủ đề này, sử dụng DeepSearch nếu cần.
- Đề xuất một mô hình học máy phù hợp (ví dụ: LSTM, Random Forest) và giải thích lý do chọn.
- Viết code Python để triển khai mô hình, sử dụng [thư viện, ví dụ: scikit-learn, TensorFlow] và một tập dữ liệu mẫu (tự tạo nếu cần).
- Cung cấp hướng dẫn để đánh giá hiệu suất mô hình (ví dụ: MSE, R²) và trực quan hóa kết quả.
Đảm bảo code có comment rõ ràng và bài tóm tắt tuân theo chuẩn APA.”
Prompt để trả lời comment của reviewer cho bài báo khoa học
Trả lời bình luận của reviewer là một trong những bước quan trọng và căng thẳng nhất trong quá trình xuất bản bài báo khoa học. Sử dụng AI để hỗ trợ có thể giúp bạn soạn thảo câu trả lời một cách chuyên nghiệp, khách quan và hiệu quả.
Chúng ta có thể upload paper và viết promt
answer the following reviewer comments for the above paper for me + dán reviewer comment vào
nếu câu trả lời quá dài hoặc nó cite cái được upload thì chúng ta có thể dùng prompt
be shorter in each reponse
remove citations to the uploaded paper
Mặc định thì có lẽ AI sẽ chém đại câu trả lời kiểu đu reviewer, nên chúng ta phải đọc kỹ và prompt thêm cho một số trường hợp đặc biệt. Ví dụ:
Bạn không đồng ý (cần lập luận để bảo vệ quan điểm)
Đây là tình huống nhạy cảm, cần sự khéo léo. Câu trả lời phải tôn trọng nhưng cũng phải quyết đoán.
- Bình luận của Reviewer: “The authors should have used method Z instead of method A, as method Z is newer.”
- Prompt: Hãy viết một câu trả lời giải thích lý do chúng tôi chọn phương pháp A thay vì Z
chúng ta cũng có thể hỏi những câu hỏi liên quan trong cuộc hội thoại để cải thiện câu trả lời. Ví dụ, hỏi
alternative parameter tuning methods without labels that could be used
Prompt để tạo reviewer comments cho bài báo khoa học
bình thường, nếu người ta dùng prompt để review paper mà không đọc thì nhìn vào khá dễ nhận ra. Ở đây, mình sẽ giới thiệu một số prompt để chúng ta có thể làm điều này một cách tự nhiên và giúp chúng ta đọc paper để review nhanh
Để hiểu sơ bộ bài báo này là về cái gì, chúng ta có thể upload paper lên Gemini và dùng promt
write a brief paper review for this paper. use bullets. do not cite the paper itself.
Tiếp theo là promt
is there writing issue in the paper?
sau đó, chúng ta có thể thêm prompt
is there writing issue in the paper?
Bạn cũng có thể sử dụng cấu trúc prompt sau nếu cần phải khắt khe hơn
Cấu trúc Master Prompt:
Vai trò: Hãy đóng vai một chuyên gia phản biện (expert reviewer) trong lĩnh vực [Lĩnh vực cụ thể của bạn, ví dụ: ‘Miễn dịch học Ung thư’, ‘Học máy cho Xử lý Ngôn ngữ Tự nhiên’, ‘Kinh tế Phát triển’].
Bối cảnh: Bạn đang phản biện một bản thảo (manuscript) được gửi đến tạp chí [Tên một tạp chí uy tín trong lĩnh vực của bạn, ví dụ: ‘Nature Communications’, ‘Journal of Finance’, ‘ICLR’]. Tạp chí này yêu cầu các bài báo phải có tính mới mẻ (novelty), phương pháp luận chặt chẽ (methodological rigor), và có đóng góp ý nghĩa cho lĩnh vực.
Nhiệm vụ: Đọc [Tóm tắt/toàn bộ bản thảo] dưới đây và cung cấp một bộ nhận xét phản biện mang tính xây dựng. Các nhận xét cần được cấu trúc thành 3 phần:
- Tóm tắt chung: Một đoạn ngắn tóm tắt bài báo, đánh giá điểm mạnh và điểm yếu chính.
- Các vấn đề chính (Major Issues): Những điểm yếu lớn liên quan đến giả thuyết, thiết kế thí nghiệm, phương pháp phân tích, hoặc kết luận. Đây là những điểm có thể ảnh hưởng đến việc chấp nhận bài báo.
- Các vấn đề nhỏ (Minor Issues): Những lỗi nhỏ hơn như lỗi chính tả, câu văn chưa rõ ràng, nhầm lẫn trong ghi chú biểu đồ, hoặc cần bổ sung trích dẫn.
Prompt trong tiếng Anh:
Role: Act as an expert reviewer in the field of [Your specific field, e.g., ‘Cancer Immunology’, ‘Machine Learning for Natural Language Processing’, ‘Development Economics’].
Context: You are reviewing a manuscript submitted to the journal [Name of a reputable journal in your field, e.g., ‘Nature Communications’, ‘Journal of Finance’, ‘ICLR’]. This journal requires papers to have novelty, methodological rigor, and make a significant contribution to the field.
Task: Read the [Abstract/full manuscript] below and provide a set of constructive reviewer comments. The comments should be structured into 3 parts:
- General Summary: A brief paragraph summarizing the paper, assessing its main strengths and weaknesses.
- Major Issues: Significant weaknesses related to the hypothesis, experimental design, analytical methods, or conclusions. These are points that could affect the paper’s acceptance.
- Minor Issues: Smaller errors such as typos, unclear sentences, inaccuracies in figure legends, or the need for additional citations.
Discover more from Science Comics
Subscribe to get the latest posts sent to your email.