Context engineering là nghệ thuật và khoa học thiết kế, quản lý hệ thống thông tin bao quanh mô hình ngôn ngữ lớn (LLM) để tối ưu kết quả.
Coi LLM là CPU, còn cửa sổ ngữ cảnh là RAM — đó là tư duy nền tảng của một hệ thống Agent.
Thay vì chỉ viết prompt, bạn đang thiết kế toàn bộ hệ sinh thái dữ liệu nạp vào RAM cho mỗi bước xử lý. Nghiên cứu của Chroma (2025) trên 18 mô hình cho thấy hiệu suất giảm mạnh từ 95% xuống 60% khi vượt ngưỡng context nhất định — nạp thêm dữ liệu có thể khiến AI kém thông minh đi.

Context engineering là gì, và khác prompt engineering ra sao?
Context engineering là bước tiến hóa tất yếu khi bạn chuyển từ chatbot đơn giản sang các Agent tự vận hành. Prompt engineering lo việc "hỏi thế nào", còn context engineering giải bài toán hệ thống: mô hình cần biết thông tin gì, ở định dạng nào và tại thời điểm nào để hành động chính xác. Mỗi token rác bạn nạp vào là một "khoản nợ" trừ thẳng vào khả năng suy luận của mô hình.
| Tiêu chí | Prompt Engineering | Context Engineering |
|---|---|---|
| Câu hỏi cốt lõi | Tôi nên diễn đạt câu lệnh này thế nào? | Mô hình cần biết gì để hoàn thành tác vụ? |
| Phạm vi thiết kế | Một câu lệnh đơn lẻ (instruction layer) | Toàn bộ thông tin xung quanh (infrastructure) |
| Trạng thái (state) | Thường bắt đầu mới (stateless) | Xây dựng và tích lũy trạng thái theo thời gian |
| Khả năng mở rộng | Phụ thuộc cách hành văn, khó mở rộng | Thiết kế theo hệ thống, dễ mở rộng và tự động |
Nói gọn lại, prompt engineering chỉ là một tập con bên trong context engineering, lo riêng lớp chỉ thị đầu vào.
Context của một LLM gồm những thành phần nào?
Một cửa sổ ngữ cảnh hiện đại là cấu trúc phức hợp gồm bảy thành phần chính tranh nhau không gian:
- System instructions: luật chơi, persona và hướng dẫn kiểm soát luồng.
- User input: truy vấn trực tiếp từ người dùng.
- Conversation history: bộ nhớ ngắn hạn của phiên làm việc.
- Retrieved knowledge: dữ liệu lấy về từ RAG (tài liệu, API, cơ sở dữ liệu).
- Tool descriptions: định nghĩa schema của các công cụ mà agent được phép gọi.
- Tool outputs: kết quả trả về từ các công cụ đã thực thi.
- Agent state: kế hoạch, to-do list và ghi chú tạm thời.

Mọi thành phần này đều tiêu tốn "attention budget" (ngân sách chú ý). Vì mô hình có tài nguyên chú ý hữu hạn, nhồi quá nhiều thông tin không liên quan sẽ làm loãng sự tập trung vào các token quan trọng.
Vì sao context là tài nguyên hữu hạn, không phải càng nhiều càng tốt?
Hầu hết LLM hiện nay dựa trên kiến trúc Transformer với cơ chế attention có độ phức tạp n². Context tăng gấp đôi thì khối lượng tính toán tăng gấp bốn. Quan trọng hơn, sự chú ý không phân bổ đều, do cơ chế Rotary Position Embedding (RoPE) tạo ra hiệu ứng suy giảm (decay) khiến các token nằm xa điểm đầu và điểm cuối rơi vào "vùng chú ý thấp".
Hiện tượng "Lost in the Middle" cho thấy độ chính xác giảm hơn 30% khi thông tin quan trọng nằm ở giữa input. Bên cạnh đó là "context rot" (ngữ cảnh suy giảm): hiệu suất sụt giảm đột ngột và khó dự đoán khi input chạm một ngưỡng nhất định, dù vẫn nằm trong giới hạn lý thuyết. Bạn phải phân biệt "cửa sổ ngữ cảnh lý thuyết" (quảng cáo cả triệu token) với "cửa sổ ngữ cảnh hiệu dụng" (thường chỉ đạt 40–60% dung lượng lý thuyết) để Agent hoạt động ổn định.

Những kiểu lỗi context thường gặp là gì?
Dựa trên nghiên cứu của Drew Breunig, có bốn chế độ lỗi (failure modes) chính:
Context poisoning (nhiễm độc)
Thông tin sai lệch hoặc lỗi suy luận (hallucination) lọt vào context rồi bị mô hình lặp lại, lấy làm căn cứ cho các bước sau, tạo ra sai lệch dây chuyền.
Context distraction (xao nhãng)
Thông tin thừa hoặc dữ liệu nhiễu kéo sự chú ý khỏi nhiệm vụ chính, khiến Agent phản hồi hời hợt hoặc đi chệch mục tiêu.
Context confusion (nhầm lẫn)
Xảy ra khi có quá nhiều lựa chọn. Llama 3.1 8B chạy tốt với 19 công cụ nhưng thất bại hoàn toàn khi phải chọn giữa 46 công cụ, dù tổng token vẫn trong giới hạn.
Context clash (xung đột)
Thông tin mới mâu thuẫn với chỉ thị hệ thống hoặc dữ liệu cũ. Thiếu phân cấp ưu tiên (kiểu System Prompt đứng trên Knowledge), mô hình sẽ hành động không nhất quán.
Bốn chiến lược cốt lõi: Write, Select, Compress, Isolate
Khung chiến lược từ LangChain và Anthropic giúp bạn quản lý context một cách bài bản:

