📖 Bản tiếng Anh (English Edition)
← Chương trước: Bộ Prompt Standard tối thiểu cho team triển khai ngay (2026) | Mục lục Series | Chương tiếp theo: Phần 7 — Declarative Prompting với DSPy (2026) →
Answer-first: Context Engineering là kỹ thuật lắp ráp có hệ thống các nguồn thông tin động vào context window thay vì chỉ chỉnh sửa câu chữ tĩnh. Ba trụ cột cốt lõi gồm RAG lai phân đoạn, nạp công cụ động qua giao thức MCP và nén ngữ cảnh có kiểm soát, giải quyết triệt để suy giảm chú ý. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
Bước chuyển lớn nhất 2026: Context quan trọng hơn câu chữ
Answer-first: Nếu bạn vẫn đang “chọn từ ngữ cẩn thận và hy vọng model hiểu ý”, bạn đang tối ưu ~100 token chỉ dẫn trong khi bỏ mặc ~100.000 token context quanh nó — bằng chứng đo được cho thấy chất lượng nằm ở phần còn lại. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
Nếu bạn vẫn đang viết prompt bằng cách chọn từ ngữ cẩn thận và hy vọng model “hiểu ý,” bạn đang vận hành trên tư duy 2024.
Năm 2026, ngành đã thống nhất: chất lượng context bạn đưa vào quan trọng hơn nhiều so với cách diễn đạt câu lệnh. Anthropic định nghĩa chính thức: context engineering là “tập chiến lược tuyển chọn và duy trì tập token tối ưu trong quá trình suy luận của LLM” — vấn đề không phải viết hay hơn mà là curate tốt hơn.
Năm bằng chứng kết thúc tranh luận:
- Context rot: 18 model SOTA (GPT-4.1, Claude 4, Gemini 2.5, Qwen3 — Chroma 7/2025) suy giảm đáng tin cậy theo độ dài input, kể cả task lặp lại một từ lặp 10.000 lần.
- U-shape attention: dữ liệu ở đầu và cuối context nhớ tốt hơn ở giữa — “even for explicitly long-context models” (Lost in the Middle, TACL 2023).
- Distractor amplification: chỉ 1 distractor đã giảm hiệu suất; 4 distractor cộng dồn và tăng theo độ dài input.
- Focused beats full: prompt tập trung ~300 token thắng prompt đầy ~113k token trên mọi model trong 18 model được đo (LongMemEval).
- Structure beats coherence: model làm bài tốt hơn trên haystack xáo trộn hơn có trật tự — cách chunk và delimiter quan trọng hơn mạch văn.
Mỗi phát hiện map về một control của context engineering: budget (rot), thứ tự (U-shape), lọc (distractor), retrieval (focused), chunking (structure).
Context Engineering là gì?
Answer-first: Context Engineering là kỹ năng thiết kế hệ thống lắp ráp đúng thông tin vào context window của model, đúng lúc — hệ thống, không phải câu chữ. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
Thay vì:
"Bạn là chuyên gia tài chính. Phân tích báo cáo Q1."
hệ thống context engineering làm thế này:
[System Prompt: role, rules, output contract]
[Dữ liệu Q1 truy xuất động từ ERP API]
[So sánh quý trước từ data warehouse]
[Câu hỏi user: "Rủi ro chính trong Q1 là gì?"] ← luôn cuối
Mỗi dấu ngoặc là một subsystem: prompt chuẩn (Part 2 của series này), retrieval, tool injection, và assembly — chứ không phải một chuỗi text dài hơn.
Đây là lý do chương này đứng sau chương kit: 8 khối của bạn không bị thay thế — nó là prefix ổn định mà mọi thứ khác lắp xung quanh.
Ba trụ cột của Context Engineering
Answer-first: RAG truy xuất đúng phần liên quan lúc query; MCP chuẩn hoá kết nối tool như “USB-C cho AI”; dynamic assembly quyết định thứ tự + ngân sách + pruning — ba trụ cột, mỗi cái giải một phía của “đúng thông tin, đúng lúc”. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
1. RAG (Retrieval-Augmented Generation)
RAG là cơ chế chính mà hệ thống production “prompt” model trong năm 2026. Thay vì nhồi kiến thức vào prompt, bạn lưu tài liệu trong vector database và chỉ truy xuất phần liên quan tại thời điểm query.
Vì sao cửa sổ 1M token không giết RAG: context rot cho thấy cửa sổ lớn giảm chi phí nạp dữ liệu nhưng không giải bài toán curation — 18 model vẫn sai theo độ dài, focused vẫn thắng full. RAG đánh cả hai pha: chất lượng (chỉ context liên quan) và chi phí (ít token input hơn).
Pipeline chuẩn 4 tầng của series: sparse+dense recall → cross-encoder rerank → AST-aware chunk selection → assembly vào Context block. Kiến trúc RAG doanh nghiệp đầy đủ nằm ở Series: Enterprise AI Data Pipeline & GraphRAG Architecture.
Và lưu ý bề mặt tấn công: tài liệu truy xuất là vector tiêm lệnh gián tiếp — RAG không có sanitization kế thừa đúng bề mặt tấn công OWASP LLM01. Corpus của bạn cần provenance: ai được ghi vào index, sanitization nào chạy lúc ingestion.
2. MCP (Model Context Protocol)
MCP là giao thức mở (Anthropic khởi xướng) chuẩn hoá cách agent kết nối với tool, database và hệ thống doanh nghiệp — USB-C cho AI agent: một giao thức, mọi công cụ. Hướng dẫn xây dựng đầy đủ tại Series: MCP Engineering In Production.
Ba con số đáng nhớ từ hệ sinh thái tool:
- Tool schema chiếm ngân sách thật — thiết kế chuẩn xếp ~15% cửa sổ cho schemas, và schema phải lọc theo intent để không trả tiền cho tool không dùng
- Response có enum format: 206 token (detailed) vs 72 token (concise) — “~⅓ of the tokens” mỗi call; Claude Code cap 25.000 token mặc định cho tool response
- Ít tool semantic hơn nhiều tool wrap API: thay
list_users+list_events+create_eventbằng mộtschedule_event— “too many tools distract agents”
Từ phía bảo mật, MCP là giao thức có security model thực: confused-deputy qua static client IDs, cấm token passthrough, SSRF qua OAuth discovery trỏ vào internal IP, session hijacking qua shared queue — mỗi vector có mitigation ở mức spec. Tool Policy block của prompt chuẩn là bản mirror phía prompt của allowlist này: một policy, hai tầng thực thi.
3. Dynamic Context Assembly
Hệ thống quyết định inject gì dựa trên bốn biến runtime: query hiện tại, trạng thái agent, tool đã gọi, working memory. Assembly là compiler làm hai trụ cột còn lại trở nên rẻ: RAG cung cấp ứng viên, MCP cung cấp schema, budget cắt cả hai đúng phần query xứng đáng.
Kỷ luật ngân sách token hoạt động như phân bổ RAM của OS — một thiết kế tham khảo cho cửa sổ 128k:
+----------------------------------------------------------------------+
| Identity & Policy (static, cache) | Tools (schema, on-demand) |
| 5% + 10% ≈ 19.2k tokens | 15% ≈ 19.2k tokens |
+------------------------------------+---------------------------------+
| RAG retrieval (reranked) | History (compacted) | Query |
| 40% ≈ 51.2k | 20% ≈ 25.6k | 10% |
+------------------------------------+---------------------+----------+
(Phần trăm là thiết kế tham khảo của series, không phải số vendor — điều chỉnh theo workload của bạn.)
Và dòng chảy lắp ráp vận hành như sau:
graph LR
R["RAG retrieval<br/>(reranked, provenance-tagged)"] --> B["Token Budget<br/>& Pruning"]
M["MCP tool schemas<br/>(intent-filtered)"] --> B
H["Working memory<br/>(compacted history)"] --> B
Q["Query hiện tại<br/>(volatile)"] --> B
B --> P["Prefix ổn định<br/>(identity + policy + tools)"]
P --> C[("KV cache<br/>read 0.1× / write 1.25×")]
P --> T["Context stream<br/>đi tới model"]
style C fill:#e8f8e8,stroke:#2a7da0
style T fill:#e8f4f8,stroke:#2a7da0
Điểm nhấn cache: đặt cache_control tại seam cuối của phần ổn định; mọi thứ thay đổi từng request (timestamp, user input) bắt buộc nằm sau seam. Đặt breakpoint trên block hay đổi là trả tiền write 1.25× mỗi call mà không bao giờ hit — anti-pattern được ghi chép chính thức trong docs của Anthropic.
So sánh cách làm cũ và mới
Answer-first: Bốn chiều dịch chuyển: mục tiêu (prompt hoàn hảo → hệ thống context đáng tin), nguồn context (hardcode → truy xuất động), output (tự do → schema), bảo trì (sửa tùy hứng → version + monitor) — và metrics đi theo từ “trông ổn” sang cache hit rate, token spend, retrieval precision. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
Hai pipeline cạnh nhau cho thấy sự chuyển dịch là thay đổi kiến trúc, không phải thay đổi văn phong:
graph TD
subgraph Old ["2024 — Prompt-centric"]
A["Files / Docs thô"] --> B["Copy hết vào prompt"]
C["Chat history đầy đủ"] --> B
B --> D["LLM call<br/>(re-tokenize toàn bộ mỗi lượt)"]
end
subgraph New ["2026 — Context-engine-centric"]
E["Intent classifier"] --> F["Chọn tool schema theo intent"]
G["RAG hybrid<br/>(sparse+dense → rerank)"] --> H["Token budget & pruning"]
F --> H
I["Memory compaction<br/>(tóm lược, trượt cửa sổ)"] --> H
J["Prefix ổn định<br/>(identity + policy)"] --> K[("KV cache<br/>read 0.1×")]
K --> H
H --> L["LLM call<br/>(chỉ phần volatile tokenize mới)"]
end
Old -. "chuyển dịch" .-> New
style D fill:#f8e8e8,stroke:#a02a2a
style L fill:#e8f8e8,stroke:#2a7da0
| Chiều | Cách cũ (2024) | Cách mới (2026) |
|---|---|---|
| Mục tiêu chính | “Viết prompt hoàn hảo” | “Xây hệ thống context đáng tin” |
| Nguồn context | Hardcode trong prompt | Truy xuất động (RAG/MCP) |
| Output | Tự do / hội thoại | Tuân theo schema |
| Bảo trì | Sửa tùy hứng | Version-controlled và monitor |
| Metrics | Chủ quan (“mượt hơn”) | Cache hit rate, token/task, retrieval precision |
| Bảo mật | Cầu kỳ trong văn bản | Delimiter + dual-LLM + fail-closed |
Và danh sách kiểm tra của người thực hành đổi theo: 2024 hỏi “câu này nghe có thuyết phục không?”; 2026 hỏi “cái gì được truy xuất, cái gì bị cắt, theo thứ tự nào, ngân sách bao nhiêu, nguồn gốc đâu”.
Nếu bạn làm kế toán, hãy hiểu context engineering theo cách này
Answer-first: Bạn đã chạy context engineering mỗi kỳ đối soát: rút đúng hồ sơ của đúng kỳ (RAG), dùng đúng biểu mẫu chuẩn liên phòng ban (MCP), giữ bàn làm việc chỉ có tài liệu của việc đang làm (assembly) — discipline chưa có tên, giờ có. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
- RAG = rút hồ sơ: không ai vác cả két sổ lưu trữ 10 năm lên bàn; chỉ rút hồ sơ của kỳ đang đối soát.
- MCP = biểu mẫu liên phòng ban: không ai chép lại sổ cái vào email rồi hỏi kế toán trưởng; người ta tham chiếu mã tài khoản. MCP là hệ thống mã tham chiếu cho AI.
- Assembly = bàn làm việc có tổ chức: đúng tài liệu, đúng lúc, đúng lượng — quản lý vốn lưu động cho token.
- Provenance = chứng từ: tài chính đòi mỗi con số truy được về chứng từ; context engineering đòi mỗi token truy được về nguồn (provenance tags). Không truy được = fail audit ở cả hai thế giới.
- Budget = materiality: không phải con số nào cũng vào báo cáo, chỉ con số trọng yếu — cửa sổ 128k buộc cùng một bài phân loại.
Câu dịch một dòng cho toàn bộ sự chuyển dịch: cải thiện chất lượng câu trả lời AI = cải thiện hồ sơ mà nó nhận được, không phải cầu kỳ hơn trong cách hỏi.
Production failure: “model đột nhiên ngu” sau ba tháng chạy ổn
Answer-first: Mode thất bại kinh điển của hệ context: prompt không đổi nhưng output xấu dần — vì corpus RAG mở rộng (distractor tăng), tài liệu nhúng cũ hơn schema, và prompt không có ai cache-align. Không đo là không biết: mọi triệu chứng này đều thấy được qua usage fields và retrieval precision. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
Scenario: chatbot nội bộ chạy ngon 3 tháng. Rồi output bắt đầu nhại tài liệu lỗi thời, bỏ sót hồ sơ mới, và hóa đơn token tăng 40%. Prompt không đổi — nhưng ba thứ khác đã đổi: corpus tăng từ 500 lên 5.000 tài liệu (distractor amplification bắn đúng điểm yếu), index stale so với hệ nguồn, và mọi turn vẫn tokenize lại toàn bộ vì prefix hay đổi (timestamp chèn nhầm vào system).
Chẩn đoán theo ba câu hỏi:
- Retrieval precision có gãy không? — chạy lại eval trên corpus mới; reranker cần tune lại theo độ tương đồng của dữ liệu mới
- Dữ liệu có truy được nguồn không? — provenance tag cho thấy hồ sơ cũ hơn bao nhiêu so với bản gốc
- Cache có hit không? —
cache_read_input_tokens= 0 lặp lại nghĩa là prefix đang bị invalidate mỗi call
Bài học: hệ context cần eval và giám sát như code cần test — corpus, index, và cache hit đều là bề mặt thay đổi, prompt chỉ là một trong bốn biến.
Ý chính cần nhớ
Answer-first: Cách nhanh nhất để cải thiện chất lượng agent thường không phải viết lại prompt — mà là cải thiện chất lượng và sự liên quan của context được inject; 8 khối của bạn là prefix ổn định, ba trụ cột là hệ thống quanh nó. Điều kiện tiên quyết: Hiểu rõ giới hạn context window, hiện tượng Lost in the Middle, và nguyên lý hoạt động của vector embeddings.
Cách nhanh nhất để cải thiện chất lượng agent thường không phải viết lại prompt. Mà là cải thiện chất lượng và sự liên quan của context được inject vào.
Ba đòn bẩy chi phí xếp theo cường độ (tất cả assembly-time, không cái nào wording-time): căn chỉnh cache (prefix ổn định đọc 0.1× thay vì 1.0×), cap response tool (206→72 token), pruning retrieval. Ba đòn bẩy chất lượng: đặt query cuối (+30%), grounding bằng quote trước khi trả lời, sub-agent cách ly cho task dài.
Chương này là cổng sang Track 2: ba trụ cột sẽ được đào sâu trong các bản tiếng Anh — hybrid RAG, MCP engineering, budget và cache mechanics — với code production.
Chương tiếp theo: Phần 7 — Declarative Prompting với DSPy — khi việc “chọn từ ngữ” được giao cho compiler.
🔗 Đọc thêm các chuyên đề liên quan:
- Nhìn nhanh về Prompt Standard: Ghi Chú & Kiến Trúc Hệ Thống (2026)
- Series: Enterprise AI Data Pipeline & GraphRAG Architecture — RAG doanh nghiệp đầy đủ
- Series: MCP Engineering In Production — MCP chuẩn doanh nghiệp
- Phần 3 — Tách Role, Rules, Workflow và Skill (2026)
- Bản deep-dive tiếng Anh: The Death of Prompt Engineering
❓ Câu Hỏi Thường Gặp (FAQ)
Model 2026 có context window 1 triệu token rồi — context engineering còn cần thiết gì?
Ba trụ cột này với team nhỏ nên bắt đầu từ đâu?
Căn chỉnh KV cache có đáng công sức không, hay chỉ là tối ưu vi mô?
📚 Nguồn nghiên cứu (verification anchors)
| Claim | Nguồn |
|---|---|
| Định nghĩa context engineering; attention budget; JIT loading; sub-agent; hybrid boundary | Anthropic, “Effective context engineering for AI agents” (9/2025) |
| 18 model rot; distractor; focused-beats-full; abstention | Chroma, “Context Rot” (7/2025) |
| U-shape đầu/cuối > giữa | Liu et al., “Lost in the Middle” (TACL 2023) — arxiv.org/abs/2307.03172 |
| Query cuối +30%; provenance tags; grounding quotes; cache 0.1×/1.25×/breakpoints | Anthropic, Prompting best practices + Prompt Caching (platform.claude.com/docs) |
| 206→72 token; 25K cap; consolidate tools | Anthropic, “Writing effective tools for agents” (9/2025) |
| MCP security model (confused deputy, SSRF, session) | MCP Spec, Security Best Practices — modelcontextprotocol.io |
Bản nghiên cứu đầy đủ 100 rounds: reports/research-prompt-standard-part-6-context-engineering-100-rounds.{md,json} (dossier nội bộ series, mirror cả 2 repo). Ghi chú grounding: 60/100 rounds có URL nguồn bên ngoài; 37/100 truy vết series-internal; 3 rounds gắn nhãn [INFERENCE]/[VERIFICATION-NOTE]. Ghi chú hiệu chỉnh: con số “tiết kiệm 70% chi phí token” ở bản cũ đã được thay bằng các số verified (0.1× cache reads, 206→72) — không có nguồn sơ cấp nào cho 70%.
← Chương trước: Bộ Prompt Standard tối thiểu cho team triển khai ngay (2026) | Mục lục Series | Chương tiếp theo: Phần 7 — Declarative Prompting với DSPy (2026) →
