Vào năm 2023, khi ChatGPT bùng nổ, "Prompt Engineering" được ca tụng như một kỹ năng tối thượng của kỷ nguyên mới. Người ta săn lùng các công thức viết prompt, các khóa học giá trị cao, thậm chí nhiều công ty còn đăng tuyển vị trí Prompt Engineer với mức lương lớn.
Nhưng bước sang giai đoạn hiện tại, cục diện đã có sự dịch chuyển rõ rệt. Bản thân các nhà phát triển và AI Engineer nhận ra một sự thật: Nếu chỉ thay đổi câu từ trong Prompt, bạn khó có thể xây dựng được một hệ thống AI đáng tin cậy trong môi trường Production.
Sự trỗi dậy của các AI Agent tự trị, kiến trúc RAG nâng cao, và đặc biệt là giao thức kết nối mở như MCP (Model Context Protocol) đã dịch chuyển trọng tâm từ việc "hỏi sao cho khôn" sang "cung cấp thông tin nền tảng thế nào cho đúng". Đó là lý do Context Engineering ra đời và dần trở thành kỹ năng cốt lõi của mọi kỹ sư phát triển ứng dụng AI.
Bài viết này sẽ đi sâu vào bản chất của Context Engineering, lý giải vì sao Prompt Engineering không còn đủ sức gánh vác các hệ thống AI hiện đại, và lộ trình để một Developer nâng cấp bản thân thành một AI Engineer.
1. Context Engineering là gì?
Để hiểu một cách trực quan nhất:
Prompt Engineering là cách bạn giải thích cho AI biết nó phải làm gì (như viết một bản mô tả công việc tỉ mỉ).
Context Engineering là cách bạn đảm bảo AI có đầy đủ tài liệu, công cụ và dữ liệu cần thiết để thực hiện công việc đó một cách chính xác nhất.
Trong góc nhìn của hệ thống AI hiện đại, Context (Ngữ cảnh) là tất cả những gì được nạp vào Context Window (cửa sổ ngữ cảnh) của LLM trong một lượt gọi API (API call).
codeCode
+----------------------------------------------------------+
| CONTEXT WINDOW |
| |
| +----------------------------------------------------+ |
| | System Prompt (Chỉ thị hệ thống) | |
| +----------------------------------------------------+ |
| | User Query (Câu hỏi người dùng) | |
| +----------------------------------------------------+ |
| | Retrieved Docs (Tài liệu RAG từ Vector DB) | |
| +----------------------------------------------------+ |
| | Tool Calling Outputs (Dữ liệu trả về từ API/SQL) | |
| +----------------------------------------------------+ |
| | Conversation History & Memory (Bộ nhớ hội thoại) | |
| +----------------------------------------------------+ |
+----------------------------------------------------------+Context Engineering là việc lập trình hóa quy trình động: thu thập, lọc, nén, sắp xếp thứ tự và cấu trúc lại toàn bộ các nguồn dữ liệu trên để đưa vào mô hình. Mục tiêu là làm sao để trong hàng triệu token dữ liệu đầu vào, LLM nhận được đúng thông tin có giá trị nhất, không bị nhiễu và phản hồi tối ưu nhất.
Ví dụ thực tế:
Nếu bạn xây dựng một AI hỗ trợ lập trình (như Cursor):
Cách tiếp cận Prompt: Bạn viết một câu lệnh dài: Bạn là chuyên gia React, hãy viết code tối ưu, không giải thích dài dòng...
Cách tiếp cận Context: Hệ thống tự động quét toàn bộ workspace của bạn, phân tích cấu trúc thư mục, đọc file cấu hình, tìm các hàm liên quan trong các file lân cận thông qua RAG, sau đó đóng gói tất cả thông tin này gửi kèm cùng câu hỏi của bạn cho LLM. Đó chính là Context Engineering.
2. Prompt Engineering là gì? Điểm mạnh và giới hạn hiện tại
Trước khi nói về sự dịch chuyển, chúng ta cần thừa nhận giá trị thực tế của Prompt Engineering.
Về bản chất, đây là nghệ thuật giao tiếp với LLM bằng ngôn ngữ tự nhiên hoặc bán cấu trúc (như Markdown, XML) để định hình kết quả đầu ra. Các kỹ thuật phổ biến bao gồm Few-shot prompting (đưa ra ví dụ), Chain-of-Thought (bắt AI suy nghĩ từng bước) hay Role-playing (gán vai trò).
Điểm mạnh:
Không cần code: Ai cũng có thể làm được, từ marketer, designer cho đến biên kịch.
Nhanh chóng: Rất phù hợp để thử nghiệm ý tưởng (prototyping) trực tiếp trên giao diện Playground hoặc Chatbot.
Giới hạn:
Thiếu tính nhất quán (Non-deterministic): Chỉ cần mô hình cập nhật phiên bản nhẹ, prompt cũ có thể hoạt động kém hiệu quả hoặc không còn chính xác.
Giới hạn về dữ liệu thực tế: Prompt không thể chứa hàng gigabyte dữ liệu nội bộ của doanh nghiệp hay dữ liệu thay đổi theo thời gian thực (như giá cổ phiếu, lượng hàng tồn kho).
Phụ thuộc vào sự nhạy cảm của từ ngữ: Việc hệ thống chạy tốt hay tệ đôi khi phụ thuộc vào sự thay đổi từ ngữ nhỏ nhặt. Đây không phải là cách tư duy của một kỹ sư phần mềm khi xây dựng hệ thống có tính chịu lỗi cao.
3. Vì sao Prompt Engineering đang dần lỗi thời?
Nói một cách khách quan, Prompt Engineering không biến mất hoàn toàn. Nó đang dịch chuyển từ một ngành nghề độc lập trở thành một tính năng tích hợp sẵn của các mô hình và hệ thống. Dưới đây là những lý do kỹ thuật giải thích cho sự dịch chuyển này:
3.1. LLMs ngày càng thông minh hơn
Các mô hình ngôn ngữ lớn thế hệ mới đã tối ưu hóa tốt khả năng tuân thủ chỉ thị (Instruction-following). Nhờ kỹ thuật căn chỉnh tinh vi, mô hình không còn quá nhạy cảm với cách sắp xếp từ ngữ của prompt. Bạn không cần phải viết những câu lệnh phức tạp dài hàng trang giấy chỉ để bắt AI xuất ra định dạng JSON nữa; hầu hết LLM hiện nay đều hỗ trợ cấu trúc đầu ra (Structured Outputs) một cách nguyên bản.
3.2. Cửa sổ ngữ cảnh (Context Window) khổng lồ
Thời kỳ chúng ta chắt chiu từng token đầu vào đã dần qua. Với việc các mô hình hỗ trợ Context Window lên tới hàng triệu token, rào cản về dung lượng dữ liệu đầu vào đã được nới rộng. Thách thức lớn nhất lúc này không còn là viết prompt ngắn gọn để tiết kiệm token, mà là: Làm sao để nhồi lượng lớn tài liệu vào cửa sổ ngữ cảnh đó mà AI không bị phân tâm, bỏ sót thông tin (Hiện tượng Lost in the Middle) hoặc bị nhiễu thông tin (Context Poisoning).
3.3. Sự bùng nổ của AI Agent và Multi-step Reasoning
AI hiện đại không hoạt động theo kiểu "Hỏi một câu - Trả lời một câu" đơn giản. Các hệ thống AI Agent tự động chạy ngầm, tự chia nhỏ tác vụ, tự gọi công cụ và lặp lại liên tục cho đến khi đạt mục tiêu.
Trong một quy trình tự trị (agentic workflow) như vậy, prompt tĩnh gặp nhiều hạn chế. Hệ thống cần một cơ chế động để cập nhật trạng thái, kết quả thực thi của công cụ, và chuyển giao ngữ cảnh giữa các bước một cách mượt mà.
3.4. Sự xuất hiện của Model Context Protocol (MCP) và Tool Calling
Sự ra đời của Model Context Protocol (MCP) được toàn bộ ngành công nghiệp AI hưởng ứng mạnh mẽ. MCP hoạt động giống như cổng kết nối tiêu chuẩn dành cho AI.
Thay vì phải viết code tích hợp thủ công và thiết lập prompt riêng cho từng công cụ (Slack, GitHub, Database), MCP cung cấp một tiêu chuẩn mở cho phép LLM tự động khám phá các tài nguyên (Resources), công cụ (Tools) và cấu trúc prompt mẫu (Prompts) có sẵn từ máy chủ. Lúc này, năng lực của AI phụ thuộc vào việc hệ thống quản lý và cung cấp ngữ cảnh thông qua MCP tốt đến mức nào.
4. Context Engineering hoạt động như thế nào?
Để xây dựng một hệ thống Context Engineering hiệu quả, các AI Engineer phải thiết kế một luồng xử lý dữ liệu chặt chẽ trước khi gửi thông tin đến LLM. Dưới đây là các thành phần chính của một ngữ cảnh hoàn chỉnh:
System Prompt: Định hình tính cách, quy định hành vi và giới hạn của mô hình thông qua các Dynamic System Prompt (thay đổi tùy theo quyền hạn người dùng).
User Query: Câu hỏi hoặc yêu cầu trực tiếp của người dùng tại thời điểm hiện tại, được tối ưu qua Query Expansion hoặc Query Rewriting (viết lại câu hỏi rõ ràng hơn).
Retrieved Docs (RAG): Cung cấp tri thức chuyên biệt, tài liệu nội bộ không có sẵn trong dữ liệu huấn luyện của LLM thông qua Vector Search, Hybrid Search, Reranking, hoặc Context Compression.
Conversation History: Lưu lại lịch sử trò chuyện để giữ tính liên tục của cuộc hội thoại bằng kỹ thuật Sliding Window hoặc Summary Memory (tóm tắt lịch sử khi quá dài).
Tool/API Outputs: Kết quả thực thi từ các hàm hệ thống, truy vấn SQL, hoặc API bên ngoài thông qua Function Calling JSON Parsing và Error Handling.
MCP Resources: Các dữ liệu thời gian thực được chuẩn hóa qua giao thức Model Context Protocol.

Sơ đồ quy trình xử lý Context (Context Pipeline):
codeCode
(User Query) ----> (Query Rewriter) ----> (Hybrid Vector Search) --+
|
(System Prompts) ──────────────────────────> (Context Assembly) ---+---> (LLM API)
|
(MCP Servers) ----> (Live Tools & Data) ───────────────────────────+Trong quy trình trên, nhiệm vụ của Context Engineering là đảm bảo:
Chắt lọc (Pruning/Trimming): Loại bỏ những phần dữ liệu thừa trong tài liệu RAG hoặc lịch sử trò chuyện để giảm chi phí token và tránh làm loãng sự tập trung của mô hình.
Độ ưu tiên (Relevance Ranking): Đưa những thông tin quan trọng nhất lên đầu hoặc xuống cuối ngữ cảnh để mô hình dễ tiếp nhận nhất.
Cách ly ngữ cảnh (Context Isolation): Ngăn chặn mã độc hoặc dữ liệu không an toàn từ bên ngoài xâm nhập và điều khiển LLM (Prompt Injection).
5. Ví dụ thực tế: Sức mạnh của Context Engineering
Hãy tưởng tượng bạn đang xây dựng một chatbot chăm sóc khách hàng cho một nền tảng thương mại điện tử. Người dùng gửi câu hỏi: "Đơn hàng của tôi bao giờ giao tới?"
Nếu hệ thống của bạn chỉ dựa vào Prompt Engineering:
Bạn phải viết một Prompt tương đối phức tạp để hướng dẫn mô hình cách trả lời lịch sự, cách từ chối nếu không có thông tin. Nhưng kết quả cuối cùng mô hình vẫn sẽ trả lời: Vui lòng cung cấp mã đơn hàng để tôi kiểm tra. Trải nghiệm này khá thủ công và chưa thực sự mượt mà với khách hàng.
Nếu bạn áp dụng Context Engineering:
Hệ thống sẽ tự động thực hiện các bước sau trước khi gửi thông tin tới LLM:
Nhận diện danh tính: Hệ thống xác định ID người dùng đang đăng nhập thông qua session (Ví dụ: user_12938).
Truy vấn cơ sở dữ liệu: Hệ thống tự động gọi API lấy danh sách các đơn hàng gần nhất của user_12938 thông qua Tool Calling. Kết quả trả về: Đơn hàng mã 99482, trạng thái: Đang giao hàng, dự kiến tới nơi vào ngày mai.
Đóng gói ngữ cảnh: Hệ thống ghép nối thông tin đơn hàng này vào phần Context của LLM kèm theo câu hỏi ban đầu.
Mô hình LLM lúc này chỉ cần đọc ngữ cảnh được chuẩn bị sẵn và đưa ra câu trả lời cực kỳ chính xác: Chào bạn, đơn hàng mã 99482 của bạn hiện đang trên đường giao và dự kiến sẽ tới tay bạn vào ngày mai nhé!
6. Lộ trình phát triển từ Prompt Engineer lên AI Engineer hiện đại
Nếu bạn đang muốn chuyển dịch sang mảng AI hoặc nâng cấp kỹ năng lập trình của mình, việc chỉ học các mẹo viết prompt không còn mang lại nhiều lợi thế cạnh tranh. Dưới đây là lộ trình kỹ thuật giúp bạn làm chủ Context Engineering:
codeCode
+--------------------------------------------------------+
| AI ENGINEER ROADMAP |
+--------------------------------------------------------+
| |
| 1. EMBEDDINGS & VECTOR DATABASES |
| - Tìm hiểu về Vector Embeddings. |
| - Sử dụng Pinecone, Milvus, Qdrant, pgvector. |
| |
| 2. ADVANCED RAG (Retrieval-Augmented Generation) |
| - Hybrid Search, Parent-Child Documents. |
| - Reranking models (Cohere, BGE). |
| |
| 3. AGENTIC WORKFLOWS & TOOL CALLING |
| - Tool / Function Calling nguyên bản của LLM. |
| - Sử dụng LangGraph, CrewAI để thiết kế Agent. |
| |
| 4. MODEL CONTEXT PROTOCOL (MCP) |
| - Cách xây dựng một MCP Server đơn giản. |
| - Kết nối LLM với cơ sở dữ liệu và API qua MCP. |
| |
| 5. EVALUATION (Đánh giá chất lượng) |
| - Sử dụng Ragas, TruLens để đo lường độ chính xác. |
| - Tối ưu hóa Context Precision và Recall. |
| |
+--------------------------------------------------------+Tại sao kỹ năng này quan trọng? Khi sở hữu kỹ năng quản lý ngữ cảnh, bạn không còn phụ thuộc vào một nhà cung cấp mô hình cụ thể. Cho dù bạn dùng OpenAI, Claude, Gemini hay các mô hình mã nguồn mở như Llama, một hệ thống Context Engineering tốt vẫn sẽ giúp ứng dụng hoạt động ổn định và hiệu quả.
7. Góc nhìn tuyển dụng IT: Sự dịch chuyển xu hướng việc làm
Từ góc nhìn tuyển dụng trong lĩnh vực công nghệ, thị trường lao động đang trải qua một đợt sàng lọc tự nhiên:
Thời kỳ đầu: Các tin tuyển dụng xuất hiện từ khóa Prompt Engineer với yêu cầu biết cách viết câu lệnh tối ưu.
Thời kỳ hiện tại: Từ khóa Prompt Engineer không còn phổ biến trên các nền tảng tuyển dụng lớn. Thay vào đó là sự lên ngôi của AI Application Engineer, LLM Engineer, hoặc AI Agent Engineer.

Các doanh nghiệp đã nhận ra rằng họ không cần một người chỉ biết ngồi gõ câu lệnh thủ công trên giao diện Web. Họ cần những kỹ sư phần mềm biết viết mã nguồn bằng Python hoặc TypeScript để kết nối cơ sở dữ liệu, xây dựng pipeline xử lý dữ liệu tự động, tối ưu hóa chi phí token, cấu hình RAG và triển khai hệ thống AI Agent an toàn trong thực tế.
Biết viết prompt tốt hiện nay được coi là một kỹ năng bổ trợ cơ bản (tương tự như kỹ năng tìm kiếm thông tin trước đây), chứ không còn là một lợi thế công nghệ độc quyền.
8. Kết luận
Sự dịch chuyển từ Prompt Engineering sang Context Engineering là một bước tiến tất yếu khi công nghệ AI dần trưởng thành. Prompt giống như cách chúng ta hướng dẫn, còn Context chính là nguồn tài nguyên kiến thức. Một hệ thống dù thông minh đến đâu cũng khó có thể giải quyết công việc tốt nếu không được cung cấp đầy đủ thông tin thực tế.
Lời khuyên cho các Developer: Đừng chỉ dừng lại ở việc tối ưu hóa từng câu chữ trong prompt. Hãy tập trung xây dựng những hệ thống quản lý ngữ cảnh linh hoạt, tự động và bảo mật. Khi bạn làm chủ được luồng dữ liệu đi vào LLM, bạn mới thực sự kiểm soát tốt sức mạnh của AI.