Các thông số ẩn sau mỗi câu trả lời của ChatGPT, Claude là: Nhiệt độ (Temperature), Top-P và Số lượng token tối đa (Max Tokens). Bạn cần học cách nắm vững tất cả các thông số này.
Mỗi khi bạn nhấn “gửi” cho ChatGPT, Claude, hoặc bất kỳ Mô hình Ngôn ngữ Lớn (LLM) nào, bảy thông số vô hình sẽ âm thầm định hình phản hồi. Chỉ cần thay đổi một con số, bạn có thể chuyển từ những hiểu biết thiên tài sang những lời nói vô nghĩa.
Hầu hết mọi người không bao giờ chạm vào các cài đặt này. Họ sử dụng cài đặt mặc định và tự hỏi tại sao AI đôi khi lại “ngu ngốc”. Nắm vững 7 thông số này, bạn sẽ nhận được kết quả tốt hơn 99% người dùng.

Đây là những gì thực sự xảy ra khi bạn hỏi AI một câu hỏi:
Bạn nhập:“Viết mô tả sản phẩm”
Điều thực sự xảy ra:
- Văn bản của bạn trở thành mã thông báo (số)
- Mô hình tính toán xác suất cho mọi mã thông báo tiếp theo có thể xảy ra
- Bảy tham số quyết định mã thông báo nào được chọn
- Lặp lại hàng ngàn lần cho đến khi hoàn thành
Bạn không phải đang trò chuyện. Bạn đang cấu hình một thuật toán lấy mẫu.
Thông số 1: Số lượng token tối đa (Max Tokens)
Thông số này giới hạn độ dài phản hồi của AI. Nó xác định số lượng từ hoặc phần từ (token) tối đa mà mô hình có thể tạo ra.
Thời gian tạo phản hồi phụ thuộc vào số lượng token:
- 500 token: 10-25 giây.
- 2.000 token: 40-100 giây.
Các giá trị thực tế cho số lượng token tối đa:
- Đối với trò chuyện (Chat): 300–500 token.
- Đối với mã (Code): 1.000–2.000 token.
- Đối với bài viết (Articles): 2.000–4.000 token.
- Đối với định dạng JSON: 50–200 token.
Mẹo chuyên nghiệp: Luôn đặt thông số này. Mặc định là không giới hạn, tốn tiền.
Cài đặt mặc định không giới hạn sẽ lãng phí tiền bạc. Kiểm soát chi phí:
GPT-4 Turbo:
500 token = 0,015 đô la
4.000 token = 0,12 đô la
→ chênh lệch chi phí gấp 8 lần
Thông số 2: Nhiệt độ (Temperature) – Nút điều khiển sáng tạo
Thông số này điều chỉnh độ ngẫu nhiên của phản hồi. Điều chỉnh logit trước khi lấy mẫu. Nó thay đổi cách mô hình chọn từ tiếp theo bằng cách điều chỉnh xác suất của các từ.
Tác động của Nhiệt độ:
- Nhiệt độ = 0.1 (Xác định):
- “good”: 85% → Luôn chọn từ này.
- “great”: 10%.
- “excellent”: 4%.
Mô hình sẽ chọn từ có xác suất cao nhất một cách nhất quán.
- Nhiệt độ = 1.5 (Sáng tạo):
- “good”: 35%.
- “great”: 30% → Đa dạng hơn nhiều.
- “excellent”: 20%.
- “bad”: 15%.
Mô hình sẽ có xu hướng chọn các từ có xác suất thấp hơn, tạo ra sự đa dạng và bất ngờ.
Khi nào nên sử dụng giá trị nào:
- 0.0–0.3 (Các tác vụ dựa trên sự thật):
- ✅ Tạo mã (Code generation).
- ✅ Trích xuất dữ liệu (Data extraction).
- ✅ Dịch thuật (Translation).
- ✅ Phân loại (Classification).
Các giá trị thấp đảm bảo tính nhất quán và chính xác.
- 0.7–1.0 (Cân bằng):
- ✅ Trò chuyện chung (General conversation).
- ✅ Giải thích (Explanations).
- ✅ Mặc định cho hầu hết các tác vụ.
Đây là phạm vi lý tưởng cho sự cân bằng giữa tính hợp lý và sự đa dạng.
- 1.2–2.0 (Sáng tạo):
- ✅ Viết sáng tạo (Creative writing).
- ✅ Động não (Brainstorming).
- ✅ Sáng tạo câu chuyện (Story generation).
Các giá trị cao hơn khuyến khích sự độc đáo và bất ngờ.
Vùng nguy hiểm: Nhiệt độ > 2.0 thường tạo ra những nội dung vô nghĩa.
Điểm tối ưu: 0.7 cho hầu hết các tác vụ.
Thông số 3: Top-P / Lấy mẫu hạt nhân (Nucleus Sampling) – Bộ lọc chất lượng
Thông số này chỉ lấy mẫu từ các token có tổng xác suất tích lũy lớn hơn hoặc bằng P. Nó loại bỏ “phần đuôi dài” của các từ có xác suất rất thấp.
Cách hoạt động:
- Không có Top-P:
- Mọi token (kể cả những từ vô lý) đều là ứng cử viên.
- Với Top-P = 0.9:Mô hình tính toán xác suất tích lũy của các từ:
- “the”: 25% (tổng: 25%).
- “a”: 20% (tổng: 45%).
- “an”: 15% (tổng: 60%).
- “this”: 10% (tổng: 70%).
- “that”: 8% (tổng: 78%).
- “those”: 7% (tổng: 85%).
- “these”: 5% (tổng: 90%) ← Dừng lại ở đây.
Mô hình chỉ lấy mẫu từ các token hàng đầu này.
Nó bỏ qua phần đuôi vô nghĩa.
Tại sao điều này quan trọng: Nó ngăn chặn sự thoái hóa văn bản thần kinh (lặp lại, nói lan man).
Các giá trị thực tế:
- 1.0 = Không lọc (rủi ro, có thể tạo ra nội dung lạ).
- 0.95 = Lọc nhẹ (sáng tạo, vẫn giữ một chút sự đa dạng).
- 0.9 = Giá trị mặc định được khuyến nghị (cân bằng tốt).
- 0.5 = Lọc mạnh (bảo thủ, tập trung vào các từ có xác suất cao nhất).
Thông tin quan trọng: Anthropic khuyên bạn chỉ nên điều chỉnh một trong hai Nhiệt độ HOẶC Top-P, không phải cả hai (chúng có tác dụng cộng gộp).
Khuyến nghị: Giữ Top-P ở 0.9 và thay đổi Nhiệt độ.
Thông số 4: Top-K (Bộ giới hạn ứng cử viên)
Thông số này chỉ xem xét K token có xác suất cao nhất ở mỗi bước.
Sự khác biệt so với Top-P:
- Top-K = Số lượng token cố định.
- Top-P = Số lượng token thay đổi dựa trên tổng xác suất tích lũy.
Các vấn đề của Top-K:
- Đôi khi K quá nhiều (khi câu trả lời đã rõ ràng).
- Đôi khi K quá ít (khi có nhiều lựa chọn tốt).
Ưu điểm của Top-P: Nó thích ứng với tình huống.
Khuyến nghị hiện đại: Sử dụng Top-P thay vì Top-K.
Hầu hết các API (OpenAI, Anthropic) mặc định sử dụng Top-P và bỏ qua Top-K.
Thông số 5: Hình phạt tần suất (Frequency Penalty) – Kẻ diệt lặp từ
Thông số này giảm xác suất của một token tỷ lệ thuận với số lần token đó đã xuất hiện.
Công thức:
modified_logit = original_logit - (frequency_penalty × token_count)
Vấn đề nó giải quyết:
- Không có hình phạt tần suất:“The best product is the best choice. The best quality ensures the best results…”(Sản phẩm tốt nhất là lựa chọn tốt nhất. Chất lượng tốt nhất đảm bảo kết quả tốt nhất…)
- Với hình phạt tần suất = 0.8:“The best product offers superior quality. Its innovative design ensures excellent results…”(Sản phẩm tốt nhất mang lại chất lượng vượt trội. Thiết kế đổi mới của nó đảm bảo kết quả tuyệt vời…)
Khi nào nên sử dụng:
- Tạo nội dung dài (bài viết, câu chuyện).
- Viết sáng tạo.
- Tạo danh sách.
- Bất cứ khi nào bạn thấy sự lặp lại.
Khi nào KHÔNG nên sử dụng:
- Viết kỹ thuật (các thuật ngữ nên được lặp lại).
- Tạo mã.
- Đầu ra có cấu trúc (JSON/XML).
Các giá trị thực tế:
- 0.0 = Mặc định (không có hình phạt).
- 0.3–0.7 = Đa dạng nhẹ.
- 0.8–1.5 = Đa dạng mạnh.
Mặc định được khuyến nghị: 0.0 (chỉ tăng nếu cần).
Thông số 6: Hình phạt hiện diện (Presence Penalty) – Trình điều khiển sự mới lạ
Thông số này phạt các token đã xuất hiện ít nhất một lần (nhị phân, không tỷ lệ).
Sự khác biệt chính so với hình phạt tần suất:
- Hình phạt tần suất = Phạt dựa trên số lần xuất hiện.
- Hình phạt hiện diện = Nhị phân (đã sử dụng = bị phạt như nhau).
Tác động:
- Với hình phạt hiện diện = 1.0:
- Các từ đã sử dụng: “cat”, “sat”, “mat”.
- Tất cả đều nhận hình phạt -1.0.
- Mô hình sẽ ưu tiên mạnh mẽ các từ MỚI.
So sánh Hình phạt tần suất và Hình phạt hiện diện:
- Hình phạt tần suất = 0.8:“This durable phone features excellent battery. The display provides clarity. Camera captures photos.”(Điện thoại bền bỉ này có pin tuyệt vời. Màn hình mang lại sự rõ nét. Camera chụp ảnh.)→ Thay đổi TỪ ngữ, vẫn giữ ĐÚNG CHỦ ĐỀ.
- Hình phạt hiện diện = 0.8:“This durable phone features battery life. The company makes laptops. Headquarters in California…”(Điện thoại bền bỉ này có thời lượng pin. Công ty sản xuất máy tính xách tay. Trụ sở chính ở California…)→ Giới thiệu CÁC CHỦ ĐỀ MỚI (chệch hướng).
Khi nào nên sử dụng:
- Động não.
- Viết khám phá.
- Tránh “bị mắc kẹt” trong một chủ đề.
Khi nào KHÔNG nên sử dụng:
- Giải thích tập trung.
- Khi tính nhất quán là quan trọng.
- Nội dung kỹ thuật.
Các giá trị thực tế:
- 0.0 = Mặc định.
- 0.3–0.7 = Mới lạ nhẹ.
- 0.8–1.5 = Mới lạ mạnh.
Thông số 7: Chuỗi dừng (Stop Sequences) – Phanh khẩn cấp
Thông số này buộc mô hình dừng lại khi các chuỗi ký tự cụ thể xuất hiện.
Văn bản dừng KHÔNG được bao gồm trong đầu ra.
Ví dụ:
prompt = "List 3 benefits:\n1."stop_sequences = ["\n4.", "\n\n"]
Đầu ra:
“1. Cải thiện sức khỏe
2. Tăng cường năng lượng
3. Tăng cường sự tập trung”
Tại sao điều này rất quan trọng:
- Tạo JSON:
stop_sequences = ["}"]- → Dừng chính xác sau dấu ngoặc nhọn đóng.
- Ranh giới phần:
stop_sequences = ["###", "\n\nReviews:"]- → Ngăn chặn các phần không mong muốn.
Mẹo thiết kế:
- Sử dụng các dấu phân cách rõ ràng:
"<|END|>","\n---\n". - Sử dụng nhiều chuỗi để tăng tính mạnh mẽ.
- Kết hợp với
max_tokens(để đảm bảo an toàn kép).
Các chuỗi dừng phổ biến:
- JSON:
"}","]". - Mã:
"```". - Danh sách:
"\n\n". - Các phần:
"###","---". - Trò chuyện:
"User:","Human:".
Cách các thông số tương tác (Phần quan trọng)
Hầu hết các hướng dẫn bỏ qua điều này: Các thông số có tác dụng cộng gộp.
Tương tác 1: Nhiệt độ × Top-P
- Nhiệt độ = 1.5 (làm phẳng phân phối xác suất).
- Top-P = 0.95 (giữ 95% tổng xác suất).
- Tác động: Sáng tạo có kiểm soát.
- Nhiệt độ làm phân tán xác suất → Top-P cắt bớt phần đuôi.
Quy tắc: Nhiệt độ cao + Top-P thấp = Sáng tạo có kiểm soát.
Tương tác 2: Các hình phạt × Nhiệt độ
- Nhiệt độ = 0.7.
- Hình phạt tần suất = 1.0.
- Tác động:
- Nhiệt độ thiết lập phân phối ban đầu.
- Các hình phạt sửa đổi logit (điểm số của token).
- Phân phối dịch chuyển ra khỏi các token đã sử dụng.
→ Vốn từ vựng ngày càng mới lạ.
Nguy hiểm: Nhiệt độ cao + Hình phạt cao = trôi dạt vào những lời vô nghĩa.
Tương tác 3: Cả hai hình phạt cùng nhau
- Hình phạt tần suất = 0.5.
- Hình phạt hiện diện = 0.3.
- → Đa dạng mà không hỗn loạn.
So với:
- Tần suất = 1.5.
- Hiện diện = 1.5.
- → Thường không mạch lạc.
Quy tắc: Nếu sử dụng cả hai, hãy giữ tổng cộng dưới 2.0.
Các kịch bản thực tế: Nên sử dụng cài đặt nào khi nào
Chatbot hỗ trợ khách hàng
Yêu cầu: Chính xác, nhất quán, nhanh chóng.
{
"max_tokens": 300,
"temperature": 0.3,
"top_p": 0.9,
"frequency_penalty": 0.2,
"presence_penalty": 0.0,
"stop": ["\n\nUser:"]
}Lý do: Nhiệt độ thấp = chính xác, hình phạt tần suất nhẹ = ngôn ngữ tự nhiên.
Viết truyện sáng tạo
Yêu cầu: Giàu trí tưởng tượng, đa dạng, hấp dẫn.
{
"max_tokens": 3000,
"temperature": 1.2,
"top_p": 0.95,
"frequency_penalty": 0.7,
"presence_penalty": 0.4,
"stop": ["### THE END"]
}Lý do: Nhiệt độ cao = sáng tạo, các hình phạt = đa dạng.
Tạo mã
Yêu cầu: Cú pháp đúng, chức năng hoàn chỉnh.
{
"max_tokens": 1500,
"temperature": 0.2,
"top_p": 0.9,
"frequency_penalty": 0.0,
"presence_penalty": 0.0,
"stop": ["```", "\n\n#"]
}Lý do: Nhiệt độ rất thấp = chính xác, không có hình phạt = các thuật ngữ lặp lại đúng cách.
Trích xuất dữ liệu (JSON)
Yêu cầu: Định dạng nghiêm ngặt, xác định.
{
"max_tokens": 200,
"temperature": 0.0,
"top_p": 1.0,
"frequency_penalty": 0.0,
"presence_penalty": 0.0,
"stop": ["}"]
}Lý do: Nhiệt độ 0 = giống hệt nhau mỗi lần, dừng ở dấu ngoặc nhọn đóng.
Bảng tổng hợp bạn sẽ thực sự sử dụng
Hướng dẫn quyết định nhanh
Loại tác vụ:
- Thực tế/Kỹ thuật → temp: 0.0–0.3, penalties: 0.0.
- Trò chuyện chung → temp: 0.7–0.9, freq: 0.2–0.4.
- Sáng tạo → temp: 1.2–1.5, freq: 0.6–0.8, presence: 0.4–1.0.
Độ dài đầu ra:
- Ngắn (trò chuyện) → 200–500 token.
- Trung bình (mô tả) → 500–1.000 token.
- Dài (bài viết) → 1.000–4.000 token.
Định dạng có quan trọng không?
- Có (JSON) → temp: 0.0, stop: các dấu phân cách định dạng.
- Không (văn bản tự nhiên) → stop: các dấu phân cách phần.
Vấn đề lặp lại?
- Có → frequency_penalty: 0.5–0.8.
- Không → frequency_penalty: 0.0.
Các giá trị mặc định “Bắt đầu từ đây”
{
"max_tokens": 500,
"temperature": 0.7,
"top_p": 0.9,
"frequency_penalty": 0.0,
"presence_penalty": 0.0,
"stop": []
}Sau đó, điều chỉnh MỘT thông số tại một thời điểm.
Các quy tắc vàng
- Luôn đặt
max_tokens(kiểm soát chi phí & độ dài). - Nhiệt độ là nút điều khiển chính của bạn (0–0.3 cho thực tế, 0.7–1.0 cho cân bằng, 1.2+ cho sáng tạo).
- Giữ Top-P ở 0.9 trừ khi có lý do cụ thể.
- Bắt đầu các hình phạt ở 0.0 (chỉ tăng khi thấy vấn đề).
- Xác định chuỗi dừng cho đầu ra có cấu trúc.
- Điều chỉnh MỘT thông số tại một thời điểm (kiểm tra, đo lường, lặp lại).
- Các tác vụ khác nhau cần cấu hình khác nhau (mã ≠ sáng tạo ≠ trò chuyện).
Những sai lầm phổ biến cần tránh
Sai lầm 1: Đặt mọi thứ cao
# ĐỪNG LÀM ĐIỀU NÀY
{"temperature": 1.8, "top_p": 1.0,
"frequency_penalty": 1.5, "presence_penalty": 1.5}→ Nội dung vô nghĩa, không mạch lạc.
Sai lầm 2: Bỏ qua max_tokens
# ĐỪNG LÀM ĐIỀU NÀY
{"max_tokens": None}→ Chi phí không thể đoán trước, phản hồi chậm.
Sai lầm 3: Áp dụng hình phạt cho nội dung kỹ thuật
# ĐỪNG LÀM ĐIỀU NÀY cho mã
{"frequency_penalty": 0.8}→ Tên biến thay đổi giữa chừng mã.
Sai lầm 4: Không có chuỗi dừng
# ĐỪNG LÀM ĐIỀU NÀY cho JSON
{"stop": []}→ Tiếp tục vượt quá dấu ngoặc nhọn đóng.
Điểm mấu chốt
Bạn không chỉ “sử dụng AI”. Bạn đang lập trình một hệ thống lấy mẫu xác suất.
7 thông số này là giao diện lập trình của bạn:
- Max Tokens = Giới hạn độ dài.
- Temperature = Nút điều khiển sáng tạo.
- Top-P = Bộ lọc chất lượng.
- Top-K = Bộ giới hạn ứng cử viên (nên sử dụng Top-P thay thế).
- Frequency Penalty = Kẻ diệt lặp từ.
- Presence Penalty = Trình điều khiển sự mới lạ.
- Stop Sequences = Phanh khẩn cấp.
Nắm vững những điều này, bạn sẽ nhận được kết quả tốt hơn gấp 10 lần so với những người dùng không biết.
Bài học tổng quát: Cùng một lời nhắc (prompt) + các thông số khác nhau = kết quả hoàn toàn khác nhau.
Bây giờ bạn đã biết bảng điều khiển. Đã đến lúc thử nghiệm.
Các bước tiếp theo của bạn
Người mới bắt đầu?
- Bắt đầu với các giá trị mặc định được đề xuất ở trên.
- Thử nghiệm với Nhiệt độ trước tiên.
- Thực hành trên các tác vụ khác nhau.
Người dùng trung cấp?
- Kiểm tra A/B trên các trường hợp sử dụng thực tế của bạn.
- Đo lường tác động của từng thông số.
- Xây dựng cấu hình cụ thể cho từng tác vụ.
Người dùng nâng cao?
- Lựa chọn thông số động.
- Theo dõi các chỉ số và lặp lại.
- Chia sẻ những gì bạn học được.
Thẻ tham khảo nhanh
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
THAM KHẢO NHANH THÔNG SỐ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MAX TOKENS
├─ Trò chuyện: 300-500
├─ Mã: 1000-2000
└─ Bài viết: 2000-4000
TEMPERATURE
├─ Thực tế: 0.0-0.3
├─ Cân bằng: 0.7-0.9
└─ Sáng tạo: 1.2-1.5
TOP-P (Mặc định: 0.9)
├─ Bảo thủ: 0.5-0.7
└─ Khám phá: 0.95-1.0
FREQUENCY PENALTY (Mặc định: 0.0)
└─ Nếu lặp lại: 0.3-0.8
PRESENCE PENALTY (Mặc định: 0.0)
└─ Nếu bị mắc kẹt chủ đề: 0.3-1.0
STOP SEQUENCES
├─ JSON: "}", "]"
├─ Mã: "```"
└─ Tùy chỉnh: "<|END|>", "###"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CÁC QUY TẮC VÀNG
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Luôn đặt max_tokens
2. Điều chỉnh temp HOẶC top_p (không phải cả hai)
3. Bắt đầu các hình phạt ở 0.0
4. Thay đổi một thông số tại một thời điểm
5. Kiểm tra, đo lường, lặp lại
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Hầu hết các hướng dẫn về AI chỉ dạy bạn về lời nhắc (prompts).
Hướng dẫn này đã dạy bạn về bảng điều khiển.
Lời nhắc là các hướng dẫn. Các thông số là môi trường thực thi.
Cùng một lời nhắc + các thông số khác nhau = kết quả hoàn toàn khác nhau.
Bây giờ hãy đi cấu hình một số phân phối xác suất. 🎛️
Bạn thấy điều này hữu ích chứ? Hãy chia sẻ nó với những người đang thất vọng với đầu ra của AI.
Tham khảo: medium.com

Bài viết liên quan: