Courses
Bạn có thể là một bậc thầy về prompt, nhưng khi cuộc trò chuyện kéo dài, chatbot của bạn thường quên những phần sớm nhất và quan trọng nhất trong chỉ dẫn, trợ lý mã hóa của bạn đánh mất kiến trúc dự án, và công cụ RAG của bạn không thể kết nối thông tin giữa các tài liệu và miền phức tạp.
Khi các bài toán AI trở nên phức tạp hơn, viết một prompt hay chỉ là một phần nhỏ của thách thức lớn hơn nhiều: kỹ thuật ngữ cảnh.
Trong hướng dẫn này, tôi sẽ giải thích kỹ thuật ngữ cảnh là gì, cách nó hoạt động, khi nào nên dùng thay cho kỹ thuật prompt thông thường, và các kỹ thuật thực tiễn giúp hệ thống AI thông minh và nhận biết ngữ cảnh tốt hơn.
Nếu bạn muốn theo dõi qua video, hãy xem bài học này:
Kỹ thuật Ngữ cảnh là gì?
Kỹ thuật ngữ cảnh là thực hành thiết kế các hệ thống quyết định thông tin mà một mô hình AI sẽ nhìn thấy trước khi tạo ra phản hồi.
Dù thuật ngữ này còn mới, các nguyên tắc đằng sau kỹ thuật ngữ cảnh đã tồn tại khá lâu. Lớp trừu tượng mới này cho phép chúng ta suy nghĩ về vấn đề phổ biến và luôn hiện hữu: thiết kế luồng thông tin đi vào và đi ra khỏi các hệ thống AI.
Thay vì viết các prompt hoàn hảo cho từng yêu cầu riêng lẻ, bạn tạo ra những hệ thống thu thập chi tiết phù hợp từ nhiều nguồn và sắp xếp chúng trong cửa sổ ngữ cảnh của mô hình. Điều này có nghĩa là hệ thống của bạn tổng hợp lịch sử hội thoại, dữ liệu người dùng, tài liệu bên ngoài và các công cụ sẵn có, rồi định dạng chúng để mô hình có thể xử lý.

