Trong bất kỳ luồng phần mềm (software flow) nào, ngữ cảnh (context) chính là bàn tay vô hình dẫn dắt cách thông tin được xử lý và những hành động nào được phép thực hiện. Theo truyền thống, ngữ cảnh là một khái niệm khá tĩnh, tập trung vào việc một người dùng duy nhất tương tác với một ứng dụng duy nhất. Tuy nhiên, khi chúng ta bước vào kỷ nguyên của các hệ thống "agentic" — nơi các tác nhân AI (AI agents) hoạt động tự chủ để giải quyết các nhiệm vụ phức tạp — định nghĩa về ngữ cảnh đang trải qua một sự thay đổi mạnh mẽ.
Sự chuyển dịch này đưa chúng ta vượt ra ngoài các chỉ dẫn ngôn ngữ đơn thuần để hướng tới một cách tiếp cận toàn diện hơn được gọi là Context Engineering. Bằng cách hiểu rõ môi trường, lịch sử và trạng thái (state) của hệ thống, các nhà phát triển có thể tạo ra các tác nhân AI đáng tin cậy, an toàn và có khả năng thực hiện các quy trình làm việc đa bước (multi-step workflows) tinh vi. Bài viết này sẽ phân tích sự khác biệt giữa ngữ cảnh truyền thống và ngữ cảnh trong hệ thống agentic, đồng thời giải thích tại sao context engineering lại là tương lai của việc phát triển AI.
I. Nền tảng: Ngữ cảnh truyền thống (Traditional Context)
Ngữ cảnh phần mềm truyền thống thường được thấy rõ nhất trong các luồng OAuth. Trong mô hình này, ngữ cảnh được định nghĩa là một người dùng (human user) cấp quyền cho một ứng dụng cụ thể để thay mặt họ thực hiện hành động. Tương tác này thường diễn ra trong một phiên đăng nhập duy nhất và tuân theo một lộ trình xác định (deterministic).
Để hiểu về ngữ cảnh truyền thống, chúng ta nhìn vào ba cột trụ cụ thể:
- Who (Ai): Người dùng cụ thể (ví dụ: khách hàng đăng nhập vào ứng dụng ngân hàng).
- What (Cái gì): Tài nguyên (Resource) đang được truy cập (ví dụ: dữ liệu tài khoản ngân hàng).
- Conditions (Điều kiện): Thường được gọi là các "Scopes" — đây là các quy tắc quản lý tương tác (ví dụ: quyền chỉ đọc so với khả năng chuyển tiền).
II. Sự chuyển dịch sang Agentic Context
Các hệ thống Agentic mang đến một mức độ phức tạp mà các mô hình truyền thống không thể xử lý. Trong một luồng agentic, hệ thống mang tính tự chủ (autonomous) và phi định hướng (non-deterministic). Thay vì một ứng dụng duy nhất nói chuyện với một tài nguyên, một tác nhân AI có thể quyết định tham vấn nhiều tác nhân khác, các mô hình ngôn ngữ lớn (LLMs), hoặc các máy chủ để hoàn thành mục tiêu.
Trong môi trường này, các cột trụ của ngữ cảnh được mở rộng:
- Who (User + Agents): Hiện tại bao gồm người dùng và mọi tác nhân AI tham gia vào chuỗi hành động. Mỗi tác nhân phải có danh tính và quyền hạn được xác thực riêng.
- What Resource (Multi-system orchestration): "Cái gì" không còn là một cơ sở dữ liệu duy nhất mà là một sự điều phối đa hệ thống (multi-system orchestration). Một tác nhân có thể cần lấy dữ liệu từ CRM, một công cụ tài chính và một API bên ngoài cùng một lúc.
- Conditions (Fine-grained & Dynamic): Các điều kiện trở nên chi tiết (fine-grained) và thay đổi linh hoạt (dynamic). Mức độ truy cập cần thiết cho một tác nhân có thể thay đổi dựa trên bước cụ thể mà nó đang thực hiện trong một nhiệm vụ lớn hơn.
III. Sơ đồ hóa luồng Agentic (Mapping the Agentic Flow)
Để hình dung về agentic context, hãy tưởng tượng một người dùng đưa ra một "Linguistic Prompt" (một yêu cầu bằng ngôn ngữ tự nhiên). Trong một hệ thống truyền thống, con đường là trực tiếp. Trong một hệ thống agentic, yêu cầu đó đi qua một lớp điều phối (Orchestration Layer).
Từ đó, luồng công việc có thể trông như sau:
- LLM: Xử lý ý định và giúp bộ điều phối quyết định lộ trình.
- Multiple Agents: Nhiệm vụ được ủy quyền cho Agent 1, Agent 2, hoặc nhiều hơn, mỗi tác nhân xử lý một nhiệm vụ phụ chuyên biệt.
- MCP Servers: Các máy chủ này cung cấp metadata hoặc thông tin bổ sung ở cấp hệ thống.
- Resources: Điểm đến cuối cùng nơi dữ liệu được truy xuất hoặc các hành động được thực hiện.
IV. Prompt Engineering so với Context Engineering
Giai đoạn đầu của phát triển AI tập trung mạnh vào Prompt Engineering. Đây là kỹ thuật tinh chỉnh các hướng dẫn bằng ngôn ngữ tự nhiên (prompt) để có được kết quả tốt nhất từ LLM. Mặc dù quan trọng, prompt engineering thuần túy về mặt ngôn ngữ và không tính đến trạng thái của hệ thống hoặc lịch sử của nhiệm vụ.
Context Engineering là bước tiến hóa tiếp theo. Nó nằm trên prompt engineering và kết hợp hai thành phần kỹ thuật quan trọng:
- State (Trạng thái): Đây là "Environment State". Nó theo dõi người dùng là ai, hệ thống nào hiện đang hoạt động và tình trạng sức khỏe hoặc tính khả dụng hiện tại của các tài nguyên.
- Memory (Bộ nhớ): Đây là "Task History". Nó theo dõi những gì đã được hỏi trước đó, những phản hồi nào đã nhận được và các bước trước đó đã được giải quyết như thế nào. Điều này cho phép hệ thống học hỏi và cải thiện độ chính xác trong cùng một phiên làm việc.
V. Tại sao Context Engineering lại cần thiết
Mục tiêu cuối cùng của một hệ thống agentic là đưa ra phản hồi chính xác cho yêu cầu của người dùng trong khi vẫn đảm bảo an ninh và hiệu quả. Vì các hệ thống này mang tính linh hoạt — có nghĩa là chúng có thể giải quyết cùng một vấn đề theo những cách khác nhau mỗi lần — việc chỉ dựa vào một prompt duy nhất là rất rủi ro.
Bằng cách thực hành Context Engineering, các nhà phát triển đảm bảo rằng AI có "hiểu biết" đầy đủ về trạng thái và bộ nhớ của hệ thống. Điều này đảm bảo rằng tác nhân không chỉ thực hiện một mệnh lệnh, mà thực hiện nó với đúng quyền hạn, đúng lịch sử dữ liệu và lộ trình hiệu quả nhất thông qua các hệ thống khác nhau có liên quan.