Write (ghi)
Lưu thông tin ra ngoài cửa sổ ngữ cảnh qua "scratchpads" hoặc file bền vững như CLAUDE.md. Ghi lại các kế hoạch trung gian là bắt buộc để khỏi mất mát khi context bị cắt cụt (truncation) ở ngưỡng 200k token.
Select (chọn)
Chỉ nạp những gì cần thiết. Dùng RAG không chỉ cho dữ liệu mà cho cả công cụ (RAG-MCP). Sau khi truy xuất, hãy áp dụng bước reranking (tái xếp hạng) để chỉ nạp các đoạn dữ liệu liên quan nhất vào context, giảm thiểu nhiễu.
Compress (nén)
Tóm tắt lịch sử hội thoại và cắt tỉa (trimming) các output công cụ dài dòng. Kỹ thuật "auto-compact" của Anthropic tự kích hoạt khi đạt 95% dung lượng để tóm tắt tiến trình, giữ lại các kết quả then chốt cùng vài file gần nhất.
Isolate (cô lập)
Chia nhỏ nhiệm vụ cho các sub-agent. Mỗi Agent phụ làm việc trong một context sạch và chỉ trả kết quả cô đọng về cho Agent chính. Chiến lược này tăng tới 90.2% hiệu suất trên các tác vụ nghiên cứu phức tạp so với việc dùng một Agent duy nhất xử lý tất cả.
Làm sao đưa đúng thông tin vào đúng thời điểm?
Thay vì "loading upfront" (nạp trước toàn bộ), hãy dùng chiến lược "just-in-time" (nạp khi cần). Áp dụng kỹ thuật "progressive disclosure" (tiết lộ dần dần): Agent đọc lướt tiêu đề và tóm tắt trước, rồi mới quyết định gọi công cụ để đọc chi tiết một phần tài liệu cụ thể.
Định dạng cấu trúc mạnh như XML tags (ví dụ <rules>, <context>) hoặc Markdown header giúp LLM phân
biệt rõ chỉ thị, dữ liệu tham khảo và lịch sử. Cấu trúc này giúp mô hình giữ "vùng chú ý" tốt hơn vào các
thành phần quan trọng.
Quản lý context cho tác vụ dài hơi như thế nào?
Với Agent chạy nhiều giờ, bạn cần các kỹ thuật quản lý trạng thái bền vững:
- Agentic memory: yêu cầu Agent liên tục cập nhật nhật ký tiến độ (progress.md) để theo dõi trạng thái nhiệm vụ.
- Frequent intentional compaction: chia quy trình thành các giai đoạn (Research → Planning → Implementation). Mỗi lần chuyển giai đoạn, reset context và chỉ mang theo tóm tắt (artifact) của giai đoạn trước.
- Tối ưu KV-cache: đặt System instructions và Tool descriptions cố định ở đầu context. Cơ chế prefix caching giúp giảm chi phí token đầu vào tới 10 lần (ví dụ với Claude Sonnet) và tăng tốc đáng kể do không phải tính lại phần đầu ngữ cảnh.

Áp dụng vào thực tế: framework và điểm khởi đầu
Mô hình ACE (Agentic Context Engineering) từ Stanford là điểm tham chiếu tốt nhất hiện nay. Nó chạy vòng lặp ba vai trò: Generator (thực hiện), Reflector (đánh giá) và Curator (tinh chỉnh playbook). Playbook tự tiến hóa sau mỗi lần thực thi, giúp tăng 10.6% hiệu suất benchmark Agent và 8.6% trên các tác vụ tài chính mà không cần đổi mô hình.
Năm nguyên tắc cho Product Builder:
- Ưu tiên tinh lọc hơn tích lũy: loại bỏ thông tin thừa còn quan trọng hơn nạp thêm dữ liệu.
- Giữ context dưới 40% dung lượng lý thuyết để duy trì độ minh mẫn cao nhất.
- Dùng Agent nhỏ và chuyên biệt để cô lập ngữ cảnh.
- Coi context là một sản phẩm: cần có SLA về độ tươi (freshness) và độ chính xác.
- Luôn đặt chỉ thị quan trọng nhất ở đầu hoặc cuối input để tận dụng cấu trúc U-shape của attention.
Các câu hỏi thường gặp
Khác biệt thực dụng nhất giữa prompt engineering và context engineering là gì? Prompt engineering là tinh chỉnh câu chữ trong một lần gọi. Context engineering là thiết kế hạ tầng dữ liệu và luồng thông tin để giữ cho Agent thông minh qua nhiều bước.
Khi nào tôi nên nén (compress) context? Nên nén chủ động khi context đạt 40–60% dung lượng hiệu dụng. Đừng đợi đến 95% mới nén khẩn cấp, vì lúc đó mô hình đã bắt đầu "xao nhãng".
Làm sao tránh lỗi "Lost in the Middle" hiệu quả nhất? Đặt chỉ thị hệ thống ở đầu và yêu cầu mô hình nhắc lại nhiệm vụ ở cuối (cấu trúc U-shape). Tài liệu tham khảo dài nên đặt ở giữa nếu không thể cắt bỏ.
Tài liệu tham khảo
- A Guide to Context Engineering for LLMs — ByteByteGo
- Context Engineering Clearly Explained (YouTube)
- Context Engineering for Agents (YouTube)
- Context Engineering for Product Builders: The 2026 Operating Manual — Karo Zieminski
- Context Is the New Code — Patrick Debois, Tessl (YouTube)
- Effective Context Engineering for AI Agents — Anthropic
- What Is Context Engineering? — IBM
- What Is Context Engineering? — System Design Newsletter