Nguồn: 12-factor-agents
Cách tiếp cận này đòi hỏi quản lý nhiều loại thông tin khác nhau cấu thành ngữ cảnh đầy đủ:
- Chỉ dẫn hệ thống đặt ra hành vi và quy tắc
- Lịch sử hội thoại và sở thích người dùng
- Thông tin truy xuất từ tài liệu hoặc cơ sở dữ liệu
- Các công cụ sẵn có và định nghĩa của chúng
- Định dạng đầu ra có cấu trúc và lược đồ
- Dữ liệu thời gian thực và phản hồi từ API bên ngoài
Thách thức chính là làm việc trong giới hạn cửa sổ ngữ cảnh đồng thời duy trì hội thoại mạch lạc theo thời gian. Hệ thống của bạn cần quyết định điều gì liên quan nhất cho mỗi yêu cầu, thường có nghĩa là xây dựng các hệ thống truy xuất để tìm đúng chi tiết khi cần.
Điều này bao gồm tạo các hệ thống bộ nhớ theo dõi cả dòng chảy hội thoại ngắn hạn lẫn sở thích người dùng dài hạn, đồng thời loại bỏ thông tin lỗi thời để nhường chỗ cho nhu cầu hiện tại.
Lợi ích thực sự đến khi các loại ngữ cảnh khác nhau phối hợp để tạo ra hệ thống AI có cảm giác thông minh và tinh tế hơn. Khi trợ lý AI của bạn có thể đồng thời tham chiếu các cuộc trò chuyện trước đó, truy cập lịch của bạn và hiểu phong cách giao tiếp của bạn, tương tác sẽ không còn lặp lại mà trở nên như đang làm việc với thứ gì đó “nhớ” về bạn.
Kỹ thuật Ngữ cảnh so với Kỹ thuật Prompt
Nếu bạn yêu cầu ChatGPT “viết một email chuyên nghiệp”, đó là kỹ thuật prompt — bạn đang viết chỉ dẫn cho một tác vụ đơn lẻ. Nhưng nếu bạn xây dựng một bot chăm sóc khách hàng cần ghi nhớ các phiếu hỗ trợ trước đó, truy cập chi tiết tài khoản người dùng và duy trì lịch sử hội thoại qua nhiều lần tương tác, đó là kỹ thuật ngữ cảnh.
Andrej Karpathy giải thích điều này rất rõ:
Mọi người thường gắn prompt với các mô tả tác vụ ngắn bạn đưa cho LLM trong sử dụng hằng ngày. Trong khi đó, ở mọi ứng dụng LLM cấp độ công nghiệp, kỹ thuật ngữ cảnh là nghệ thuật và khoa học tinh tế của việc lấp đầy cửa sổ ngữ cảnh bằng đúng thông tin cần thiết cho bước tiếp theo.
Andrej Karpathy
Hầu hết ứng dụng AI đều dùng cả kỹ thuật prompt và kỹ thuật ngữ cảnh. Bạn vẫn cần các prompt viết tốt trong hệ thống kỹ thuật ngữ cảnh của mình. Điểm khác biệt là các prompt đó giờ hoạt động cùng thông tin nền được quản lý cẩn thận thay vì bắt đầu lại từ đầu mỗi lần.
|
Cách tiếp cận |
Phù hợp nhất cho |
|
Kỹ thuật Prompt |
Tác vụ đơn lẻ, sinh nội dung, đầu ra theo định dạng cụ thể |
|
Kỹ thuật Ngữ cảnh |
AI hội thoại, công cụ phân tích tài liệu, trợ lý mã hóa |
|
Kết hợp cả hai |
Ứng dụng AI sản xuất cần hiệu năng ổn định, đáng tin cậy |
Kỹ thuật Ngữ cảnh trong Thực tiễn
Kỹ thuật ngữ cảnh chuyển từ lý thuyết sang thực tế khi bạn bắt đầu xây dựng ứng dụng AI cần làm việc với thông tin phức tạp, liên kết chặt chẽ. Hãy xem xét một bot chăm sóc khách hàng cần truy cập các phiếu hỗ trợ trước, kiểm tra trạng thái tài khoản và tham chiếu tài liệu sản phẩm, đồng thời vẫn duy trì giọng điệu trò chuyện hữu ích. Đây là lúc prompt truyền thống bộc lộ hạn chế và kỹ thuật ngữ cảnh trở nên cần thiết.
Hệ thống RAG
Có thể nói kỹ thuật ngữ cảnh bắt đầu với các hệ thống retrieval augmented generation (RAG). RAG là một trong những kỹ thuật đầu tiên cho phép bạn đưa LLM tiếp cận thông tin không có trong dữ liệu huấn luyện ban đầu.
Các hệ thống RAG dùng các kỹ thuật kỹ thuật ngữ cảnh tiên tiến để tổ chức và trình bày thông tin hiệu quả hơn. Chúng chia nhỏ tài liệu thành các phần có ý nghĩa, xếp hạng thông tin theo mức độ liên quan và đưa những chi tiết hữu ích nhất vào trong giới hạn token.
Trước RAG, nếu bạn muốn AI trả lời câu hỏi về tài liệu nội bộ của công ty, bạn phải huấn luyện lại hoặc tinh chỉnh toàn bộ mô hình. RAG đã thay đổi điều này bằng cách xây dựng các hệ thống có thể tìm kiếm tài liệu của bạn, tìm các đoạn liên quan và đưa chúng vào cửa sổ ngữ cảnh cùng với câu hỏi của bạn.
Điều này giúp LLM đột nhiên có thể phân tích nhiều tài liệu và nguồn để trả lời các câu hỏi phức tạp mà bình thường cần con người đọc hàng trăm trang.
Tác tử AI
RAG mở cánh cửa đến thông tin bên ngoài, nhưng các tác tử AI tiến xa hơn bằng cách làm cho ngữ cảnh trở nên động và có tính phản hồi. Thay vì chỉ truy xuất tài liệu tĩnh, tác tử sử dụng công cụ bên ngoài trong quá trình trò chuyện.
AI sẽ quyết định công cụ nào giải quyết tốt nhất vấn đề hiện tại. Một tác tử có thể bắt đầu trò chuyện, nhận ra cần dữ liệu chứng khoán hiện tại, gọi một API tài chính, rồi dùng thông tin mới đó để tiếp tục cuộc trò chuyện.
Chi phí token của LLM giảm cũng khiến hệ thống đa tác tử trở nên khả thi. Thay vì nhồi nhét mọi thứ vào cửa sổ ngữ cảnh của một mô hình, bạn có thể có các tác tử chuyên biệt xử lý những khía cạnh khác nhau của một vấn đề và chia sẻ thông tin giữa chúng qua các giao thức như A2A hoặc MCP.
Để tìm hiểu thêm về tác tử AI, hãy xem cheat sheet về tác tử AI này.
Trợ lý mã hóa AI
Trợ lý mã hóa AI — như Cursor hoặc Windsurf — đại diện cho một trong những ứng dụng tiên tiến nhất của kỹ thuật ngữ cảnh vì chúng kết hợp cả nguyên lý RAG và tác tử trong khi làm việc với thông tin có cấu trúc cao và liên kết chặt chẽ.
Những hệ thống này cần hiểu không chỉ từng tệp riêng lẻ, mà còn là toàn bộ kiến trúc dự án, phụ thuộc giữa các mô-đun và các mẫu mã trong toàn bộ codebase của bạn.
Khi bạn yêu cầu trợ lý mã hóa refactor một hàm, nó cần ngữ cảnh về nơi hàm đó được sử dụng, kiểu dữ liệu mong đợi và thay đổi có thể ảnh hưởng đến các phần khác của dự án ra sao.
Kỹ thuật ngữ cảnh trở nên tối quan trọng vì mã có các mối quan hệ trải dài nhiều tệp, thậm chí nhiều kho lưu trữ. Một trợ lý mã hóa tốt duy trì ngữ cảnh về cấu trúc dự án, các thay đổi gần đây bạn đã thực hiện, phong cách mã hóa của bạn và các framework bạn dùng.
Đó là lý do các công cụ như Cursor hoạt động tốt hơn khi bạn dùng chúng càng lâu trong một dự án. Chúng tích lũy ngữ cảnh về codebase cụ thể của bạn và có thể đưa ra gợi ý phù hợp hơn dựa trên mẫu và sở thích của bạn.
Lỗi Ngữ cảnh và Kỹ thuật Giảm thiểu
Khi đọc bài, bạn có thể nghĩ rằng kỹ thuật ngữ cảnh là không cần thiết hoặc sẽ không cần thiết trong tương lai gần khi cửa sổ ngữ cảnh của các mô hình tiên phong tiếp tục mở rộng. Giả định này là tự nhiên, vì nếu ngữ cảnh đủ lớn, bạn có thể ném mọi thứ vào một prompt (công cụ, tài liệu, chỉ dẫn, v.v.) và để mô hình lo phần còn lại.
Tuy nhiên, bài viết xuất sắc này của Drew Breunig chỉ ra bốn cách đáng ngạc nhiên mà ngữ cảnh có thể vượt ngoài tầm kiểm soát, ngay cả khi mô hình hỗ trợ cửa sổ ngữ cảnh 1 triệu token. Trong phần này, tôi sẽ mô tả nhanh các vấn đề mà Drew Breunig nêu ra và các mẫu kỹ thuật ngữ cảnh giải quyết chúng — tôi rất khuyến nghị đọc bài của Breunig để biết chi tiết.
Nhiễm độc ngữ cảnh
Nhiễm độc ngữ cảnh xảy ra khi một ảo giác hoặc lỗi lọt vào ngữ cảnh của hệ thống AI và sau đó liên tục được tham chiếu trong các phản hồi tương lai. Nhóm DeepMind đã xác định vấn đề này trong báo cáo kỹ thuật Gemini 2.5 khi xây dựng một tác tử chơi Pokémon. Khi tác tử đôi lúc ảo giác về trạng thái trò chơi, thông tin sai này sẽ làm “mục tiêu” trong ngữ cảnh bị nhiễm độc, khiến tác tử phát triển các chiến lược vô nghĩa và theo đuổi các mục tiêu bất khả thi trong thời gian dài.
Vấn đề này trở nên rất nghiêm trọng trong quy trình tác tử nơi thông tin tích tụ dần. Một khi ngữ cảnh nhiễm độc được thiết lập, có thể mất rất lâu để sửa vì mô hình cứ tham chiếu thông tin sai như thể nó đúng.
Cách khắc phục tốt nhất là xác thực và cách ly ngữ cảnh. Bạn có thể cô lập các loại ngữ cảnh khác nhau trong các luồng riêng và xác thực thông tin trước khi đưa vào bộ nhớ dài hạn. Cách ly ngữ cảnh nghĩa là khởi động các luồng mới khi phát hiện khả năng nhiễm độc, ngăn thông tin xấu lan sang các tương tác sau.
Phân tâm ngữ cảnh
Phân tâm ngữ cảnh xảy ra khi ngữ cảnh của bạn phình to đến mức mô hình bắt đầu tập trung quá nhiều vào lịch sử tích lũy thay vì sử dụng những gì đã học trong quá trình huấn luyện. Tác tử Gemini chơi Pokémon cho thấy điều này — khi ngữ cảnh vượt quá 100.000 token, tác tử bắt đầu lặp lại các hành động từ lịch sử khổng lồ thay vì phát triển chiến lược mới.
Một nghiên cứu của Databricks (rất thú vị; đáng đọc) phát hiện độ chính xác của mô hình bắt đầu giảm quanh 32.000 token đối với Llama 3.1 405b, với các mô hình nhỏ hơn chạm ngưỡng sớm hơn nhiều. Điều này có nghĩa các mô hình bắt đầu mắc lỗi từ lâu trước khi cửa sổ ngữ cảnh thực sự đầy, khiến bạn phải tự hỏi giá trị thực của các cửa sổ rất lớn đối với tác vụ suy luận phức tạp là gì.

