# Cô lập ngữ cảnh (context isolation) là gì? Tách ngữ cảnh cho AI agent

> Kỹ thuật cô lập ngữ cảnh giúp tối ưu hóa hiệu suất AI agent, ngăn chặn hiện tượng thối rữa ngữ cảnh và đảm bảo độ chính xác cho hệ thống đa tác nhân phức tạp.

Nguồn: https://camnangai.com/ky-thuat/co-lap-ngu-canh-la-gi  
Xuất bản: 2026-09-03

**Cô lập ngữ cảnh** (context isolation) là kỹ thuật chia nhỏ dữ liệu đầu vào (input tokens) thành
  các phân vùng độc lập cho từng [AI agent](https://camnangai.com/kien-thuc-ai/ai-agent-la-gi) hoặc tác vụ con để duy trì
  sự tập trung của mô hình.


Cứ hình dung [cửa sổ ngữ cảnh](https://camnangai.com/kien-thuc-ai/context-window) (context window) như RAM của một hệ
điều hành: nếu bạn nhồi nhét quá nhiều dữ liệu vào một cửa sổ duy nhất thì hệ thống sẽ dính hiện
tượng "thối rữa ngữ cảnh" (context rot), và mô hình bắt đầu trả lời như một người vừa đọc xong ba
trăm trang tài liệu nhưng không nhớ nổi trang nào.


  Việc cô lập ngữ cảnh giúp quản lý "ngân sách chú ý" (attention budget), đảm bảo mô hình chỉ xử lý
  các tín hiệu có giá trị cao (high-signal tokens) và giảm thiểu sai số logic.


![Một cửa sổ ngữ cảnh lớn bị chia thành nhiều phân vùng tách biệt, mỗi phân vùng phục vụ một tác vụ riêng](https://camnangai.com/articles/co-lap-ngu-canh-la-gi/01-infographic-vn.webp)

## Cô lập ngữ cảnh là gì?

**Cô lập ngữ cảnh** là một phần cốt lõi của
[kỹ thuật ngữ cảnh](https://camnangai.com/ung-dung-ai/lap-trinh-vien/context-engineering) (context engineering), và nói
gọn lại, đây là bài toán chia tài nguyên hệ thống sao cho mô hình suy luận tốt nhất trong phần tài
nguyên nó được cấp.

Gốc rễ nằm ở cơ chế tự chú ý (self-attention) của các mô hình transformer, nơi mỗi
[token](https://camnangai.com/kien-thuc-ai/token-ai-la-gi) phải thiết lập mối liên kết với mọi token khác trong cửa sổ
ngữ cảnh. Điều này tạo ra số mối quan hệ cặp (pairwise relationships) tăng theo bình phương số lượng
token: n token sinh ra n² mối quan hệ, và con số đó phình nhanh đến mức phản trực giác. Khi n tăng
lên, trọng số chú ý (attention weights) bị loãng, làm giảm khả năng mô hình nắm bắt các mối liên kết
logic ngầm (latent association). Cô lập ngữ cảnh giải quyết vấn đề này bằng cách kéo lượng token về
mức nhỏ nhất có thể, để mô hình giữ được "độ minh mẫn" trong một ngân sách chú ý giới hạn.

## Vì sao cửa sổ ngữ cảnh lớn hơn không giải quyết được vấn đề?

Cửa sổ to hơn nghe như câu trả lời hiển nhiên, nhưng hiệu suất của mô hình ngôn ngữ lớn (Large
Language Model, LLM) không tỉ lệ thuận với dung lượng cửa sổ ngữ cảnh. Ngay cả khi các mô hình hỗ
trợ hàng triệu token, chúng vẫn đối mặt với các rào cản kỹ thuật sau (từng kiểu lỗi được mổ xẻ kỹ
hơn trong bài [các kiểu lỗi ngữ cảnh](https://camnangai.com/ky-thuat/context-failure-modes-ai-agent)):

1.  **Hiện tượng thối rữa ngữ cảnh (Context Rot):** Hiệu suất giảm dần khi chiều dài đầu vào tăng.
    Thử nghiệm "Repeated Words" cho thấy mô hình bắt đầu gặp lỗi logic ngay cả với tác vụ đơn giản
    là lặp lại văn bản khi chiều dài đầu ra tăng lên. Tương tự, "LongMemEval" chứng minh rằng việc
    thêm dữ liệu không liên quan làm giảm khả năng truy xuất thông tin chính xác.
2.  **Yếu tố gây nhiễu (Distractors):** Khi có thông tin liên quan nhưng không trực tiếp trả lời câu
    hỏi, mô hình dễ rơi vào tình trạng "nhầm lẫn ngữ cảnh" (context confusion) hoặc "xung đột ngữ
    cảnh" (context clash). Các mô hình như GPT-4.1 thường có xu hướng ảo tưởng khi đối mặt với yếu
    tố gây nhiễu, trong khi Claude có xu hướng từ chối trả lời (abstention) do sự không chắc chắn,
    và trong hai kiểu hỏng đó thì kiểu thứ hai ít nhất còn cho bạn biết là nó đang bí.
3.  **Hạn chế của truy xuất phi từ vựng (Non-lexical retrieval):** Các mô hình đạt điểm cao trong
    bài test NIAH (Needle In A Haystack, tức tìm kim đáy bể) nhờ khớp từ khóa (lexical matching),
    nhưng thất bại nghiêm trọng khi phải thực hiện suy luận dựa trên sự tương đồng ngữ nghĩa
    (semantic matching) trong các tài liệu dài. Tôi vẫn thấy điểm NIAH được đem ra khoe nhiều hơn
    giá trị thật của nó.

Cô lập không phải cách duy nhất để đối phó với ngữ cảnh dài: ba chiến lược nhồi toàn bộ, truy hồi
và nén được so sánh riêng trong bài [xử lý ngữ cảnh dài](https://camnangai.com/ky-thuat/xu-ly-ngu-canh-dai).

![Đường biểu diễn độ chính xác của mô hình đi xuống dần khi số token đầu vào tăng lên, thay vì giữ nguyên](https://camnangai.com/articles/co-lap-ngu-canh-la-gi/02-vn.webp)

## Ba ranh giới cô lập ngữ cảnh

![Ba ranh giới cô lập ngữ cảnh đặt cạnh nhau: agent phụ, hộp cát thực thi và cấu trúc trạng thái](https://camnangai.com/articles/co-lap-ngu-canh-la-gi/03-vn.webp)

### Đa tác nhân (Multi-agent)

Chia nhỏ nhiệm vụ cho các agent phụ (sub-agents). Mỗi agent sở hữu một cửa sổ ngữ cảnh riêng, chỉ
nhận chỉ dẫn và công cụ cần thiết cho tác vụ cụ thể, nhờ vậy các luồng suy luận được cô lập và dữ
liệu của tác vụ A không làm nhiễu quyết định của tác vụ B. Cách triển khai cụ thể trong một công cụ
thực tế nằm ở bài
[làm chủ subagents trong Claude Code](https://camnangai.com/ung-dung-ai/lap-trinh-vien/mastering-subagents-in-claude-code).

### Môi trường thực thi và hộp cát (Sandboxes)

Cô lập các dữ liệu nặng (tệp tin, mã nguồn, kết quả truy vấn lớn) trong môi trường bên ngoài như E2B
hoặc Pyodide. Thay vì nạp toàn bộ tệp vào prompt, agent chỉ giữ các mã định danh (file path, ID) và
chỉ truy xuất nội dung cụ thể qua các lệnh như `read_file`, `head` hoặc `grep`. Đây là ranh giới rẻ
nhất trong ba ranh giới, và nếu phải chọn một thứ để làm trước thì tôi chọn nó.

### Cấu trúc trạng thái (State schema)

Sử dụng các đối tượng trạng thái như `DeepAgentState` để phân tách thông tin. Thông qua cơ chế
`DeltaChannel` trên danh sách tin nhắn, hệ thống chỉ ghi lại các thay đổi quan trọng vào điểm lưu
trạng thái (checkpoint), nhờ đó dữ liệu tăng trưởng theo dạng tuyến tính thay vì tích lũy rác trong
lịch sử tin nhắn (message history).

## Một hệ thống cô lập ngữ cảnh vận hành ra sao?

Kiến trúc của các hệ thống tiên tiến như Claude Code và [LangGraph](https://camnangai.com/ky-thuat/langgraph-la-gi) triển
khai quy trình vận hành dựa trên các nguyên tắc:

- **Nạp dữ liệu vừa đúng lúc (Just-in-time context):** Agent ban đầu chỉ nắm giữ các định danh nhẹ
  (lightweight identifiers). Dữ liệu thô chỉ được nạp vào cửa sổ ngữ cảnh khi agent quyết định sử
  dụng một công cụ phân tích cụ thể (progressive disclosure).
- **Cơ chế nén và chuyển dữ liệu ra ngoài (Compaction & Offloading):** Việc chuyển dữ liệu ra ngoài
  được kích hoạt khi đầu vào hoặc kết quả của một lệnh gọi công cụ vượt ngưỡng mặc định
  **20.000 token**. Khi tổng ngữ cảnh chạm mốc **85%** giới hạn cửa sổ, hệ thống tự động tóm tắt
  lịch sử và giữ lại **10%** token gần nhất làm ngữ cảnh tức thời. Dữ liệu thô bị xóa khỏi bộ nhớ
  làm việc nhưng vẫn nằm trong hệ thống tệp để agent truy xuất lại khi cần.
- **Nguyên tắc "một người viết" (Single-writer):** Để tránh xung đột quyết định, các luồng ghi dữ
  liệu phải được giữ đơn luồng (single-threaded). Các agent đọc có thể chạy song song thoải mái,
  nhưng việc đưa ra quyết định thực thi (như sửa code) phải tập trung để đảm bảo tính nhất quán về
  phong cách và logic.

![Luồng vận hành của một hệ thống cô lập ngữ cảnh: agent chính giao việc cho các agent phụ, mỗi agent trả về một bản tóm tắt gọn](https://camnangai.com/articles/co-lap-ngu-canh-la-gi/04-vn.webp)

## Cô lập ngữ cảnh phải trả giá bằng gì?

Việc triển khai cô lập ngữ cảnh đi kèm với các đánh đổi (trade-offs) lớn về tài nguyên, và cái giá
đầu tiên bạn nhìn thấy nằm ngay trên hóa đơn:

- **Chi phí token:** Một agent thông thường đã ngốn gấp **4 lần** lượng token so với một lượt chat,
  và hệ thống đa tác nhân có thể tốn gấp **15 lần** do việc lặp lại chỉ dẫn hệ thống (system
  prompts) và chi phí chuyển giao ngữ cảnh (context hand-off).
- **Độ trễ (Latency):** Việc chạy song song các sub-agent rồi tổng hợp kết quả (map-reduce) làm tăng
  thời gian xử lý so với các luồng tuyến tính đơn giản.
- **Hiệu ứng "tam sao thất bản" (Game of telephone):** Quá trình tóm tắt hoặc nén dữ liệu quá mức có
  thể làm mất đi các chi tiết nhỏ nhưng mang tính quyết định. Nếu ranh giới cô lập không được thiết
  kế tốt, agent chính có thể thiếu thông tin chiều sâu để đưa ra kết luận đúng.
- **Xung đột quyết định ngầm:** Các agent làm việc trong ngữ cảnh tách rời sẽ tự đưa ra những lựa
  chọn ngầm mâu thuẫn nhau. Hai agent cùng dựng một bản sao Flappy Bird có thể cho ra một bên đồ họa
  kiểu Super Mario, một bên đúng phong cách Flappy Bird — và không bên nào biết bên kia đã chọn gì.

## Khi nào nên cô lập, khi nào không?

Cô lập ngữ cảnh phát huy tác dụng với các tác vụ dài hơi (long-horizon) và những bài toán nghiên cứu
theo chiều rộng, nơi nhiều hướng độc lập có thể chạy song song. Trong một thử nghiệm dò lỗ hổng bảo
mật, nhóm agent phối hợp tìm ra 266 lỗ hổng với 27 triệu token, so với 21 lỗ hổng và 6,5 triệu token
của cách chạy song song đơn giản, tức là đắt hơn nhiều nhưng phát hiện được thứ mà cách kia không
thấy.

![Hai hướng đối lập: việc đọc và khám phá thì chạy song song nhiều nhánh, việc ghi thì dồn về một luồng duy nhất](https://camnangai.com/articles/co-lap-ngu-canh-la-gi/05-vn.webp)

Ngược lại, đừng cô lập những tác vụ tuần tự và phụ thuộc chặt vào nhau, chẳng hạn phần lớn công việc
sửa code. Nguyên tắc thực dụng để chốt lại: dùng cô lập để nhân rộng khả năng **đọc** và khám phá
song song, còn mọi thao tác **ghi** thì giữ đơn luồng.

## Tài liệu tham khảo

- [Effective context engineering for AI agents — Anthropic](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)
- [Context Engineering — LangChain](https://www.langchain.com/blog/context-engineering-for-agents)
- [Context Rot: How Increasing Input Tokens Impacts LLM Performance — Chroma](https://www.trychroma.com/research/context-rot)
- [How we built our multi-agent research system — Anthropic](https://www.anthropic.com/engineering/multi-agent-research-system)
- [Patterns and problems in emerging multiagent systems — Anthropic](https://www.anthropic.com/research/multiagent-systems)
- [Don't Build Multi-Agents — Cognition](https://cognition.com/blog/dont-build-multi-agents)
- [Multi-Agents: What's Actually Working — Cognition](https://cognition.com/blog/multi-agents-working)
- [Context engineering in Deep Agents — LangChain Docs](https://docs.langchain.com/oss/python/deepagents/context-engineering)
