Một LLM (Large Language Model) chỉ làm một việc: dự đoán token tiếp theo dựa trên ngữ cảnh. Chấm hết. Mọi thứ bạn thấy — trò chuyện, viết code, lập luận — đều là kỹ thuật xây trên nguyên lý đơn giản này.
Ẩn dụ: Người thư ký thông minh nhất thế giới, nhưng trí nhớ ngắn hạn
Hãy tưởng tượng bạn thuê một trợ lý cực kỳ thông minh. Anh ấy đã đọc gần như mọi thứ từng được viết ra — sách, wiki, tài liệu kỹ thuật, email công khai, mọi thứ. Nhưng có hai giới hạn:- Anh ấy không nhớ gì về bạn trước khi bạn ngồi xuống nói chuyện. Mỗi lần gặp, anh bắt đầu từ số 0.
- Chiếc bàn làm việc chỉ có chỗ cho một số lượng giấy tờ nhất định. Nếu bạn đưa quá nhiều tài liệu, anh sẽ phải bỏ bớt đi.
Vòng đời của một prompt
Khi bạn gõ “Viết email xin lỗi khách hàng”, chuyện gì xảy ra?- Token hóa (tokenization): Câu của bạn được chia thành các mảnh nhỏ gọi là token (token). “Viết” là 1 token, “email” là 1 token, “xin” là 1 token. Một token trung bình là 3/4 một từ tiếng Anh, hoặc khoảng 1 ký tự tiếng Việt.
- Nạp vào model: Toàn bộ token được đưa cho model cùng lúc. Model không “đọc từ trái qua phải” như con người — nó nhìn toàn bộ ngữ cảnh một lần.
- Dự đoán: Model tính xác suất cho từng token có thể là “tiếp theo”. Có thể “Kính” có xác suất 42%, “Chào” có 38%, “Gửi” có 20%.
- Chọn: Model chọn một token (thường là token xác suất cao nhất, đôi khi có yếu tố ngẫu nhiên).
- Lặp lại: Token vừa chọn được cộng vào ngữ cảnh, rồi dự đoán tiếp token tiếp theo. Cứ thế cho đến khi model quyết định “đã xong”.
Cửa sổ ngữ cảnh — Chiếc bàn làm việc
Cửa sổ ngữ cảnh (context window) là lượng token tối đa model có thể “nhìn thấy” cùng một lúc. Với Claude Opus 4.6, con số này là khoảng 1 triệu token — tương đương khoảng 700.000 từ tiếng Anh, hoặc toàn bộ bộ Harry Potter.Nghe thì nhiều. Thực tế thì rất dễ lấp đầy nếu bạn cho Claude đọc cả một codebase lớn.
Vì sao LLM ảo giác
Đây là hiểu lầm lớn nhất về LLM. Nhiều người nghĩ: “AI nói sai vì nó ngu”. Không phải. LLM luôn luôn dự đoán. Nó không có khái niệm “biết” vs “không biết” — chỉ có xác suất cao vs xác suất thấp. Khi bạn hỏi “CEO của công ty ABC tên gì?” và model không có dữ liệu, nó vẫn dự đoán token tiếp theo. Vì mẫu câu “CEO của ABC tên X” là hợp lý về mặt ngữ pháp, model sẽ chọn một cái tên nghe có lý — dù hoàn toàn bịa ra. Đây gọi là ảo giác (hallucination).Garbage in, Garbage out — Luật sắt
Chất lượng đầu ra tỉ lệ với chất lượng đầu vào. Không có ngoại lệ. Hai prompt dưới đây cho cùng một model:- Prompt kém
- Prompt tốt
Tự kiểm tra
Câu 1: LLM “biết” mọi thứ nó đã được huấn luyện?
Câu 1: LLM “biết” mọi thứ nó đã được huấn luyện?
Không. LLM dự đoán dựa trên pattern, không phải ghi nhớ. Nếu một thông tin xuất hiện nhiều lần trong dữ liệu huấn luyện, model có xác suất đoán đúng cao. Nếu ít xuất hiện, model sẽ bịa — tức ảo giác (hallucinate). Đó là vì sao LLM mạnh với kiến thức phổ thông nhưng yếu với chi tiết cụ thể, số liệu cập nhật.
Câu 2: Vì sao cùng một prompt có thể cho ra kết quả khác nhau?
Câu 2: Vì sao cùng một prompt có thể cho ra kết quả khác nhau?
Vì có một yếu tố ngẫu nhiên trong bước chọn token (gọi là “temperature”). Với temperature = 0, model luôn chọn token xác suất cao nhất → kết quả giống nhau. Với temperature > 0, model đôi khi chọn token xác suất thấp hơn → kết quả đa dạng, “sáng tạo” hơn. Claude Code mặc định có temperature nhỏ để đầu ra ổn định.
Câu 3: Cửa sổ ngữ cảnh hết chỗ thì sao?
Câu 3: Cửa sổ ngữ cảnh hết chỗ thì sao?
Claude Code tự động nén (auto-compact): cắt bớt kết quả tool cũ, tóm tắt hội thoại. Quy tắc nền tảng: đặt thông tin bền vững vào file CLAUDE.md (đọc mỗi phiên), không vào trò chuyện. File luôn có thể đọc lại; hội thoại thì không.
Bài tập
Thử prompt không có ngữ cảnh
Gõ: “Viết email xin lỗi khách hàng.”Quan sát: email có chung chung không? Có phù hợp với ngữ cảnh thực tế của bạn không?
Thử prompt có ngữ cảnh đầy đủ
Gõ: “Viết email xin lỗi khách hàng ABC vì đơn hàng bị giao chậm 3 ngày do bão lũ. Giọng điệu: chân thành, không đổ lỗi. Đề xuất: tặng voucher giảm 10% cho đơn sau. Ký tên: CEO Nguyễn Văn B.”Quan sát: khác nhau như thế nào?