Nguồn: Databricks
Tóm tắt ngữ cảnh là cách tiếp cận tốt nhất. Thay vì để ngữ cảnh phình mãi, bạn có thể nén thông tin tích lũy thành các bản tóm tắt ngắn hơn giữ lại chi tiết quan trọng và loại bỏ lịch sử dư thừa. Điều này giúp khi bạn chạm trần phân tâm — bạn có thể tóm tắt cuộc trò chuyện đến thời điểm hiện tại và bắt đầu mới trong khi vẫn giữ tính nhất quán.
Nhiễu loạn ngữ cảnh
Nhiễu loạn ngữ cảnh xảy ra khi bạn đưa thêm thông tin vào ngữ cảnh mà mô hình lại dùng để tạo phản hồi kém, dù thông tin đó không liên quan đến tác vụ hiện tại. Bảng xếp hạng Function-Calling của Berkeley cho thấy điều này — mọi mô hình đều hoạt động kém hơn khi được cung cấp nhiều hơn một công cụ, và đôi khi mô hình sẽ gọi các công cụ không liên quan đến tác vụ.
Vấn đề tệ hơn với mô hình nhỏ và nhiều công cụ. Một nghiên cứu gần đây phát hiện Llama 3.1 8b ở dạng lượng tử hóa thất bại trên benchmark GeoEngine khi được cung cấp tất cả 46 công cụ sẵn có, dù ngữ cảnh vẫn nằm trong giới hạn 16k. Nhưng khi các nhà nghiên cứu chỉ cung cấp 19 công cụ, mô hình hoạt động ổn.
Quản lý bộ công cụ bằng kỹ thuật RAG là giải pháp. Nghiên cứu của Tiantian Gan và Qiyao Sun cho thấy áp dụng RAG cho mô tả công cụ có thể cải thiện hiệu năng đáng kể. Bằng cách lưu mô tả công cụ trong cơ sở dữ liệu vector, bạn có thể chọn chỉ những công cụ liên quan nhất cho từng tác vụ. Nghiên cứu của họ cho thấy giữ bộ chọn công cụ dưới 30 công cụ giúp độ chính xác chọn công cụ cao gấp ba lần và prompt ngắn hơn nhiều.
Xung đột ngữ cảnh
Xung đột ngữ cảnh xảy ra khi bạn gom thông tin và công cụ trong ngữ cảnh mâu thuẫn trực tiếp với thông tin đã có. Một nghiên cứu của Microsoft và Salesforce cho thấy điều này bằng cách lấy các prompt benchmark và “chia mảnh” thông tin của chúng qua nhiều lượt hội thoại thay vì cung cấp tất cả cùng lúc. Kết quả rất lớn — trung bình giảm hiệu năng 39%, với mô hình o3 của OpenAI giảm từ 98,1 xuống 64,1.

