AI Foundations
LLM Architecture, Tokens, Embeddings, Context Windows, Model Selection, Prompt Design — nền tảng bắt buộc trước khi build gì cũng vậy.
Không cần hiểu toán đằng sau Transformer để làm AI Engineer giỏi, nhưng bắt buộc phải hiểu đúng "mental model" về cách LLM hoạt động — vì phần lớn bug kỳ lạ trong ứng dụng AI (trả lời sai, tốn tiền bất thường, bị cắt giữa chừng) đều xuất phát từ hiểu sai token, context window, hoặc cách model "suy nghĩ".
🎯 Mục tiêu học tập
- Giải thích được kiến trúc Transformer ở mức khái niệm (attention, autoregressive generation)
- Hiểu tokenization ảnh hưởng thế nào đến chi phí, độ dài input/output, và các ngôn ngữ khác tiếng Anh
- Hiểu embedding là gì, khác gì với token, và vì sao nó là nền tảng của RAG/semantic search
- Biết cách chọn model phù hợp theo bài toán (chi phí/độ trễ/độ chính xác) thay vì luôn dùng model mạnh nhất
- Viết được prompt có cấu trúc, kiểm soát được output thay vì "cầu may"
LLM hoạt động thế nào (mức đủ dùng)
LLM hiện đại (GPT, Claude, Gemini, Llama, DeepSeek...) đều dựa trên kiến trúc Transformer với cơ chế self-attention: mỗi token "nhìn" vào tất cả token trước nó để quyết định token tiếp theo có xác suất cao nhất. Model sinh văn bản tuần tự, từng token một (autoregressive) — đây là lý do vì sao streaming hoạt động được (mỗi token sinh ra có thể gửi ngay), và vì sao model "không thể quay lại sửa" những gì đã sinh ra trước đó trong cùng một lượt.
Các model 2026 phần lớn là reasoning models hoặc có "reasoning mode" (chuỗi suy luận nội bộ trước khi trả lời) — GPT-5/o-series, Claude với extended thinking, Gemini 2.5/3 với thinking budget. Hiểu sự đánh đổi: reasoning mode cho kết quả chính xác hơn với bài toán phức tạp (code, toán, agent nhiều bước) nhưng tốn thời gian và token hơn — không nên bật mặc định cho mọi tác vụ đơn giản.
Token — đơn vị tính tiền và tính giới hạn
Model không đọc "chữ", nó đọc token — các mảnh sub-word do tokenizer (BPE hoặc biến thể) sinh ra. 1 token tiếng Anh ≈ 4 ký tự; tiếng Việt (và các ngôn ngữ non-Latin khác) thường tốn nhiều token hơn cho cùng một nội dung vì tokenizer được huấn luyện chủ yếu trên dữ liệu tiếng Anh — điều này ảnh hưởng trực tiếp đến chi phí khi build sản phẩm cho người dùng Việt Nam.
Đếm "số ký tự" để ước lượng
có vừa context window không. Luôn dùng tokenizer thật (tiktoken cho OpenAI, token counter API
của Anthropic/Google) để đếm chính xác, đặc biệt với nội dung tiếng Việt.
Embeddings — nền tảng của tìm kiếm ngữ nghĩa
Embedding là một vector số thực (thường 256–3072 chiều) biểu diễn ý nghĩa của một đoạn văn bản. Hai đoạn văn bản có ý nghĩa gần nhau sẽ có vector gần nhau trong không gian (đo bằng cosine similarity). Đây là khác biệt cốt lõi so với tìm kiếm từ khoá (full-text search): embedding tìm được "vé hoàn tiền" khi người dùng gõ "đổi trả tiền" dù không trùng từ nào.
Lưu ý quan trọng: embedding model và generation model là hai model độc lập, có thể khác nhà cung cấp (ví dụ dùng embedding của OpenAI/Voyage/Cohere nhưng generation bằng Claude). Không bao giờ trộn vector từ hai embedding model khác nhau trong cùng một chỉ mục.
Context Window — không phải cứ to là tốt
Context window 2026 phổ biến ở mức 200K–2M token, nhưng nghiên cứu "lost in the middle" cho thấy model vẫn nhớ tốt nhất thông tin ở đầu và cuối context, dễ bỏ sót thông tin ở giữa khi context rất dài. Với RAG, điều này nghĩa là: nhét toàn bộ 50 tài liệu vào context window lớn không tốt bằng retrieval + rerank để chỉ đưa 5-8 đoạn liên quan nhất lên đầu.
Model Selection — chọn đúng công cụ cho đúng việc
| Nhu cầu | Loại model nên chọn | Vì sao |
|---|---|---|
| Chat đơn giản, phân loại, trích xuất | Model nhỏ/nhanh (mini/flash/haiku tier) | Chi phí thấp, độ trễ thấp, đủ chính xác |
| Viết code, agent nhiều bước, reasoning phức tạp | Model flagship (Opus/GPT-5/Gemini Pro tier) | Cần suy luận sâu, ít lỗi logic |
| Xử lý khối lượng lớn, batch offline | Model nhỏ + Batch API | Batch API rẻ hơn 50% so với real-time |
| Dữ liệu nhạy cảm, cần self-host | Open-weight model (Llama, Qwen, DeepSeek...) tự triển khai | Kiểm soát dữ liệu, không gửi ra ngoài |
Chiến lược phổ biến nhất 2026 là model routing: dùng model rẻ/nhanh làm việc phân loại "câu hỏi này khó hay dễ", chỉ đẩy sang model đắt tiền khi thực sự cần — tiết kiệm 60-80% chi phí trong nhiều hệ thống thực tế.
Prompt Design có hệ thống
Prompt Engineering đơn thuần (mẹo vặt "thêm câu thần chú") không còn là kỹ năng cốt lõi (xem Module 16), nhưng thiết kế prompt có cấu trúc vẫn là kỹ năng bắt buộc:
- System prompt rõ vai trò, ràng buộc, format đầu ra — tách biệt với user input
- Few-shot examples khi cần định dạng đầu ra nhất quán
- Structured output (JSON Schema) thay vì parse text tự do — xem Module 5
- Đặt câu hỏi/nhiệm vụ trước, dữ liệu tham khảo dài sau trong context để tận dụng hiệu ứng "recency" của model
🏋️ Bài tập thực hành
Viết script gọi 3 model ở 3 tier khác nhau (nhỏ/vừa/lớn) cùng một tập 10 câu hỏi đa dạng độ khó. Đo thời gian phản hồi, chi phí ước tính (theo bảng giá nhà cung cấp), và tự chấm điểm chất lượng 1-5. Rút ra ngưỡng: loại câu hỏi nào model nhỏ đã đủ dùng.
📚 Tài nguyên học tập
-
Anthropic — Claude Docs: Models overviewTổng quan các model Claude và cách chọnDocs
-
OpenAI Platform — DocsTài liệu API, model, pricingDocs
-
Google AI — Gemini API DocsTài liệu Gemini APIDocs
-
Anthropic — Prompt Engineering GuideHướng dẫn thiết kế prompt có hệ thốngGuide
✅ Tự đánh giá hoàn thành
- Giải thích được sự khác nhau giữa token, embedding, và context window cho người khác nghe hiểu
- Biết cách đếm token chính xác bằng tokenizer thật (không đếm ký tự)
- Xây được ma trận chọn model theo bài toán (chi phí/độ trễ/độ chính xác)
- Viết được system prompt có cấu trúc rõ ràng cho một use case cụ thể