Nguồn: Laban et. al, 2025
Vấn đề xảy ra vì khi thông tin đến theo từng giai đoạn, ngữ cảnh được lắp ghép sẽ chứa những nỗ lực trả lời sớm của mô hình trước khi có đủ thông tin. Những câu trả lời sớm sai này nằm lại trong ngữ cảnh và ảnh hưởng đến mô hình khi tạo phản hồi cuối cùng.
Cắt tỉa và chuyển tải ngữ cảnh là các biện pháp tốt nhất. Cắt tỉa ngữ cảnh nghĩa là loại bỏ thông tin lỗi thời hoặc mâu thuẫn khi có chi tiết mới. Chuyển tải ngữ cảnh, như công cụ “think” của Anthropic, cung cấp cho mô hình một không gian làm việc riêng để xử lý thông tin mà không làm lộn xộn ngữ cảnh chính. Cách ghi chú nháp này có thể cải thiện tới 54% trong các benchmark tác tử chuyên biệt bằng cách ngăn mâu thuẫn nội bộ phá hỏng suy luận.
Kết luận
Kỹ thuật ngữ cảnh đại diện cho giai đoạn tiếp theo của phát triển AI, nơi trọng tâm chuyển từ viết prompt hoàn hảo sang xây dựng các hệ thống quản lý luồng thông tin theo thời gian. Khả năng duy trì ngữ cảnh phù hợp qua nhiều lần tương tác quyết định việc AI của bạn có cảm giác thông minh hay chỉ đưa ra các phản hồi đơn lẻ tốt.
Các kỹ thuật được đề cập trong hướng dẫn này — từ hệ thống RAG đến xác thực ngữ cảnh và quản lý công cụ — đã được dùng trong các hệ thống sản xuất phục vụ hàng triệu người dùng.
Nếu bạn xây dựng thứ gì đó phức tạp hơn một trình sinh nội dung đơn giản, rất có thể bạn sẽ cần các kỹ thuật ngữ cảnh. Tin tốt là bạn có thể bắt đầu nhỏ với các triển khai RAG cơ bản và dần bổ sung bộ nhớ và quản lý công cụ tinh vi hơn khi nhu cầu tăng.
Để tìm hiểu thêm, tôi khuyến nghị các tài nguyên sau:
- Hướng dẫn Trình soạn thảo Mã Cursor AI — Tìm hiểu cách kỹ thuật ngữ cảnh vận hành trong thực tế với trợ lý mã hóa AI
- So sánh Cursor và Windsurf — Tìm hiểu khác biệt giữa Cursor và Windsurf
- Trợ lý Mã hóa AI Tốt nhất — So sánh các công cụ và cách tiếp cận quản lý ngữ cảnh của chúng
- Khóa học Retrieval Augmented Generation (RAG) với LangChain — Khóa học thực hành xây dựng hệ thống RAG
- Retrieval Augmented Generation (RAG) là gì? — Các khái niệm nền tảng cho kỹ thuật ngữ cảnh
- Hướng dẫn Agentic RAG — Kỹ thuật nâng cao cho quản lý ngữ cảnh động
- Prompt Engineering là gì? — Hiểu sự khác nhau giữa kỹ thuật prompt và kỹ thuật ngữ cảnh
- Khóa học Hệ thống Đa tác tử với LangGraph — Học cách xây dựng hệ thống đa tác tử với LangGraph
- Khóa học Nhập môn Tác tử AI — Xây dựng hệ thống sử dụng công cụ và duy trì ngữ cảnh theo thời gian
Câu hỏi thường gặp
Khi nào tôi nên bắt đầu dùng kỹ thuật ngữ cảnh thay vì chỉ dùng prompt?
Hãy bắt đầu dùng kỹ thuật ngữ cảnh khi AI của bạn cần ghi nhớ giữa các cuộc trò chuyện, làm việc với nhiều nguồn thông tin hoặc duy trì các tác vụ kéo dài. Nếu bạn xây dựng thứ gì đó phức tạp hơn một trình sinh nội dung đơn giản, rất có thể bạn sẽ cần các kỹ thuật này.
Sự khác biệt chính giữa kỹ thuật ngữ cảnh và kỹ thuật prompt là gì?
Kỹ thuật prompt tập trung vào việc viết chỉ dẫn cho các tác vụ đơn lẻ, trong khi kỹ thuật ngữ cảnh thiết kế các hệ thống quản lý luồng thông tin qua nhiều lần tương tác. Kỹ thuật ngữ cảnh xây dựng bộ nhớ và hệ thống truy xuất, còn kỹ thuật prompt tạo yêu cầu riêng lẻ.
Tôi có thể dùng cửa sổ ngữ cảnh lớn hơn thay cho kỹ thuật ngữ cảnh không?
Cửa sổ ngữ cảnh lớn hơn không giải quyết các vấn đề cốt lõi. Nghiên cứu cho thấy hiệu năng mô hình giảm quanh 32.000 token, ngay cả với cửa sổ hàng triệu token, do phân tâm và nhiễu loạn ngữ cảnh. Bạn vẫn cần các kỹ thuật như tóm tắt, cắt tỉa và chọn lọc thông tin thông minh bất kể kích thước ngữ cảnh.
Tại sao mô hình AI hoạt động kém hơn khi tôi cung cấp cho chúng nhiều công cụ hoặc thông tin hơn?
Đây được gọi là nhiễu loạn ngữ cảnh — mô hình bị xao nhãng bởi thông tin không liên quan và có thể dùng công cụ không phù hợp với tác vụ. Giải pháp là quản lý bộ công cụ: dùng kỹ thuật RAG để chọn chỉ những công cụ liên quan nhất cho từng tác vụ cụ thể, giữ số lượng dưới 30 công cụ.

Tôi là người sáng tạo nội dung về khoa học dữ liệu với hơn 2 năm kinh nghiệm và là một trong những tài khoản có lượng theo dõi lớn nhất trên Medium. Tôi thích viết các bài chuyên sâu về AI và ML với chút giọng điệu mỉa mai, vì bạn cũng phải làm gì đó để chúng bớt nhàm chán. Tôi đã xuất bản hơn 130 bài viết và một khóa học trên DataCamp, và đang ấp ủ thêm một khóa nữa. Nội dung của tôi đã tiếp cận hơn 5 triệu lượt xem, trong đó có 20 nghìn người trở thành người theo dõi trên cả Medium và LinkedIn.